Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jan 2002 17:38:41 -0500
From:      Garance A Drosihn <drosih@rpi.edu>
To:        Peter Pentchev <roam@ringlet.net>, arch@FreeBSD.ORG
Cc:        audit@FreeBSD.ORG
Subject:   Re: make(1) enhancement - an 'environment processor' option
Message-ID:  <p0510101ab85fcfdc2ad0@[128.113.24.47]>
In-Reply-To: <20020106222002.E314@straylight.oblivion.bg>
References:  <20011225202925.F304@straylight.oblivion.bg> <20020106222002.E314@straylight.oblivion.bg>

next in thread | previous in thread | raw e-mail | index | archive | help
At 10:20 PM +0200 1/6/02, Peter Pentchev wrote:
>Hi,
>
>No feedback on this proposed change to make(1)? :)

I saw your earlier message, and even kept it around because I wanted
to reply to it.  The thing was, I wasn't quite sure what I wanted to
say...

Basically, I'm not comfortable with this being incorporated into make,
although I don't have a specific reason that it should not be done.  I
guess it's more of "It just doesn't seem right".

>  > Basically, what it does is remember what variables you want set
>  > for a specific directory and then hand them in the environment of
>  > any program you want to run.  This may be quite useful for ports,
>  > especially those with lots of tweakable knobs, like vpopmail or
>  > MySQL, since it won't let you miss one of those knobs the next
>  > time you rebuild the port.

In the specific case of ports, the 'portupgrade' utility includes a
way to keep track of such environment variables.  Check the sample
in /usr/local/etc/pkgtools.conf.sample if you have portupgrade
installed (and it's definitely worth installing).  There's also a
'man 5 pkgtools.conf', but it doesn't seem to say much...  Here's
an excerpt from that file:

   # MAKE_ARGS: hash
   #
   # This is a hash of ports glob => arguments mapping.  portupgrade(1)
   # and portinstall(1) look it up to pick command line arguments to
   # pass to make(1).  You can use wildcards ("ports glob").  If a
   # port/package matches multiple entries, all the arguments are
   # joined using the space as separator.
   #
   # cf. -m/--make-args of portupgrade(1), ports_glob(1)
   #
   # e.g.:
   #   MAKE_ARGS = {
   #     'databases/mysql323-*' => 'WITH_CHARSET=ujis',
   #   }


This doesn't help for the more general case of "any directory", but
the ports collection itself seems to be covered pretty well by this.
Note that you could also create "extra categories" of ports, and
put your own programs in those categories, and have them covered
that way...    (okay, that's not a perfect solution, but it would
work for some things)

portupgrade is a very nice package...  :-)

-- 
Garance Alistair Drosehn            =   gad@eclipse.acs.rpi.edu
Senior Systems Programmer           or  gad@freebsd.org
Rensselaer Polytechnic Institute    or  drosih@rpi.edu

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p0510101ab85fcfdc2ad0>