OPTIONSng: Overide options in /var/db/ports/*/options ?

Gyrd Thane Lange gyrd-se at thanelange.no
Sun Mar 17 21:27:23 UTC 2013


On Sun, 17 Mar 2013 19:49:27 +0100
Baptiste Daroussin <bapt at FreeBSD.org> wrote:

> On Sun, Mar 17, 2013 at 07:27:56PM +0100, Marco Steinbach wrote:
> > Chris Rees wrote on 17.03.2013 17:15:
> > > On 17 Mar 2013 15:45, "Marco Steinbach"
> > > <coco at executive-computing.de> wrote:
> > >> Matthew Seaman wrote on 17.03.2013 14:49:
> > >>
> > >>> On 17/03/2013 12:16, Marco Steinbach wrote:
> > >>>> Hi,
> > >>>>
> > >>>> is there a way to overide options stored
> > >>>> in /var/db/ports/*/options, basically getting back the
> > >>>> pre-OPTIONSng behaviour of being able to overide port options
> > >>>> in /etc/make.conf ?
> > >>>>
> > >>>> Before OPTIONSng was introduced, I was able to specify options
> > >>>> in /etc/make.conf (WITHOUT_X11, WITHOUT_CUPS, WITH_MAILHEAD,
> > >>>> WITH_SSL, WITH_MYSQL, WITH_DOVECOT, ...), which then overode
> > >>>> any occurency of that option in any port (or just specific
> > >>>> ones, by e.g. checking .CURDIR), regardless of the setting the
> > >>>> ports option file contained.
> > >>>
> > >>> Find the uniquename of the port[*] (by 'make -V UNIQUENAME')
> > >>> then in /etc/make.conf
> > >>>
> > >>> uniquename_SET= FOO BAR BAZ
> > >>> uniquename_UNSET= BLURFL
> > >>>
> > >>> will override the default settings in that port's Makefile for
> > >>> the FOO, BAR, BAZ and BLURFL options.
> > >>>
> > >>> Note: this won't override any settings you make from an options
> > >>> dialog. Might be a good idea to 'make rmconfig' if you only
> > >>> want to rely on /etc/make.conf
> > >>
> > >> [...]
> > >>
> > >> Exactly my point.  Currently, with OPTIONSng there seems to be
> > >> no way to
> > > overide anything in /var/db/ports/*/options.
> > >> I find it irritating, that I no longer can be sure about options
> > >> in
> > > /etc/make.conf.  I have to check/reconfigure to make sure.
> > >> As much as I like OPTIONSng (especially in combination with
> > > dialog4ports), this is one thing I'd very much like OPTIONSng to
> > > relearn: Enforce options regardless of what's in a ports options
> > > file.
> > > 
> > > No, that's a bad idea.  It's more confusing to have options not
> > > being set that are checked in the OPTIONS dialog.
> > > 
> > > Setting those in make.conf sets defaults, and allows them to be
> > > overridden in individual ports.
> > 
> > Let's say I never want CUPS, X11, EXAMPLES and DOCS, regardless of
> > what I willingly or accidentially configured in an OPTIONS dialog
> > (or is defaulted to in a ports Makefile), either because I didn't
> > understand the dependancy of a choice, I fat-fingered something or
> > someone helps me configuring something, and wants to make sure I
> > get it right:
> > 
> > OPTIONS_UNSET_FORCE= CUPS X11 EXAMPLES DOCS
> > 
> > Same goes for the complementary case of having options set
> > forcibly, either system-wide or per port:
> > 
> > particularport_SET_FORCE= EXAMPLES DOCS
> > 
> > I'd set these in /etc/make.conf, and be done for good.
> > 
> > I have a local patch for that kind of behaviour, but wanted to
> > check for possible alternatives besides the beaten path, before
> > bothering bapt at .
> > 
> 
> The thing is half of people wants the /var/db/*/options to be the
> last word, the other half want the behaviour you are exposing, so
> getting a final word that will satisfy everyone is hard.
> 
> I personnally really dislike /var/db/port/*/options and the dialog :).
> 
> The new option framework has been design to:
> 1/ respect the same behaviour has it used to be
> before: /var/db/port/*/options has the final word.
> 
> 2/ provide the ability to users to be able to tune the whole system
> in a consistent way.
> 
> 3/ provide a way to totally disable the dialog thing (NO_DIALOG) so
> that you can't save a option file by mistake.
> 
> What we can probably do in the end is provide a new macro to totally
> in all cases ignore /var/db/port/*/options.
> 
> Would that satisfy your needs?

I cannot speak for the OP, but it would not solve it for me. I mostly
use the */options dialogue for setting secondary settings, but my
important settings are specified in make.conf. I don't
want to loose either.

I would rather have a mechanism where the port dialogue is brought up
automatically if there is a conflict between the settings in make.conf
and those stored in */options. The dialogue should then present the
stored settings, with the make.conf settings applied latest.

This way my settings in make.conf will no longer be silently ignored.

Best regards,
Gyrd ^_^

> 
> regards,
> Bapt


More information about the freebsd-ports mailing list