Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Collecting opinions about GLEP 55 and alternatives
Date: Mon, 09 Mar 2009 15:55:23
Message-Id: pan.2009.03.09.15.54.51@cox.net
In Reply to: Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives by Jacob Floyd
1 Jacob Floyd <techgurufloyd+gentoo.lists@×××××.com> posted
2 4afbebfe0903090601r5759177bt98639c0c3a61b894@××××××××××.com, excerpted
3 below, on Mon, 09 Mar 2009 07:01:21 -0600:
4
5 > Stick EAPI info in the Manifest. The Manifest stores metadata info about
6 > the ebuilds for security and validation purposes, why not add a string
7 > that determines which eapi to use? This then would be generated every
8 > time someone did an "ebuild foo-1.0.ebuild digest". To specify the eapi
9 > version, the developer would specify, as is now, EAPI="bla" in his
10 > ebuild, and grep or similar would be used to extract this when the
11 > digest is created.
12
13 So ultimately, you leave it in the ebuild, but duplicate it in the
14 manifest... which has its own problems, one of which is that it
15 ultimately falls back to getting the info from the ebuild so it has the
16 same problems that does.
17
18 The problem with getting EAPI from the ebuild is that as currently speced
19 in PMS, EAPI cannot be grepped, the ebuild must really be sourced to get
20 it, because it may be changed in eclasses or set and repeatedly changed,
21 etc. And that doesn't really work going forward, because you end up
22 needing to know the EAPI in ordered to source the ebuild properly to get
23 it. (It has only worked thus far because changes have been restricted to
24 ensure it DOES still work, but that's not practical going forward as it
25 really IS restrictive.)
26
27 By the time you fix that, you're back at one of the other
28 implementations, effectively decreeing that the EAPI once set (or the
29 EAPI major version, at least, in a major/minor EAPI versioning variant
30 proposal) can't change and putting it either in the ebuild name/
31 extension, or in a location sufficiently nailed down in the ebuild that
32 it can be scanned directly, line X, or whatever, or at /minimum/
33 narrowing the spec so that it must be early in the ebuild, before
34 inherits, etc (there's a series of post by CiaranM with way more
35 technical detail on exactly how the new requirement would have to be
36 worded).
37
38 So putting it in the manifest but generated from the ebuild info really
39 doesn't change the problem, leaving us precisely where we were before,
40 except that it may be useful as a component of one of the other
41 solutions, and has been proposed as such in a few of the suggested
42 variants.
43
44 --
45 Duncan - List replies preferred. No HTML msgs.
46 "Every nonfree program has a lord, a master --
47 and if you use the program, he is your master." Richard Stallman

Replies