1 |
Hello, |
2 |
|
3 |
|
4 |
This thread is for any discussion about the slot operator support item |
5 |
in EAPI-3 draft. |
6 |
|
7 |
The premise is good what := and :* allow for, but I'm concerned about |
8 |
the syntax possibly ending up being suboptimal in relation to the syntax |
9 |
we come up in the future for covering the cases not covered now. |
10 |
|
11 |
|
12 |
Such cases are for example: |
13 |
|
14 |
* A library package has slots 2.4, 2.6 and 2.8. An application works |
15 |
with either 2.6 or 2.8, but needs a recompile for changed ABI. It does |
16 |
not work with 2.4 - it has API missing that it needs. |
17 |
* Same case as previous, but additionally the library has a version with |
18 |
slot 3.0 - it is a complete redesign and applications working with 2.8 |
19 |
have no chance of working. So need to express a list of acceptable SLOTs |
20 |
or a minimum and maximum (but slots aren't really guaranteed to be |
21 |
numeric and versionable). |
22 |
* Same case as previous (either of them), but if using SLOT 2.6, it |
23 |
needs to be at least >=libr/ary-2.6.5:2.6 and if SLOT 2.8 at least |
24 |
>=libr/ary-2.8.3:2.8. A re-compile if switching provider may or may not |
25 |
be necessary (considering both cases separately) |
26 |
|
27 |
* A library provides slots 1.2, 1.4 and 1.6. An application can work |
28 |
with all of them, but needs a recompile if upgrading from being linked |
29 |
against 1.2 to newer. 1.4 and 1.6 are runtime interchangeable. Very rare |
30 |
possibility of this though, involving dlopen and more. Probably |
31 |
acceptable to declare rebuild need for all changes. |
32 |
|
33 |
|
34 |
Are we sure := and :* is the syntax that makes sense once we try to |
35 |
cover some of the above with new syntax? |
36 |
|
37 |
Perhaps some forward thinking is sensible here to not end up with having |
38 |
to deprecate the := and :* syntax soon after its introduction. |
39 |
|
40 |
|
41 |
|
42 |
-- |
43 |
Mart Raudsepp |
44 |
Gentoo Developer |
45 |
Mail: leio@g.o |
46 |
Weblog: http://planet.gentoo.org/developers/leio |