Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Dec 2008 18:05:50 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Tom Worster <fsb@thefsb.org>
Cc:        Paul Schmehl <pauls@utdallas.edu>, Steve Bertrand <steve@ibctech.ca>, freebsd-questions@freebsd.org, Mel <fbsd.questions@rachie.is-a-geek.net>
Subject:   Re: lang/php5 port
Message-ID:  <49493F7E.7050508@infracaninophile.co.uk>
In-Reply-To: <C56E920E.6B91%fsb@thefsb.org>
References:  <C56E920E.6B91%fsb@thefsb.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig22DD889C6B5337B45A1B36EC
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Tom Worster wrote:

> i'm certainly not smart enough to know what might be a better way to de=
sign
> ports like php. but one thing seems odd to me. i ended up with dozens o=
f
> ports installed that appeared to use nothing but the same php-5.2.8.tar=
=2Ebz2
> distfile. relative to what i'm used to with php (i.e. manual configure,=

> compile, install) this seems a bit untidy and i'm nervous what it might=
 mean
> for maintenance.

Absolutely not.  Don't be confused that the various php5-foo ports all us=
e
the same distfile: it's a big lump of code, and the individual modules se=
lectively
compile bits of it.  Don't be perturbed that you have a large number of p=
orts
installed -- after all a port is ultimately just a set of files treated t=
ogether
as a block. This just means you're getting finer grained control over wha=
t you've
got installed on your machine.

No -- the current design of the way PHP is dealt with in ports is brillia=
nt.

Consider the alternative -- in fact the way it used to be done.  As the
maintainer of the port of a PHP application I need to ensure certain
functionality is compiled into PHP for that application to work.  Unless =
the functionality I need happens to be a strict subset of what is provide=
d by
default, I have to create and maintain slave ports of php4 and php5 with =
the appropriate configuration flags.  Which is a PITA.  Now, ask yourself=
 what
happens if I want to install two different PHP applications simultaneousl=
y?
OK, now we need another set of PHP slave ports to support that combinatio=
n.
Before you know it, the ports tree is buried in a combinatorial explosion=
 of
different PHP slave ports all with slightly different combinations of opt=
ions.
No one understands quite what they really should be installing in any par=
ticular circumstance.  Because the ports are now too difficult to use, st=
andard advice
on mailing lists is 'compile and install by hand.'  Oh, the embarrassment=
!

Compare this to the system we have now.  PHP application depends on the f=
oo,
bar and baz modules.   php5-foo and php5-bar are already installed, so no=
w
we just get php5-baz installed automatically to fulfil the dependencies a=
s a
routine effect of installing the app.  Now add yet another app that depen=
ds on
baz and quux.  php5-baz is already installed, so just the php5-quux modul=
e is
installed as a dependency.  Everyone is happy.

=46rom the port maintainer's point of view, the setup is particularly swe=
et too.
At a minimum to declare that your port uses PHP and needs modules foo, ba=
r and
baz, all you need to do is add a line:

   USE_PHP =3D	foo bar baz

to the port's Makefile.   In a lot of cases, that really is /all/ you hav=
e to
do.  Even the more complicated stuff with OPTIONS dialogues or that use
different module sets for php4 vs. php5 are only slightly harder to deal =
with.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW


--------------enig22DD889C6B5337B45A1B36EC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEAREIAAYFAklJP4UACgkQ8Mjk52CukIz+cACfRjzln2L3cLXjwOb5znJh1P9S
tJ8AoIh6Les6quSD7mUOihrOFhHhhSHQ
=zqy1
-----END PGP SIGNATURE-----

--------------enig22DD889C6B5337B45A1B36EC--



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