Gentoo Archives: gentoo-dev

From: Ravi Pinjala <ravi@××××××××.net>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives
Date: Thu, 26 Feb 2009 02:13:24
Message-Id: 49A5FAC0.7040509@p-static.net
In Reply to: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives by "Petteri Räty"
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