Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2006 13:14:35 +0200
From:      Ulrich Spoerlein <uspoerlein@gmail.com>
To:        Jeremy Chadwick <freebsd@jdc.parodius.com>
Cc:        Sideris Michael <msid@daemons.gr>, freebsd-ports@freebsd.org
Subject:   Re: ports structure and improvement suggestions
Message-ID:  <20060509111435.GA1228@roadrunner.aventurien.local>
In-Reply-To: <20060509061026.GA14039@pentarou.parodius.com>
References:  <20060508200926.GA6005@daemons.gr> <20060509061026.GA14039@pentarou.parodius.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--vtzGhvizbBRQ85DL
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Jeremy Chadwick wrote:
> # No IPv6, and no X11
> IPV6 =3D no
> X11  =3D no
>=20
> devel/gettext {
>   EXAMPLES =3D no
>   HTMLMAN  =3D no
> }
> www/apache20 {
>   KQUEUE_SUPPORT =3D yes
> }
> www/suphp {
>   CHECKPATH =3D no
>   LOGFILE   =3D /var/log/suphp.log
> }
> net/cvsup {
>   X11 =3D yes
> }
>=20
> [snip]

You can already do this with make(1)-magic in /etc/make.conf. This is
also guaranteed to work, whereas the pkgtools.conf approach is flawed.

Example /etc/make.conf (platform specific)

=2Eif ${.CURDIR:M*/usr/ports*}
CFLAGS+=3D       -Os
WRKDIRPREFIX=3D   /vol/obj
=2Einclude "/etc/ports.conf"
=2Eendif

And my /etc/ports.conf (platform independant, meaning I share it across
several machines)

BATCH=3D          true
PACKAGE_BUILDING=3Dtrue
WITH_OPENSSL_BASE=3Dyes
PAPERSIZE=3D      a4
A4=3D             true
WITH_GHOSTSCRIPT_AFPL=3D  yes

=2Eif ${.CURDIR:M*/audio/amarok}
WITH_XINE=3D      true
#...
=2Eendif

=2Eif ${.CURDIR:M*/audio/abcde}
WITH_CDDA2WAV=3D  true
#...
=2Eendif

=2Eif ${.CURDIR:M*/databases/postgresql*}
#WITH_OPTIMIZED_CFLAGS=3D true
=2Eendif

=2Eif ${.CURDIR:M*/multimedia/*}
WITH_THEORA=3D    true
WITH_X264=3D      true
WITH_OPTIMIZED_CFLAGS=3Dtrue
WITH_XVID=3D      true
#...
=2Eendif

This allows for global options, category specific options and individual
options. It is processed early enough and doesn't care if you invoke
make install or portinstall. It will produce a correct INDEX, though
ports might be listed twice, since we have slave ports. The syntax
stinks, of course, and you still have to hunt for the Knobs yourself.
The OPTIONS stuff sucks, because it is interactive. It always reminds me
of the Windows 2000 (??) installation: wait 20 minutes, click next, wait
30 minutes, click ok, wait 40 minutes, click reboot. wtf?

Ulrich Spoerlein
--=20
 PGP Key ID: 20FEE9DD				Encrypted mail welcome!
Fingerprint: AEC9 AF5E 01AC 4EE1 8F70  6CBD E76E 2227 20FE E9DD
Which is worse: ignorance or apathy?
Don't know. Don't care.

--vtzGhvizbBRQ85DL
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEYHmb524iJyD+6d0RAm+0AJ46jgmG/OHqE2SY+wVw2zjGgy2LSwCfbK0H
hAsfnzYozmtw6YeUsl1dT5s=
=JtdE
-----END PGP SIGNATURE-----

--vtzGhvizbBRQ85DL--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060509111435.GA1228>