Dash commit 46d3c1a (in 0.5.8+) breaks BSD make

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Commit 46d3c1a ([VAR] Sanitise environment variable names on entry)
restricts exported environment variables actually set by dash on entry to
those reported as valid by endofname(). While this is technically correct
and matches IEEE Std 1003.1, it breaks BSD make which uses '.' as a
separator in variables exported via the environment to a sub-make.

Upstream bug report: https://github.com/rumpkernel/rumprun/issues/38

I'm not sure what the correct fix is here. While we (rumprun) could
possibly patch our version of NetBSD make to not use '.' in exported names,
this problem would continue to hit other users of BSD-derived make.

Would the dash maintainers consider replacing 46d3c1a with a fix that
performs the name validity check at "export -p" time instead? If yes, I can
try my hand at a patch.

Based on my reading of reading of Std 1003.1 section 8.1...

    "Other characters may be permitted by an implementation; applications
    shall tolerate the presence of such names."

... preserving "invalid" but exported environment variables would still be
compliant behaviour.

Martin
--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux