1 |
Replying to this email since it seems to be the discussion behind |
2 |
the "sub-slot" feature proposed for EAPI 5. |
3 |
|
4 |
On 04-06-2012 23:26:18 +0200, Pacho Ramos wrote: |
5 |
> This is why I think we should try to push a bit my first suggestion for |
6 |
> the short term until "the perfect one" is ready as, until then, we are |
7 |
> having for years a problem that, personally, I think it should be |
8 |
> handled a bit better. |
9 |
|
10 |
After reading this thread, I have seen numerous occasions where has been |
11 |
asked what this proposal actually solves. Unless I've accidentially |
12 |
skipped over it, the answer has yet to be given. It appears to me now |
13 |
sub-slot is a feature that makes it easy to express a situation that |
14 |
could be expressed today as well, but requiring more work. As such |
15 |
"syntactic sugar", it seems not well bounded, allowing possibly for |
16 |
doing things that result in a big mess (I cannot prove this atm, and |
17 |
there is no specification afaict.) |
18 |
|
19 |
So, I'm looking for a specification what the components in the sub-slot |
20 |
exactly mean, and what behaviour they trigger. To me, it seems right |
21 |
now that sub-slot is simply ${SLOT}/${PV}, and some fancy sub-part |
22 |
matching (up to the '/' actually). It would be nice to have a sound and |
23 |
clear definition of that the SLOT value means, and what the sub-slot |
24 |
value means. How can one make it up? Could one also just start with 1 |
25 |
as sub-slot? Or use names? (SLOT="2/$(use fnord && echo fnord)"). I |
26 |
have no clue how to use this correctly, as well as what problems I |
27 |
should have that it solves. |
28 |
|
29 |
To clarify the last bit, could you please explain how the following |
30 |
situation benefits from sub-slot. |
31 |
|
32 |
Consider the packages libfnord, foo and bar. libfnord being a library, |
33 |
used by foo and bar, which are simple executables. libfnord has 6 |
34 |
versions (not necessarily all at the same time in the tree), with ELF |
35 |
soname and library versions: |
36 |
|
37 |
libfnord-1 libfnord.so.3 libfnord.so.3.0 |
38 |
libfnord-2 libfnord.so.5 libfnord.so.5.1 |
39 |
libfnord-2.1 libfnord.so.5 libfnord.so.5.2 |
40 |
libfnord-2.1-r5 libfnord.so.5 libfnord.so.5.2 |
41 |
libfnord-3 libfnord.so.5 libfnord.so.5.8 |
42 |
libfnord-3.5 libfnord.so.5 libfnord.so.5.12 |
43 |
|
44 |
Package foo and bar have the following versions and {,R}DEPEND: |
45 |
|
46 |
foo-3.0 >=libfnord-2 |
47 |
bar-1.234b =libfnord-1* |
48 |
bar-2.4 >=libfnord-3 |
49 |
|
50 |
How would the SLOT and {,R}DEPEND values for these ebuilds look like, |
51 |
what happens when libfnord 2 and 3 are introduced in the tree, etc. |
52 |
Please show for both EAPI 4, EAPI 4+slot-deps and EAPI 4+sub-slot. |
53 |
What if libfnord-2.1 or libfnord-3.5 would be masked due to some problem |
54 |
not noticed prior to stabling that makes it useless for many users. |
55 |
bar-2.4 during configure checks for a new function in libfnord-3.5 and |
56 |
uses it if available, or uses an alternative code-path instead. |
57 |
libfnord-2.1-r5 fixes a crash in some function of the library. |
58 |
(Note: this whole example/question sounds like an ebuild-quiz question |
59 |
that any dev should be able to answer then.) |
60 |
|
61 |
What would be the advantage of sub-slot here, assuming the versioning of |
62 |
the libraries follows ABI versioning rules defined by e.g. libtool. |
63 |
|
64 |
|
65 |
Please enlighten me. |
66 |
Fabian |
67 |
|
68 |
-- |
69 |
Fabian Groffen |
70 |
Gentoo on a different level |