Gentoo Archives: gentoo-dev

From: Mark Bateman <couldbe@××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: The fallacies of GLEP55
Date: Sat, 16 May 2009 21:58:57
Message-Id: loom.20090516T211153-571@post.gmane.org
In Reply to: [gentoo-dev] The fallacies of GLEP55 by Patrick Lauer
1 Patrick Lauer <patrick <at> gentoo.org> writes:
2
3 >
4 > For quite some time (over a year, actually) we've been discussing the
5 > mysterious and often misunderstood GLEP55.
6 > [http://www.gentoo.org/proj/en/glep/glep-0055.html]
7 >
8 > The proposed solution to a problem that is never refined, in short, is to add
9 > the EAPI into the ebuild filename "to make things easier". Which is a rather
10 > unsubstantiated idea that doesn't really add up if you look at it ... and it
11 > adds some artifacts that we've been laughing about for a decade because
12 > microsoft did the exact same thing (binding the executable-ness of a file to
13 > the filename).
14 >
15
16 The problem isn't GLEP55 (as such), it is a bit more subtle then that and runs
17 deeper then just this GLEP.
18
19 For starters it is the whole GLEP process
20 GLEP [Gentoo Linux Enhancement Proposals] is meant as a central place to pull
21 *proposals* that provide enhancements to Gentoo.
22 Some are quite self-apparent (GLEP08)
23 others are a bit more... lacking (GLEP55)
24 Why is GLEP55 lacking? because it providing a "solution" to a problem that is
25 not actually defined
26 "The current way of specifying the EAPI in ebuilds is flawed"
27 That is not defining the problem, that is an opening statement.
28
29 "In order to get the EAPI the package manager needs to source the ebuild, which
30 itself needs the EAPI in the first place."
31 It then describes "a" mechanism utilising an ebuild (source /usr/portage...) to
32 obtain the EAPI from within the ebuild (EAPI=...). Using this method the entire
33 content of GLEP55 is accurate.
34
35 However, this is not the only method to determine the EAPI of an ebuild that
36 exists and as such the viability of GLEP55 as the best solution is brought into
37 question
38 Where is it defined that the ebuild must be sourced 1st?
39 Why does the ebuild have to be sourced 1st?
40
41
42 This then results in ml participants taking this GLEP as the *only* solution
43 (to a problem that hasn't actually been defined...) with statements like
44 "That's *obviously* completely wrong"
45 If something was so obvious this GLEP would have been approved/rejected by now,
46 but it hasn't because the problem isn't defined "because it is obvious"
47
48 If a problem cannot be describe then the problem is not understood by the one
49 writing about the problem.
50
51
52 The GLEP process needs to be refined such that some means of initially raising
53 a problem (be it a GLEP itself) that describes the problem in as much detail as
54 possible. Once said GLEP has been accepted, ie the problem is acknowledged,
55 (sub) GLEP's can be submitted providing possible solutions to the problem.
56
57 This way the problems encounted with this particular GLEP, a GLEP that keeps on
58 re-surfacing, would be minimised
59
60 GLEP55 explicitly states that the EAPI to be recorded in the file extension,
61 while, as this thread has shown, a number of methods can be used to source the
62 EAPI version of the ebuild *without* the need of actually source'ing the ebuild
63 (grep, sed, metacache) all of which are viable solutions to the problem, the
64 problem that is so obvious it doesn't actually have to be defined
65
66
67 Thing is the package manager *needs* to know the EAPI that the ebuild complies
68 to before it can source it to ensure
69 1) the correct EAPI-specific eclass is inherited
70 2) Package manager needs to protect itself from ebuild syntax that earlier
71 system packages (eg bash) would fail with
72
73
74 So please just reject GLEP55, not because its wrong but because it is
75 incomplete
76 reject GLEP55 and have a GLEP62 submitted which defines the problem, then
77 request GLEP62-{1,2,3...} be submitted providing possible solutions to the
78 problem. GLEP55 can then be submitted as a possible solution. Then
79 developers/council can vote on the sub-GLEP's to choose which solution is the
80 best technically as well as what is best for the users (dev's and general
81 users)
82
83
84 Traceability of issues and solutions is needed, traceability that extends
85 beyond mailing-lists and irc logs (discussion mediums which are good for
86 instantaneous discussion of issues, but are rubbish for returning to an issue a
87 few years down the line, no matter how many logs exist). Report the problem
88 better
89
90 How clear is it from the stored infomation available whether EAPI's when they
91 were 1st conceived and added to portage/paludis/pkgcore was the best solution
92 to the problem of expanding on ebuild capability. Or more to the point was how
93 it was done partly responsible for the mess we are in now?
94
95 If the problem on ebuild expansion was better documented and defined, maybe
96 this GLEP wouldn't even exist, we may have been already using *.ebuild-3
97 because it was the best solution

Replies

Subject Author
Re: [gentoo-dev] Re: The fallacies of GLEP55 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>