On 03/09/2015 21:09, Fernando Rodriguez wrote: > On Thursday, September 03, 2015 9:10:26 AM walt wrote: >> On Wed, 2 Sep 2015 15:34:43 +0200 >> Alan McKinnon <alan.mckin...@gmail.com> wrote: >> >>> On 02/09/2015 15:04, Neil Bothwick wrote: >>>> On Wed, 2 Sep 2015 05:24:33 -0700, walt wrote: >>>> >>>>> If the devs can't explain slots to their >>>>> users then they don't understand it themselves. (Hm. That phrase >>>>> sounds familiar. Where did I get that?) >>>> >>>> I think it is an Einstein quote that says something like "if you >>>> can't explain it in simple terms, you don't understand it". He was >>>> probably having a pop at Niels Bohr and quantum theory at the time. >>>> >>>> Bohr said something like "if thinking about quantum theory doesn't >>>> give you a headache, you don't understand it". >>>> >>>> >>> >>> And Feynmann said something along the lines of "Anyone who claims to >>> understand quantum mechanics, doesn't". >>> >>> Back to subslots and not replying to Neil directly: They aren't that >>> hard to grasp, they look like this: >>> >>> cat/pkg/pkg-1.2:3/4 >>> >>> The SLOT is 3 and the subslot is 4. As usual, different versions of >>> the same package in different SLOTs can co-exist. Subslots are a >>> different matter, and it's an unfortunate choice of name, as they are >>> *not* a subset of a SLOT. Look at ncurses: >>> >>> [I] sys-libs/ncurses >>> Available versions: >>> (0) 5.9-r3 (~)5.9-r4 5.9-r5(0/5) (~)6.0-r1(0/6) >>> (5) 5.9-r99(5/5) (~)5.9-r101(5/5) (~)6.0(5/6) >>> >>> There's 2 SLOTs (0 and 5), and both have versions of subslot 5 and 6. >>> Subslots are most useful for things like api/abi versions where >>> upstream breaks these but don't increment the major version, this is >>> why we had endless issues in the past where emerge world broke stuff >>> horribly and it only got fixed much later when we could run >>> revdep-rebuild. Nowadays we have better tools, if the subslot changes >>> for a consumed library, then all consuming packages need to be >>> rebuilt. >>> >>> Describing and defining subslots is not hard, neither are the >>> operators. The problem with subslots is the usual one - you have to >>> deal with real life, and in real life upstreams sometimes do peculiar >>> things to their code that doesn't exactly match the effect of a >>> subslot operation. >>> >>> Or put another way: subslot docs describe the effect you should end up >>> with, it's not always the same thing as what you *do* end up with. >>> Finding that out means testing every possible circumstances and seeing >>> the results, but there's an infinite variety of those. >> >> I just updated my virtualbox ~amd64 guest and all went well when I ran >> emerge ncurses:5/5, so I'm encouraged but not fearless about doing the >> same on my real machine. I'm going to be quickpkged to the max before >> I try it. >> >> BTW, emerge world on the vbox guest did not offer to touch ncurses in >> any way. I had to do it manually as I just said. >> >> Leveraging Neil's quote: thinking about slots (and their misnamed >> subslots) gives me a 4-dimensional headache. > > I don't think they're misnamed, the problem is in our heads. As end users > we've come to accept that they can be co-installed as the defining property > of > slots. But they're about the same in every other way AFAIU. >
[I] sys-libs/ncurses Available versions: (0) 5.9-r3 (~)5.9-r4 5.9-r5(0/5) (~)6.0-r1(0/6) (5) 5.9-r99(5/5) (~)5.9-r101(5/5) (~)6.0(5/6) I still maintain the name could be better and less confusing. The SLOTs for ncurses are simply. But what kind of sub-thing are subslots 5 & 6? And what are they a subset of? -- Alan McKinnon alan.mckin...@gmail.com