Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2012 11:42:08 +0100
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        Andrea Venturoli <ml@netfence.it>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Port system "problems"
Message-ID:  <4FE99200.7050107@infracaninophile.co.uk>
In-Reply-To: <4FE9817C.7020905@netfence.it>
References:  <4FE8E4A4.9070507@gmail.com> <20120626065732.GH41054@ithaqua.etoilebsd.net> <20120626092645.Horde.HytQbVNNcXdP6WQ1aMtjoMA@webmail.df.eu> <4FE96BA0.6040005@infracaninophile.co.uk> <4FE97008.2060501@netfence.it> <4FE97AE1.9080109@infracaninophile.co.uk> <4FE9817C.7020905@netfence.it>

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

On 26/06/2012 10:31, Andrea Venturoli wrote:
> On 06/26/12 11:03, Matthew Seaman wrote:
>=20
>> Yes, it will multiply the number of ports.  By three is about right,
>> given that most ports will only have port-docs and port-examples
>> sub-ports.  However, first of all, you are assuming that the effort
>> required to install each of those sub-ports is the same as it is to
>> install a single port now.  That is simply not the case.
>=20
> Not exactly.
> I still didn't get the details, so I might speak nonsense, however...
>=20
> The "effort" will be 3x processing time for portupgrade (or whatever) t=
o
> update the package database 3 times as much as before.
> I remember the big X.org split up: going from a few ports to tens of
> them slowed down an installation/upgrade process by an order of
> magnitude (or even more).

The X.org split up is an extreme case -- it went from three or four
ports to several hundred ports as I recall.  Yes, that made a big
difference, because they were all individual ports and all of the
processing steps required to install a port had to be repeated for each
of them.

Sub-ports should be much more efficient, as there's a lot of the work
involved in installing which is a one-time thing when installing port
plus some collection of sub-ports.

Also remember that this whole change is driven in part by the switch to
pkgng, and that uses a completely different package database system to
the current ports.  I can't say for certain that it will be a lot
faster, because as far as I know, no one has done a properly designed
study of the difference in performance.  However anecdotal evidence is
that it does seem quite a lot faster.

>> A typical example would involve client-server apps -- so mysqlNN-serve=
r
>> becomes a sub-port of mysqlNN-client.  You get to check a box saying
>> 'install the server as well as the client' when you go to install
>> mysqlNN.  Similarly all those php5-XYZ modules become sub-ports of
>> lang/php5.
>=20
> We had this in the past: a php-extension port with options to include
> each extension or leave it out.
> Each time we needed to add a missing extension, we needed to reconfigur=
e
> this port and rebuild all.
> Now we have each extension in its own port and I think it's much better=
=2E
> I just hope we don't get back to that.
>=20
>=20
>=20
> What I anticipate will often happen is installing some port, finding ou=
t
> that some part is missing, install the missing part, repeat that severa=
l
> times.
> I just hope I'm wrong (and again, it is at all possible that I am wrong=

> here).

Yes, you raise a valid point.  Should you have to compile and maybe
reinstall all of php5  just to add some extra modules?  Clearly not.

This isn't going to be a problem for people that use binary packages,
because they can just download and install the extra module from the
standard pkg repositories on the net.

What about people that want to compile their own?  They certainly should
not be relegated to second-class citizens even in this bright new dawn
of pkgng.  Well, part of the answer is under development:

http://wiki.freebsd.org/ports/StageDir

With this, you can create packages without having to install them.  You
can equally well create sub-packages without having to install them.
So, you might compile all of the php5 sub-packages, but only install
some of them.  The rest you keep stashed away somewhere, so that when
you suddenly discover a pressing need to add php5-shiny to your existing
collection of php-related bits, it's just a matter of 'pkg add php5-shiny=
'.

	Cheers,

	Matthew

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




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

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

iEYEARECAAYFAk/pkgcACgkQ8Mjk52CukIzySgCgjPePreiFjAospfBfnCOloHnk
CfYAn2vRxJpogmti/L76IO9ncMhKoSYB
=yKaP
-----END PGP SIGNATURE-----

--------------enigD3C4B492E470DC398508AB17--



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