tech-pkg archive

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

Re: Sanitising make environment in pkgsrc



On Thu, Aug 18, 2011 at 5:16 AM, Steven Drake <sbd%netbsd.org@localhost> wrote:
> On Wed, 17 Aug 2011, Greg Troxel wrote:
>> Joerg Sonnenberger <joerg%britannica.bec.de@localhost> writes:
>>
>> > On Tue, Aug 16, 2011 at 04:36:08PM -0500, Tim Zingelman wrote:
>> >> In that thread I pointed out that a common solaris boostrap passes
>> >> variables in the environment...
>> >>
>> >>     env CC=/opt/studio12/SUNWspro/bin/cc \
>> >>           SUNWSPROBASE=/opt/studio12/SUNWspro \
>> >>           ./bootstrap --abi=64
>> >>
>> >> does this patch still allow that (I had hoped to answer that question
>> >> myself by testing, but ENOTIME today.)
>> >
>> > Usage like this is exactly my concern with the wildcard scrub.
>> > It's not specific to SunPRO either -- there are a number of other
>> > environmental variables people might want to use sanely to affect the
>> > build.
>>
>> I see your point, but on the other hand one of the core doctrines of
>> pkgsrc is repeatable builds.  While this is primarily about not having
>> installed packages be picked up as implicit dependencies, I can see the
>> point of not having random environment variables in the user's
>> environment affect things either.
>>
>> Perhaps a solution is to place environment variables in mk.conf, and
>> thus control the environment?
>
> Exactly, the best way to deal with an unknown environment is to scrub it
> clean that add what's needed/wanted.  This method would be less
> problematic than removing random variable environment variables that break
> things when we become aware of them.
>
> Also what's needed/wanted (or in the second case what should be removed)
> is a vary large set of separate discussions.  As an example of what I mean
> while Tim needs SUNWSPROBASE for his setup it could cause problems on
> someone else's system, rather than debate whether to remove it from the
> environment or not, scrub the environment then Tim is free to add it to
> MAKE_ENV, CONFIGURE_ENV or PKGSRC_MAKE_ENV on his system.

That is great... as long as the documentation is all fixed as a per-requisite.

I'd answer this myself by trying it or reading the code if I was not
so busy right now, but does bootstrap use mk.conf?  at the least it
makes bootstrapping less clean to require creating the /usr/pkg/etc
(or whatever) directory and adding a mk.conf there before starting the
bootstrap.

 - Tim


Home | Main Index | Thread Index | Old Index