[issue1337] HEAD can't build 2.2-RELEASE

Thomas Nikolajsen (via DragonFly issue tracker) sinknull at crater.dragonflybsd.org
Thu Apr 16 06:39:10 PDT 2009

Thomas Nikolajsen <thomas.nikolajsen at mail.dk> added the comment:

On HEAD building 2.2-RELEASE with your patch applied doesn't fail.

So I guess that it works as expected (new env(1) implementation,
i.e. what is in HEAD, and also what patch results in,
does work as expected, both with old end new setenv(3));
i.e. no other place in build(7) use difference in old and new setenv(3).

I do feel it a little backwards to change old source to get it build on HEAD;
it will also only solve problem in revisions where change is made,
e.g. 2.2-RELEASE and 2.0-RELEASE, as you suggest;
but if this is best solution, lets go ahead.

I'm not sure which guarantees we have on building old DragonFly releases
on newer system, but it sure is a nice feature. Is it documented some place?

Re. multiple '=' in env(1) assignment: SUSv3 setenv(3) says that variable name
isn't allowed to contain '='. So your test below mixing new env(3) with old
setenv(3) shows that correct assignment is made (to foo).
Apart from that it seems like printenv(1) bug that variable name with '='
doesn't result in error (please try 'env foo=bar=lala=123 printenv').


Re. difference in old and new setenv(3): man page for old setenv(3):
. .
For compatibility with differing environment conventions,
the given arguments
. Ar name
. Ar value
may be appended and prepended,
with an equal sign
. Dq Li \&= .
. .

DragonFly issue tracker <bugs at lists.dragonflybsd.org>

More information about the Bugs mailing list