Skip site navigation (1)Skip section navigation (2)
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>