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 |