1 |
On 02/09/2015 15:04, Neil Bothwick wrote: |
2 |
> On Wed, 2 Sep 2015 05:24:33 -0700, walt wrote: |
3 |
> |
4 |
>> If the devs can't explain slots to their |
5 |
>> users then they don't understand it themselves. (Hm. That phrase |
6 |
>> sounds familiar. Where did I get that?) |
7 |
> |
8 |
> I think it is an Einstein quote that says something like "if you can't |
9 |
> explain it in simple terms, you don't understand it". He was probably |
10 |
> having a pop at Niels Bohr and quantum theory at the time. |
11 |
> |
12 |
> Bohr said something like "if thinking about quantum theory doesn't give |
13 |
> you a headache, you don't understand it". |
14 |
> |
15 |
> |
16 |
|
17 |
And Feynmann said something along the lines of "Anyone who claims to |
18 |
understand quantum mechanics, doesn't". |
19 |
|
20 |
Back to subslots and not replying to Neil directly: They aren't that |
21 |
hard to grasp, they look like this: |
22 |
|
23 |
cat/pkg/pkg-1.2:3/4 |
24 |
|
25 |
The SLOT is 3 and the subslot is 4. As usual, different versions of the |
26 |
same package in different SLOTs can co-exist. Subslots are a different |
27 |
matter, and it's an unfortunate choice of name, as they are *not* a |
28 |
subset of a SLOT. Look at ncurses: |
29 |
|
30 |
[I] sys-libs/ncurses |
31 |
Available versions: |
32 |
(0) 5.9-r3 (~)5.9-r4 5.9-r5(0/5) (~)6.0-r1(0/6) |
33 |
(5) 5.9-r99(5/5) (~)5.9-r101(5/5) (~)6.0(5/6) |
34 |
|
35 |
There's 2 SLOTs (0 and 5), and both have versions of subslot 5 and 6. |
36 |
Subslots are most useful for things like api/abi versions where upstream |
37 |
breaks these but don't increment the major version, this is why we had |
38 |
endless issues in the past where emerge world broke stuff horribly and |
39 |
it only got fixed much later when we could run revdep-rebuild. Nowadays |
40 |
we have better tools, if the subslot changes for a consumed library, |
41 |
then all consuming packages need to be rebuilt. |
42 |
|
43 |
Describing and defining subslots is not hard, neither are the operators. |
44 |
The problem with subslots is the usual one - you have to deal with real |
45 |
life, and in real life upstreams sometimes do peculiar things to their |
46 |
code that doesn't exactly match the effect of a subslot operation. |
47 |
|
48 |
Or put another way: subslot docs describe the effect you should end up |
49 |
with, it's not always the same thing as what you *do* end up with. |
50 |
Finding that out means testing every possible circumstances and seeing |
51 |
the results, but there's an infinite variety of those. |
52 |
|
53 |
|
54 |
-- |
55 |
Alan McKinnon |
56 |
alan.mckinnon@×××××.com |