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

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

 



On Friday, 04.03.2016 at 14:24, Antti Kantee wrote:
> On 04/03/16 14:06, Martin Lucina wrote:
> >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.
> 
> I wouldn't go so far as to say it breaks BSD make.  Rather, it breaks a rare
> pattern where variables containing "." (where "." follows a certain
> convention) are passed to submakes via the shell (i.e. ".export" in the
> Makefile).
> 
> >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.
> 
> There are probably enough deployments of dash with this behaviour so that we
> need in any case need to remove the use of variables containing "." coupled
> with ".export" from Makefiles.  Changing dash doesn't sound useful to me.

You're right -- I spoke too soon and thought this behaviour was a general
property of nbmake rather than our specific usage of it. Still, the
maintainers may want to note in dash documentation that sanitizing exported
variables can cause some applications depending on the non-POSIX behaviour
to fail.

--
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