Cvsup verses Portsnap

Aren Olvalde Tyr aren.tyr at gawab.com
Mon May 15 12:50:11 PDT 2006


> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20060515/26fcc737/attachment.pgp


More information about the freebsd-questions mailing list