Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Portage is proposing an ncurses update and I don't understand what it means
Date: Wed, 02 Sep 2015 13:35:18
Message-Id: 55E6FAF3.4000406@gmail.com
In Reply to: Re: [gentoo-user] Re: Portage is proposing an ncurses update and I don't understand what it means by Neil Bothwick
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

Replies