From owner-freebsd-arch Mon Jan 7 14:38:59 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mail.rpi.edu (mail.rpi.edu [128.113.22.40]) by hub.freebsd.org (Postfix) with ESMTP id 6A53D37B405; Mon, 7 Jan 2002 14:38:50 -0800 (PST) Received: from [128.113.24.47] (gilead.acs.rpi.edu [128.113.24.47]) by mail.rpi.edu (8.11.3/8.11.3) with ESMTP id g07Mcgt72460; Mon, 7 Jan 2002 17:38:43 -0500 Mime-Version: 1.0 X-Sender: drosih@mail.rpi.edu Message-Id: In-Reply-To: <20020106222002.E314@straylight.oblivion.bg> References: <20011225202925.F304@straylight.oblivion.bg> <20020106222002.E314@straylight.oblivion.bg> Date: Mon, 7 Jan 2002 17:38:41 -0500 To: Peter Pentchev , arch@FreeBSD.ORG From: Garance A Drosihn Subject: Re: make(1) enhancement - an 'environment processor' option Cc: audit@FreeBSD.ORG Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-Scanned-By: MIMEDefang 2.1 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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