On Thursday, September 03, 2015 10:44:49 PM Alan McKinnon wrote:
> 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?

I agree that it is confusing, and the ncurses case makes it more so because 
they're being used in an unusual way. But when you think about it makes some 
sense at least. The functionality of a subslot is a subset of the 
functionality of a slot. Another way to think of it is slots are major 
versions and subslots are minor versions that still have some ABI change...or 
sub-versions :P

-- 
Fernando Rodriguez

Reply via email to