Gentoo Archives: gentoo-dev

From: Brian Harring <ferringb@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: Reviving GLEP33
Date: Thu, 05 Aug 2010 03:29:38
Message-Id: 20100805032702.GG12708@hrair.al.intel.com
In Reply to: Re: [gentoo-dev] RFC: Reviving GLEP33 by Matti Bickel
1 On Mon, Aug 02, 2010 at 11:55:07PM +0200, Matti Bickel wrote:
2 > On 08/02/2010 10:15 PM, Ciaran McCreesh wrote:
3 > > Aren't you really after per-package eclasses, not elibs?
4 >
5 > Yes. I don't care whether the snippets may affect metadata. They already
6 > don't (at one time they did, but we got warned that that's illegal -
7 > that's why php-5.3 ebuilds have their metadata folded back into them).
8 >
9 > >> Instead of all the backwards-compatibility issues the GLEP deals with,
10 > >> we could just sneak the implementation into EAPI4 and be done with it.
11 > >
12 > > No, you can't make global scope changes just in an EAPI without
13 > > screwing up user systems. You have to do the whole "wait several years"
14 > > thing for them.
15
16 While it's been repeated many, many time, this statement is provably
17 false. What _is_ true is that you cannot have new global scope
18 functionality that influences/sets EAPI. That is _accurate_ truth of
19 the matter.
20
21 If a PM encounters an EAPI it doesn't understand/support, by
22 definition the metadata it tried generating is not usable- the PM
23 doesn't support that new EAPI thus it has zero clue how to
24 generate/store metadata appropriately for that EAPI.
25
26 Note that since policy forbids EAPI being set in eclasses _anyways_,
27 there isn't a conflict here despite ciaran's claims.
28
29 If an EAPI adds a new global function that cannot set/influence EAPI,
30 PM's that don't support that EAPI will spit complaints about 'missing
31 command' during sourcing- however the PM will still see the EAPI value
32 is one it knows it doesn't support, and act accordingly.
33
34 Basically, the only real issue here is that PMs invalidly output
35 stdout/stderr for EAPIs they don't support- this gives the perception
36 that there is an issue, when in reality it's just the PM being
37 slightly user unfriendly.
38
39
40 > Bad. So I guess it's back to ferring's "use a new directory not readable
41 > by old PMs" idea. GLEP55++, but having to wait several months for that
42 > and GLEP33 *on top* is not very motivation for me.
43
44 The reason for a new directory was to enforce a new structuring that
45 was more friendly to changelogs and manifests- due to ECLASSDIR being
46 documented in PMS (and annoyingly eclass-manpagers being the sole
47 consumer of it) adding a new eclasses directory should require a EAPI
48 bump.
49
50
51 As for per package eclasses, I'd personally require accessing the
52 package eclass being done via a new inherit function- this avoids some
53 annoying gotchas. That said, I don't see a reason right now that it
54 couldn't be added into an EAPI, per the reasons I laid out earlier in
55 this email.
56 ~brian

Replies

Subject Author
Re: [gentoo-dev] RFC: Reviving GLEP33 Matti Bickel <mabi@g.o>
Re: [gentoo-dev] RFC: Reviving GLEP33 David Leverton <levertond@××××××××××.com>