Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Aug 2003 01:47:14 +0200
From:      Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
To:        Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Port WITH_* options and updates/portupgrade
Message-ID:  <m33cfzj18d.fsf@merlin.emma.line.org>
In-Reply-To: <20030817180804.GA14907@unsane.de> (Oliver Braun's message of "Sun, 17 Aug 2003 20:08:04 %2B0200")
References:  <m3bruomaxq.fsf@merlin.emma.line.org> <20030817180804.GA14907@unsane.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Oliver Braun <obraun@unsane.org> writes:

> Take a look at the MAKE_ARGS hash in $PREFIX/etc/pkgtools.conf.
>
> You can use things like
>
>     MAKE_ARGS['mail/postfix']='BATCH=yes POSTFIX_OPTIONS=\"SASL2\"'
>
> there.

Michael Edenfield <kutulu@kutulu.org> writes:

> Anything that you can pass on the make command line you can put into 
> /usr/local/etc/pkgtools.conf.  This is what I have for postfix to 
> always build with DB3:
>
>   MAKE_ARGS = {
>     'mail/postfix' => 'BATCH=1 POSTFIX_OPTIONS=DB3',
>   }

[...]

> The downside is that you need to remember to always use the pkgtools 
> like portupgrade.  It's also easy to forget to add new ports when you 
> need them, but eventually it becomes second nature.

And that's exactly the problem: the "solution" is local to the tool,
rather than global for the ports system.

I have no implementation ideas yet, but let's assume the system is
called "portsconfig". The functionality I'd like to see is:

a. in batch mode, portsconfig will retrieve the "last time" settings
    and, lacking these, resort to the port's defaults; regardless of the
    way the port is built (manually vs. via portupgrade).

b. in interactive (non-batch mode), portsconfig will take care of the
   dialogue.

c. The port just passes in tuples (description, option) and its own name
   and portsconfig takes care of presenting the dialog or retrieving the
   data.

d. data is persistent until deleted (so each option will also have an
   option to counter it, so that the system remembers WITHOUT_TDB so I
   can get rid of an earlier WITH_TDB.) /var/db/pkgoptions?

e. information is recorded in packages built so that portupgrade on a
   port that was installed by pkg_add -r gets the same options, without
   the user editing pkgtools.conf or looking up anything. (+OPTIONS
   file?)

I wonder if there's much to it implementation-wise. Essentially, ports
would have to standardize how they query, store, retrieve their A4=yes,
SASL2, WITH_TDB, options, and if it saves some work, port maintainers
will go for it. The user will also profit from a more consistent ports
configuration.

Listing the port configuration variables in another variable, or
automatically extracting them if they have a standardized name format,
might work. make -V will be one of our friends.

-- 
Matthias Andree



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