Date: Mon, 15 May 2006 20:49:19 +0100 From: Aren Olvalde Tyr <aren.tyr@gawab.com> To: freebsd-questions@freebsd.org Subject: Re: Cvsup verses Portsnap Message-ID: <200605152049.52089.aren.tyr@gawab.com> In-Reply-To: <12AAD6CC50A25841834F43955F39B66E04464E53@qgaes001.conway.prod.con-way.com> References: <12AAD6CC50A25841834F43955F39B66E04464E53@qgaes001.conway.prod.con-way.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart13503498.Bi0Zbb8IhG
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
> 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=3Dno|
> #java/jdk14|-DMINIMAL|
> #textproc/libxml2|THREADS=3Doff SCHEMA=3Don MEM_DEBUG=3Doff XMLLINT_HIST=
=3Doff
> THREAD_ALLOC=3Doff|
> #
> #
> ##
> ##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=20
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 sti=
ll=20
have to manually poke around in the appropriate Makefile[s] to determine wh=
at=20
(if any) knobs you want to set in the first place. The general concept was=
=20
discussed on one of the other lists (freebsd-ports I think), but basically =
it=20
consisted of having a tool that would generate a set of dynamically created=
=20
configuration files that list _all_ available knobs for all ports and make =
it=20
very easy to set/unset them by simply editing the appropriate config file.=
=20
When you update your ports tree, there would be a way to get the tool to=20
dynamically update (whilst preserving your settings where they are still=20
applicable) all the configuration files to reflect any changes.
I want a tool that will very easily allow me to see what knobs are availabl=
e=20
for many different ports, without having to manually grep around in the=20
Makefiles.
So, for example, you might have a master configuration file:
# ports.master.conf
# Global ports configuration file
# Define global build options:
all {
=A0=A0=A0=A0=A0=A0=A0=A0IPVG =3D no
=A0=A0=A0=A0=A0=A0=A0=A0X11 =3D no
}
accessibility {
=A0=A0=A0=A0=A0=A0=A0=A0file->ports.accessibility.conf
}
graphics {
=A0=A0=A0=A0=A0=A0=A0=A0file->ports.graphics.conf
}
foobar {
=A0=A0=A0=A0=A0=A0=A0=A0file->ports.foo.conf
}
Then, under the particular port category config file - say=20
ports.graphics.conf - you would have the configuration knobs for all those=
=20
ports in that category.
<snip>
gimp {
WITH_DEBUG =3D no =20
WITH_PYTHON =3D no
WITHOUT_PRINT =3D no
WITH_MP =3D no
WITH_HTML_HELP_BROWSER =3D yes
GNOME_ENABLED =3D no
}
<snip>=20
Selecting a knob then becomes as simple as setting the knob =3D yes in the=
=20
config file. You would then simply use the tool to install the port (it wou=
ld=20
probably call another tool, such as portupgrade or portmaster to actually d=
o=20
the install), and it would automagically set the appropriate -DKNOB=20
settings .
My intention is to write such a tool entirely in /bin/sh so that no extra=20
dependencies are required.
I'm still currently deciding how best to design it, but I'm inclined toward=
s=20
integrating it with portmaster since that it a very nice well designed sh=20
tool for port management tasks.
So far I've only just started, at the moment it just generates a basic conf=
ig=20
file.
And if it turns out that portmanager can do something similar to the above,=
I=20
will probably still create the tool as an interesting shell programming=20
exercise :)
=20
Aren.
--nextPart13503498.Bi0Zbb8IhG
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD4DBQBEaNtgoWGxb6IQ4B4RAg+8AJjIaWXMwWfbDNAjmToG8W0mYD2CAJ46P8TJ
GvjQnLoEZ6IDDVqQeZ1GaA==
=TzOc
-----END PGP SIGNATURE-----
--nextPart13503498.Bi0Zbb8IhG--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605152049.52089.aren.tyr>
