tech-pkg archive

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

Re: PKGSRC_SETENV?= ${SETENV} -i



  Hello,

Taylor R Campbell <campbell+netbsd-tech-pkg%mumble.net@localhost> writes:

> I committed a change to make PKGSRC_SETENV be `env -i' by default.
> This should fix the build breakage of security/openssl in tool
> dependencies that has been broken for far too long (sorry, folks --
> entirely my fault), but it may break various other parts of the world,
> so please let me know if I have broken anything -- or, more likely,
> exposed latent bugs -- by doing this.

I think that this is very bad idea.

First, this breaks a lot more than it fixes. PKGSRC_SETENV is used in
more places than where we want to have "extra" clear environment.
In particular, in fetch and extract logic. The latter breaks, for instance,
installations of all pkgsrc users who use HOME or other environment variables
to control location of DISTDIR and PACKAGES. There exist other cases for
users who may not need empty environment during building stages.

Second, pkgsrc sanitises environment already, e.g. HOME. Note that
it is replaced where it is appropriate rather than everywhere.
Thus this change to make environment "extra" clear introduces big
redesign, in my opinion. In this case we could just request builder to
work in clear environment. Virtual machines are dirt cheap in Cloud Age.

As I understand it, this change is needed in quite few niche cases,
few extra-sensitive packages (probably) and cross-building.
In both cases only a number of variables needs to be reset during limited
number of stages.

I suggest to revert this change and fix it properly either by resetting
environment in stages where it may be really wanted or better by resetting
selected variables like TARGET_ARCH and, perhaps, others used by
GNU configure to control (cross-)compilation.


-- 
BECHA...
   CKOPO CE3OH...



Home | Main Index | Thread Index | Old Index