1 |
On Sun, Dec 8, 2013 at 6:57 PM, Patrick Lauer <patrick@g.o> wrote: |
2 |
> On 12/09/2013 12:54 AM, Tom Wijsman wrote: |
3 |
>> |
4 |
>> One thing that directly comes to mind is that dependencies that have no |
5 |
>> SLOT="0" ebuild present would need us to manually specify a specific |
6 |
>> SLOT; given that this is a not so common situation, the amount of |
7 |
>> commits needed here is low. |
8 |
> |
9 |
> And now you make updating a lot more fun, because slotted packages need |
10 |
> to be explicitly changed if there's a new slot happening. Just to hide |
11 |
> your own laziness. |
12 |
|
13 |
Frankly, your tone is rude here. Don't personalize things. The goal |
14 |
is to eliminate non-value-added work. If a change makes work for |
15 |
others that should be pointed out. If a change saves somebody time, |
16 |
that isn't "laziness." Work isn't a virtue - accomplishing something |
17 |
is. Discuss the merits of the proposal, and don't debate the morals |
18 |
of the person making the proposal. |
19 |
|
20 |
Second, I'm not sure exactly what you're trying to say here. Slotted |
21 |
packages don't need to be changed under the proposed approach any more |
22 |
than they otherwise would. If you have SLOT=0 of libfoo and want to |
23 |
introduce SLOT=1 it is the same amount of work for the libfoo |
24 |
maintainer either way. The only difference is that if half the tree |
25 |
depends on libfoo and breaks with libfoo:1 then there are a bazillion |
26 |
failures all the sudden. |
27 |
|
28 |
If you meant that packages that depend on slotted packages need to be |
29 |
changed, then that isn't really correct either. If a package depends |
30 |
on libfoo:0 instead of libfoo:*, it will work just fine when libfoo:1 |
31 |
is introduced - it will just continue to pull in libfoo:0. Then over |
32 |
time maintainers can test and add an || dep for libfoo:1 and the |
33 |
package will work with either. |
34 |
|
35 |
The status quo requires the libfoo maintainers to do a ton of work to |
36 |
get everybody to change their deps before introducing a new slot. |
37 |
Either that or they do what everybody else apparently does and not use |
38 |
slots at all, just creating libfoo2. Well, if you can't reliably |
39 |
create new slots for dependencies, then what is the point of having a |
40 |
syntax for slot dependencies in the first place? |
41 |
|
42 |
On IRC there was some discussion and it may make sense to not make the |
43 |
default :0 (or :0=), but rather to just not have any default in a |
44 |
future EAPI - every single dependency line would therefore contain a |
45 |
slot. I'm not convinced wildcards should even be allowed - the whole |
46 |
point of introducing new slots is that the new version may not be |
47 |
compatible, so how can you say in advance that any slot is acceptable? |
48 |
If the new library is API-compatible then it should just be a new |
49 |
subslot in the same slot, and if it is ABI-compatible then it should |
50 |
be in the same subslot. The whole point of subslots is to handle |
51 |
packages that have API breaks, and I don't see how wildcards against |
52 |
future versions not even written yet can be appropriate there. The |
53 |
only thing that it does is saves maintainers the trouble of looking up |
54 |
what slots the package was actually tested against, which sounds a bit |
55 |
like a certain word that starts with l... :) |
56 |
|
57 |
Rich |