Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Apr 2016 14:55:05 +0100
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-pkgbase@freebsd.org
Subject:   Re: [CFT] packaging the base system with pkg(8)
Message-ID:  <571638B9.6020904@FreeBSD.org>
In-Reply-To: <E35E67E4-2088-46D6-A4BE-173475AF4C9E@FreeBSD.org>
References:  <20160302235429.GD75641@FreeBSD.org> <57152CE5.5050500@FreeBSD.org> <9D4B9C8B-41D7-42BC-B436-D23EFFF60261@ixsystems.com> <20160418191425.GW1554@FreeBSD.org> <571533B8.6090109@freebsd.org> <20160418194010.GX1554@FreeBSD.org> <57153E80.4080800@FreeBSD.org> <571551AB.4070203@freebsd.org> <5715E1E9.8060507@freebsd.org> <E35E67E4-2088-46D6-A4BE-173475AF4C9E@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--xvDNbrOug7QtN1jE6DMjWguGMEARtNtat
Content-Type: multipart/mixed; boundary="gK3hsJdxn4HHx6pI73L7VsEcfCcHUFEVn"
From: Matthew Seaman <matthew@FreeBSD.org>
To: freebsd-pkgbase@freebsd.org
Message-ID: <571638B9.6020904@FreeBSD.org>
Subject: Re: [CFT] packaging the base system with pkg(8)
References: <20160302235429.GD75641@FreeBSD.org>
 <57152CE5.5050500@FreeBSD.org>
 <9D4B9C8B-41D7-42BC-B436-D23EFFF60261@ixsystems.com>
 <20160418191425.GW1554@FreeBSD.org> <571533B8.6090109@freebsd.org>
 <20160418194010.GX1554@FreeBSD.org> <57153E80.4080800@FreeBSD.org>
 <571551AB.4070203@freebsd.org> <5715E1E9.8060507@freebsd.org>
 <E35E67E4-2088-46D6-A4BE-173475AF4C9E@FreeBSD.org>
In-Reply-To: <E35E67E4-2088-46D6-A4BE-173475AF4C9E@FreeBSD.org>

--gK3hsJdxn4HHx6pI73L7VsEcfCcHUFEVn
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 2016/04/19 08:54, David Chisnall wrote:
> The big advantage of going with small packages initially, however, is
> that it will allow us to get some data on what the correct groupings
> are.  If we have large packages, then it=E2=80=99s very hard to tell wh=
ich
> subsets of the packages people want.  That=E2=80=99s exactly the situat=
ion
> that we=E2=80=99re in now: we know some people don=E2=80=99t want docs =
or games, but
> that=E2=80=99s about all that we know.  It=E2=80=99s easy to move to a =
model where we
> have *fewer* packages in the future, but it=E2=80=99s harder to split t=
hem.
> That also applies to dependencies.  If I know that a port depends on
> the shell, then it=E2=80=99s easy to update it from depending on a sh p=
ackage
> to depending on a core system utilities package automatically, but
> it=E2=80=99s very hard to do an automatic update in the other direction=
=2E

Exactly.  Bapt's talks[+] about the design decisions behind how base was
divided up into packages explain very clearly why the situation now is
as it is.  Basically *any* way of dividing up the base system into
packages would raise the hackles of some subset of the user base.  So he
chose to create a large number of small packages for maximum flexibility
and also supply a range of different meta-packages allowing installation
of various useful package sets as a simple operation.  The current base
package builds don't actually include those meta-packages yet, so it's
impossible to say right now how that will work out.

Yes, this is the first attempt at creating a package hierarchy for base,
and it's going to be buggy.  The way things are set up should mean that
those bugs are only annoyances, and not show stoppers.

Complaining purely about the /number/ of packages the base is divided
into is not productive: certainly there are some packages that could be
merged or otherwise eliminated, but until people come up with concrete
proposals about the details of doing that, little progress is going to
be made.

Yes, I agree that the way pkg(8) displays the package data certainly
could be improved.  The base packaging setup actually implements a idea
we have been talking about with reference to the ports tree: that is
'sub-packages.'[*]  What's missing is a neat way of displaying and
handling a package that consists of a collection of sub-packages; at the
moment they're all shown as completely independent packages, which works
as far as the mechanics of installing and maintaining your server but
doesn't necessarily give the best user experience.

	Cheers,

	Matthew

[+] https://youtu.be/Br6izhH5P1I?list=3DPLWW0CjV-TafY0NqFDvD4k31CtnX-CGn8=
f

[*] So that one port could compile into several different packages,
including separate pkg blobs for docs, examples, shared libraries,
debugging symbols, C/C++ header files, various different extras enabled
by options settings and (not least) the actual program binaries or
scripts.  By default you'ld get all of the above simply by installing
the top-level package -- which would result in the same filesystem
content as when using the existing monolithic packages.  However you
could install or delete any of those sub-packages separately as
required.  Means, for instance, you could install multiple different ABI
versions of a shared library simultaneously, something you can't do
nicely with either ports or packages today unless there's some special
hack to allow it.




--gK3hsJdxn4HHx6pI73L7VsEcfCcHUFEVn--

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

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQJ8BAEBCgBmBQJXFji/XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxOUYxNTRFQ0JGMTEyRTUwNTQ0RTNGMzAw
MDUxM0YxMEUwQTlFNEU3AAoJEABRPxDgqeTnfMoQAJqMApO6l+DvwYDmBMADsWbL
mSJhVY7/d/p0t7E3laKIlBa7AWxqeNy7h/0PwbK/s3h3H0YdbvmIj3PCM1oAQyBW
nqopo4j4KA5/0PwptQ8pjs/Hv2P0B9Oj8htWKgHsfuRLO8h7L3dBNF/tp/lhCzCf
vyIiq0AM7H1eJVcxpQYnEfBoPrt5H/518HSGUUgBqL2HvYGnojF/veg3ywqxZ/bg
pjay2S0nGeoxI3xDIphOICXqIIDp4mljoq0e4TJT0E6Fr6MJCh2J95fMe3AwjjFR
7Rr5DZdrvvRK1TVYPPd/yHYN8bB00pCGWG005zmqZcKhwrkkxDG66gkbr6hJ5cc1
s13yXhV3BEusKDtNMUFMTiO40UL4b/VM/RK8a+PDN4V8KqbqT3gCkYW4oGccpeLw
uLsXqrMlyC320Lkoz0eOIwtTU0NmrnjN3AGkbNa2jFUXzqO4KNj/FRmhoKlsffya
GIpzd3L+jQSQ0aKYU+PADFM7MS8c+D4vWbx+H0nwoO9IjPXSwFJ0yQciD2ndzB2g
punL27HC98Ss5f+1uVTATiu1H2eZUt2RtYEGgl6YPDBDt375eQS3dOdDY3ESNH44
Cfrg7iXmtArmmvp0YYli0gu2twrGiLdQR7mcY5vyIusWfPIvOcoOuMOcMitPacwc
3HglCT13EVwAy/6DanjF
=Lnux
-----END PGP SIGNATURE-----

--xvDNbrOug7QtN1jE6DMjWguGMEARtNtat--



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