[nycbug-talk] Undefining a variable set in make.conf

Marc Spitzer mspitzer
Wed Aug 31 12:25:08 EDT 2005

On 8/31/05, Scott Robbins <scottro at nyc.rr.com> wrote:
> Hash: SHA1
> On Wed, Aug 31, 2005 at 10:51:42AM -0400, Marc Spitzer wrote:
> > On 8/31/05, Scott Robbins <scottro at nyc.rr.com> wrote:
> > > Hash: SHA1
> > >
> > > Hrrm, I must have not phrased this correctly.  The poster on the forums
> > > agreed, that there was no way to unset it as it stood, from the command
> > > line, and was simply suggesting a possible change to the Makefile.
> >
> > no you were clear, my issues with WITHOUT_RUBY are the same as WITH_RUBY
> >
> > 1: no way to turn it off, WITHOUT_RUBY=="no" is still defined so the
> > branch is taken.  This is generally not how I would expect things to
> > happen, I said no and no is no.
> However, (I've looked through the man pages, and I'm not clear on this,
> forgive me if it's a stupid question)
> Suppose he has WITH_RUBY defined in /etc/make.conf.  Now, the subversion
> Makefile has something like .if defined WITHOUT_RUBY blah blah.
> Can he do make -DWITHOUT_RUBY install for that one port
> (/devel/subversion) and keep it for all other ports?
> What am I missing?

the WITH_X  and WITHOUT_X method are:

1: set in a global name space, child processes inherit them, so no
fine grained control

2: the .if defined(X) is too coarse, no way to un set X so it can not
be turned off.

3: you now need to manage the interaction of 2 chunks of code
consistently across all ports.  Does without take precedence over with
and other questions also.  This needs to be done correctly or, if you
are lucky, the port will die during build.  If you are not lucky you
now have flaky code in production and the real fun begins.

It is all about managing complexity, I want fine grained control over
what is going on , VAR is specific to the port involved, and I want a
specific positive action necessary, VAR="YES", to turn something on. 
This allows me to control my system and not live at work, or groups I
help run, because weird shit is happening.  I just want things to work
quietly so I can go and do fun stuff at work or home.  Remember Ports
are supposed to be LESS work then tar balls.

"We trained very hard, but it seemed that every time we were beginning to
form into teams we would be reorganized. I was to learn later in life that
we tend to meet any new situation by reorganizing, and a wonderful method it
can be for creating the illusion of progress, while producing confusion,
inefficiency and demoralization."
-Gaius Petronius, 1st Century AD

More information about the talk mailing list