2012/06/05

New options framework is in, what next?

The new options framework has been committed one week ago, I would have expecting things to have been smoother but lots of fixes has been needed to have it correctly working.

In one week everything at least every major issues reported has been fixed, and now everything is working again as expected (if not please report it to me asap so I can fix it)

So from a maintainer point of view what does it brings:

From a port developer point of view:

From a user perspective:

How to enable/disable an options? simple in make.conf:

OPTIONS_SET= BLA # enable BLA for the whole ports tree
OPTIONS_UNSET=	BLA # disable BLA for the whole ports tree
foo_SET= BLA # enable BLA just for foo
foo_UNSET= BLA # diable BLA just for foo

the user settings have an order or priority:

Note that you can disable this automatic make config by adding NO_DIALOG to your /etc/make.conf.

All of this means that ports-mgmt/portconf is not needed anymore for a centalisation of your configurations.

Short term goal: to avoid having the ports tree infrastructure keeping for ever old code like it was the case in the past for other manjor improvements, please update your ports to the newoption framework as soon as possible.

Long term goal:

The options framework was an important step in the cleanup of the ports infrastructure, next step in my concern will be to provide stage directory support aka: a ports will install everything in a stage directory and sync the files following the plist to the system or directly create the package out of this stage directory. Every sane package building system are using that kind of thing but the FreeBSD ports this is necessary as it also open the way to tons of new possibilities. Stay tune, this is coming soon!

Bryan Drewery wrote on 2012/06/05 :

Great work. Thank you!


Hon Yu Lawrence Cheung wrote on 2012/08/17 :

Hello, how to set multiple KNOBS in /etc/make.conf ?
May I set multiple KNOBS within a line like OPTIONS_SET=X11 GNOME GTK2 ?
If I set multiple KNOBS in different line in /etc/make.conf,
it should be look like:
OPTIONS_SET=X11
OPTIONS_SET=GNOME
OPTIONS_SET=GTK2

or look like...
OPTIONS_SET=X11
OPTIONS_SET+=GNOME
OPTIONS_SET+=GTK2

or look like ...
OPTIONS_SET=X11
OPTIONS_SET=$OPTIONS_SET GNOME
OPTIONS_SET=$OPTIONS_SET GTK2


Name :
URL (optional) :
Write here: "ETOOMUCHSPAM"
Comments :