Subject: Re: ${ENV} vs. ${SETENV}
To: None <tech-pkg@NetBSD.org>
From: J Chapman Flack <flack@cs.purdue.edu>
List: tech-pkg
Date: 04/08/2005 12:55:23
> Roland Illig wrote:
> > I wonder why the variable for the command set(1) is called SETENV 
> > instead of ENV (see mk/platform/*.mk for definitions). Is there any 

I'm still wondering just why SETENV is set to anything at all.  Why do we
say   env FOO=BAR command args    when   FOO=BAR command args    does the
same thing, without an extra exec()?

Even the Rationale section for env(1) in SUSv3 acknowledges that the only
new functionality provided by env is (a) to print the environment, and
(b) to *replace* the environment (clean slate, -i), neither of which is what
${SETENV} gets used for in pkgsrc.  I assume there's a perfectly clear
explanation why it's used that way in pkgsrc, and it just hasn't hit me; can
someone explain?

-Chap