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


Reply via email to