> Portmanager already has this I believe. You can add config options to > the portmanager config file and it will use them when building things. > For example: > > ##################### > # custom settings # > # remove "#" to use # > ##################### > #textproc/docproj|JADETEX=no| > #java/jdk14|-DMINIMAL| > #textproc/libxml2|THREADS=off SCHEMA=on MEM_DEBUG=off XMLLINT_HIST=off > THREAD_ALLOC=off| > # > # > ## > ##do not let portmanager update the following ports > #IGNORE|editors/openoffice-1.1| > #IGNORE|java/jdk14|
But does it dynamically generate an editable list of all available configuration knobs for all ports that can be set? If it doesn't, it doesn't have what I am ideally looking for, since you still have to manually poke around in the appropriate Makefile[s] to determine what (if any) knobs you want to set in the first place. The general concept was discussed on one of the other lists (freebsd-ports I think), but basically it consisted of having a tool that would generate a set of dynamically created configuration files that list _all_ available knobs for all ports and make it very easy to set/unset them by simply editing the appropriate config file. When you update your ports tree, there would be a way to get the tool to dynamically update (whilst preserving your settings where they are still applicable) all the configuration files to reflect any changes. I want a tool that will very easily allow me to see what knobs are available for many different ports, without having to manually grep around in the Makefiles. So, for example, you might have a master configuration file: # ports.master.conf # Global ports configuration file # Define global build options: all { IPVG = no X11 = no } accessibility { file->ports.accessibility.conf } graphics { file->ports.graphics.conf } foobar { file->ports.foo.conf } Then, under the particular port category config file - say ports.graphics.conf - you would have the configuration knobs for all those ports in that category. <snip> gimp { WITH_DEBUG = no WITH_PYTHON = no WITHOUT_PRINT = no WITH_MP = no WITH_HTML_HELP_BROWSER = yes GNOME_ENABLED = no } <snip> Selecting a knob then becomes as simple as setting the knob = yes in the config file. You would then simply use the tool to install the port (it would probably call another tool, such as portupgrade or portmaster to actually do the install), and it would automagically set the appropriate -DKNOB settings . My intention is to write such a tool entirely in /bin/sh so that no extra dependencies are required. I'm still currently deciding how best to design it, but I'm inclined towards integrating it with portmaster since that it a very nice well designed sh tool for port management tasks. So far I've only just started, at the moment it just generates a basic config file. And if it turns out that portmanager can do something similar to the above, I will probably still create the tool as an interesting shell programming exercise :) Aren.
pgp0hiefY7X11.pgp
Description: PGP signature