1 |
Petteri Räty wrote: |
2 |
> Let's try something new. I would like to get opinions from as many |
3 |
> people as possible about GLEP 55 and alternatives listed here in order |
4 |
> to get some idea what the general developer pool thinks. Everyone is |
5 |
> only allowed to post a single reply to this thread in order to make it |
6 |
> easy to read through. The existing thread should be used for actual |
7 |
> discussion about the GLEP and the alternatives. This should be a useful |
8 |
> experiment to see if we can control ourselves :) |
9 |
> |
10 |
> My notes so far: |
11 |
> |
12 |
> 1) Status quo |
13 |
> - does not allow changing inherit |
14 |
> - bash version in global scope |
15 |
> - global scope in general is quite locked down |
16 |
> |
17 |
> 2) EAPI in file extension |
18 |
> - Allows changing global scope and the internal format of the ebuild |
19 |
> a) .ebuild-<eapi> |
20 |
> - ignored by current Portage |
21 |
> b) .<eapi>.ebuild |
22 |
> - current Portage does not work with this |
23 |
> c) .<eapi>.<new extension> |
24 |
> - ignored by current Portage |
25 |
> |
26 |
> 3) EAPI in locked down place in the ebuild |
27 |
> - Allows changing global scope |
28 |
> - EAPI can't be changed in an existing ebuild so the PM can trust |
29 |
> the value in the cache |
30 |
> - Does not allow changing versioning rules unless version becomes a |
31 |
> normal metadata variable |
32 |
> * Needs more accesses to cache as now you don't have to load older |
33 |
> versions if the latest is not masked |
34 |
> a) <new extension> |
35 |
> b) new subdirectory like ebuilds/ |
36 |
> - we could drop extension all together so don't have to argue about |
37 |
> it any more |
38 |
> - more directory reads to get the list of ebuilds in a repository |
39 |
> c) .ebuild in current directory |
40 |
> - needs one year wait |
41 |
> |
42 |
> Regards, |
43 |
> Petteri |
44 |
> |
45 |
|
46 |
Another option which I haven't seen mentioned here yet would be to just |
47 |
specify that the method of finding the EAPI depends on the file |
48 |
extension. Then, anything with a .ebuild extension can be sourced with |
49 |
bash to find the EAPI, and ebuild formats incompatible with that could |
50 |
use another file extension. This would work with current package |
51 |
managers, while still providing a mechanism for incompatible format |
52 |
changes in the future. It's also aesthetically nicer than current |
53 |
proposals, since the file extension would indicate something about the |
54 |
contents of the file. |
55 |
|
56 |
Or, to put it another way, this would formalize the difference between |
57 |
the ebuild format (which is currently bash throughout the tree), and the |
58 |
EAPI. I don't think anybody would oppose a file extension change for a |
59 |
format change, as opposed to an EAPI change. |
60 |
|
61 |
--Ravi |