Subject: Re: ${ENV} vs. ${SETENV}
To: J Chapman Flack <flack@cs.purdue.edu>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 04/15/2005 16:55:47
[ On Sunday, April 10, 2005 at 20:17:17 (-0500), J Chapman Flack wrote: ]
> Subject: Re: ${ENV} vs. ${SETENV} 
>
> Greg A. Woods wrote:
> > I find it _extremely_ helpful to use something like the following:
> > -SETENV?=	/usr/bin/env
> > +SETENV?=	/usr/bin/env -i
> > 
> > This ensures my well-populated private environment doesn't affect any
> > build in any unexpected way (only the pkgsrc makefiles themselves pay
> 
> Wow ... that seems drastic.

"drastic"  -- hardly.

_NOT_ clearing the environment in a generic build system that drives
other build systems which are themselves inherently susceptible to
environment settings is what's drastic -- drastically error prone!

>  It isn't only pitching non-pkgsrc stuff
> in your environment ... in each individual shell command line that uses
> ${SETENV}, it's pitching *everything that isn't explicitly being added
> to the environment in that line*.  I'm surprised it hasn't given you
> headaches.

On the contrary -- it saves me many headaches; and it's worked
flawlessly for over a year now (though I'm still only caught up to
building 2004Q4 :-)

If you take the time to examine how and where ${SETENV} has been and is
being used you'll find that each occurance sets _exactly_ and _only_ the
necessary values, which means that if one sanely uses '-i' then nothing
gets into the build of the package that's not explicitly supposed to be
there.

-- 
						Greg A. Woods

H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>