1 |
Brian Harring <ferringb@×××××.com> posted 20090223085232.GA6492@hrair, |
2 |
excerpted below, on Mon, 23 Feb 2009 00:52:32 -0800: |
3 |
|
4 |
> On Mon, Feb 23, 2009 at 09:38:06AM +0100, Tiziano M??ller wrote: |
5 |
>> [quoting...] |
6 |
>>> What is proposed in glep-55 seems to aim to solve both issues at the |
7 |
>>> same time (it isn't stated) by switching file extension every time |
8 |
>>> the eapi is changed. This is slightly against the principle of the |
9 |
>>> least surprise and apparently is disliked by enough people[...] |
10 |
>> |
11 |
>> Instead of switching file extension every time the eapi is changed you |
12 |
>> could also increment it only when a new EAPI breaks sourcing the ebuild |
13 |
>> compared to the requirements of the prior EAPI. (This way you'd in fact |
14 |
>> split EAPI into a major- and a minor-version.) |
15 |
> |
16 |
> Complicates the implementation (annoying), but more importantly negates |
17 |
> one of the features of g55- being able to tell via the extension if the |
18 |
> manager supports that EAPI. |
19 |
|
20 |
That makes sense, but from my observation, the biggest resistance is |
21 |
coming from potentially unlimited changes to the extension. That rubs |
22 |
some people strongly enough the wrong way to have folks threatening to |
23 |
leave over it, etc. If it must be, it must be, but obviously, if there's |
24 |
a /reasonable/ way to avoid it, we should. |
25 |
|
26 |
Way back when this first came up, I asked a simple question and IIRC |
27 |
wasn't satisfied with the answer. Since the elements of it have been |
28 |
proposed separately, perhaps it's time to ask about the combination once |
29 |
again, as it seems to me to solve both the technical and aesthetic |
30 |
issues, tho admittedly it does have a bit of the "complicates the |
31 |
implementation" problem. |
32 |
|
33 |
As I understand it, the nastiest technical problem is currently the |
34 |
chicken/egg issue of needing the EAPI to source the ebuild... to /get/ |
35 |
the EAPI. Above, we have what amounts to a major/minor EAPI proposal, |
36 |
stick the major in the extension (or as a variant, the pre-extension |
37 |
filename), with it bumped only when the format changes enough to require |
38 |
pre-source knowledge of the change. |
39 |
|
40 |
Elsewhere, someone proposed strenthening the format rules by hard- |
41 |
specifying a location and format for the EAPI line, say line two of the |
42 |
ebuild and in a format specific enough to be parsed /without/ sourcing |
43 |
the ebuild, thus providing a pre-source method for grabbing the EAPI. |
44 |
The shoot-down when originally suggested was that this isn't flexible |
45 |
enough. It's also arguably less efficient since one has to access the |
46 |
file twice, first to get the EAPI, then to actually source the file. |
47 |
Unfortunately the below suggestion doesn't avoid that. |
48 |
|
49 |
Combining the two ideas, we get: |
50 |
|
51 |
Why not put the "EAPI-major" aka "pre-parse-EAPI" in that hard-specified |
52 |
in-file location, thus giving the package manager a method to grab it pre- |
53 |
source, then allow more flexibility on the "EAPI-minor" aka |
54 |
"post-parse-EAPI"? |
55 |
|
56 |
FWIW, all EAPIs to date have been EAPI-minor/post-parse, precisely |
57 |
/because/ of the need-the-EAPI-to-source-to-get-the-EAPI issue. This |
58 |
would eliminate that issue, providing both the necessary pre-source |
59 |
(major) EAPI solution and flexibility on the post-source (minor) EAPI. |
60 |
It would also avoid the so controversial aesthetic issue, maintaining the |
61 |
traditional .ebuild extension. |
62 |
|
63 |
The negative, however, as mentioned, is that of efficiency. It'd be |
64 |
necessary to access the file twice, pre-source to get the EAPI-major, |
65 |
then the source to fill in all the details. Putting just the EAPI-major |
66 |
in the filename/extension would avoid the first access (a dir listing |
67 |
would suffice) and using the filename for the EAPI entirely would in some |
68 |
cases possibly avoid accessing the file itself entirely -- at the expense |
69 |
of EAPI flexibility and aesthetics. |
70 |
|
71 |
|
72 |
Meanwhile, a status/process observation, if I may. Given the efficiency |
73 |
negative of putting the EAPI anywhere /but/ the filename and the way the |
74 |
debate has gone, GLEP-55 or something close to it (using the filename for |
75 |
EAPI) would appear headed toward ultimate approval, however slow it seems |
76 |
to be getting there. |
77 |
|
78 |
The major blocker would appear to be that the GLEP as-is simply doesn't |
79 |
sufficiently address everything that has come up in the discussions. As |
80 |
such, it's not clearly and sufficiently enough worded for the council to |
81 |
feel comfortable approving it. Based on council logs and discussion, I |
82 |
get the STRONG impression that they are pretty much /begging/ the |
83 |
proponents to address this issue, updating the GLEP as appropriate, so |
84 |
they can /finally/ get out of the eternal debate stage and vote it up or |
85 |
down (presumably up as it doesn't appear they have a viable alternative |
86 |
either) on its merits, and the PMs can get it implemented and both the |
87 |
council and Gentoo can move on. |
88 |
|
89 |
Unfortunately, due to "personnel issues", apparently there's currently |
90 |
nobody filling the triple qualifications of being (1) a strong enough |
91 |
proponent to bother, (2) a PM dev or other with sufficient grasp of the |
92 |
issues to actually /do/ the work, and (3) a Gentoo dev with the necessary |
93 |
authorization and access privs. Until that changes and the GLEP is |
94 |
updated appropriately, we seem locked in the endless loop of discussion |
95 |
going nowhere, fast! |
96 |
|
97 |
So it seems the proponents have a clear way forward, should they wish to |
98 |
pursue it. Until they do, we might as well quit the discussion as it's |
99 |
not accomplishing anything, no matter how good it could be or how much of |
100 |
a block the failure to implement is on future improvements. The council |
101 |
seems to have been clear enough, even /I'm/ getting that much. |
102 |
|
103 |
-- |
104 |
Duncan - List replies preferred. No HTML msgs. |
105 |
"Every nonfree program has a lord, a master -- |
106 |
and if you use the program, he is your master." Richard Stallman |