Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)
Date: Mon, 23 Feb 2009 13:46:02
Message-Id: pan.2009.02.23.13.45.39@cox.net
In Reply to: Re: [gentoo-dev] Re: Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009) by Brian Harring
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