On Mon, 9 Dec 2013 17:19:34 +0100
Ulrich Mueller <u...@gentoo.org> wrote:

> >>>>> On Mon, 9 Dec 2013, Rich Freeman wrote:
> 
> > If you think that B isn't the empty set, it is trivial for you to
> > demonstrate that this is the case.  Simply give me a single example
> > of a situation where:
> > 1.  It makes sense for a dep to use a new slot.
> > 2.  It makes sense for all of its reverse deps to automatically use
> > the new slot without any further intervention by the individual
> > reverse dep maintainers.
> 
> app-editors/emacs, to start with.
> 
> If you go through the list of about 400 packages that have more than
> one slot (out of 17000 packages in the portage tree), I'm sure you'll
> find many more that fall in B. On first glance, only a minor part of
> these 400 seem to be libraries.

It is surprising that there are only ~400 packages that have multiple
slots available in the Portage tree; trying to reproduce this, I get a
similar number. Out of a ~350 total, ~75 contain "libs/", ~100 contain
"dev-java/" (almost a third); there's are some ruby and haskell libs
too. These groups are almost all libraries, so it somewhat fifty-fifty. 

Note how Java packages already have a project policy to explicitly
specify slots on dependencies; as the eclass functionality relies on
that. As a consequence, it is easy to add a new slot to them. For the
Java herd it makes total sense to use explicit slots that way.

With new version bumps to reverse dependencies of dev-java libraries;
it is interesting to note that as time goes by, you will eventually
need to depend on the newer slot instead as upstream upgrades its
support for that dev-java library; dropping support for the old version.

But that's just a third and not necessarily representable, it can
however show how it works in practice.

Libraries' slot usage is harder to tell and needs a more thorough look
as to how these are done. It's easier to tell by someone whom has more
experience with how these libraries are versioned, seeing that most of
these are media-libs and x11-libs I'll try asking the relevant herds.

For applications (or should we say "all the rest") I think we need to
look at which kind of packages these are and what the slots mean.

For example, there are ~14 kernel sources that have multiple slots,
which are as far as I know not used as dependencies; it just serves
quite handy for the user to add it to the world file. There is also
www-client/google-chrome and sys-boot/grub, those are packages where
slots are meant for the user and not for reverse dependencies.

What do you think? Does someone have a different view? Please share. :)

-- 
With kind regards,

Tom Wijsman (TomWij)
Gentoo Developer

E-mail address  : tom...@gentoo.org
GPG Public Key  : 6D34E57D
GPG Fingerprint : C165 AF18 AB4C 400B C3D2  ABF0 95B2 1FCD 6D34 E57D

Attachment: signature.asc
Description: PGP signature

Reply via email to