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