Gentoo Archives: gentoo-dev

From: Steve Long <slong@××××××××××××××××××.uk>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: EAPI placement
Date: Mon, 24 Dec 2007 06:51:32
Message-Id: fknh2s$59n$1@ger.gmane.org
In Reply to: Re: [gentoo-dev] EAPI placement by Carsten Lohrke
1 Carsten Lohrke wrote:
2 > On Mittwoch, 12. Dezember 2007, Ciaran McCreesh wrote:
3 >> * Eclasses may not set EAPI.
4 >>
5 >> * Eclasses may not assume a particular EAPI.
6 >
7 > I disagree here. It would be annoying and possibly even hindering in
8 > future not being able to use higher EAPI features in eclasses. Point is
9 > the eclass has to check, if the author of an ebuild sets another EAPI and
10 > throw an error, in this case.
11 >
12 Agreed. There's no problem from the bash side of this, only the PM specific
13 code.
14
15 > The most basic issue, which we didn't even discuss yet, afaik, is how to
16 > make every developer aware which feature belongs to which EAPI. I freely
17 > admit, I do not know that. Is there a list somewhere?
18 >
19 Well the official one is the internal Gentoo PMS repo. The Council haven't
20 changed the policy so far this term on what is the "authoritative" PMS.
21 (Nor of course have they accepted any of the drafts officially.)
22
23 > EAPI issues may lead to a lot of confusion and eclass bloat, especially
24 > since we still can't remove stale eclasses afaik.
25 >
26 Another maintenance headache, agreed.
27
28 Is it possible to remove an eclass if it can be shown that there are no apps
29 in the tree using it, say for over 2 years? That would give Gentoo
30 equivalence with longer-term "support" from other distros, while allowing
31 some breathing space wrt installed ebuilds. It'd be easy enough to automate
32 a hook to move deleted eclasses to local overlay as well.
33
34 > On Mittwoch, 12. Dezember 2007, Santiago M. Mola wrote:
35 >> Nobody said that eclasses can't use new features.
36 >
37 > Using new features in ebuilds or eclasses relates. EAPI A using ebuild
38 > with EAPI B using eclass (but not defining any EAPI) is your hard nut.
39 > Shouldn't happen, but will. And bugs in eclasses unfortunately don't have
40 > a minor impact.
41 >
42 >> Just that they
43 >> cannot _set_ EAPI or assume they are working with any EAPI.
44 >
45 > And I say they can - under the condition that you have a defined subset of
46 > ebuilds belonging to that eclass.
47
48 And it's a major loss of flexibility in addition to the maintenance problems
49 you highlight. A dynamic EAPI declaration in an ebuild is foolish, but
50 testing the EAPI value in an eclass and taking alternative action, or
51 indeed allowing dynamic setting in that context (which would require
52 additional metadata-- in this case i think the overhead is worth it, given
53 that eclasses are much less numerous than ebuilds, and it's actually
54 *adding* to what we can do already) makes a lot more sense.
55
56 <zlin> the kde4 eclasses in the kde4-experimental overlay set eapi=1.
57 <zmedico> it's fine to do that, it's just too early to do that on lots
58 of eclasses in the main tree, because EAPI=1 is too new
59
60 So there's no technical reason not to to, apart from some concern about
61 signalling die()?
62
63 <Cardoe> I think putting EAPI above inherit is bad
64 <Cardoe> because you're relying on the ebuild author to audit all the
65 eclass code to know which EAPI version is required
66
67 Ouch. Well at least EAPI anything is still experimental atm. Thank heavens
68 for peer review :D
69
70
71 --
72 gentoo-dev@g.o mailing list

Replies

Subject Author
[gentoo-dev] Re: EAPI placement Duncan <1i5t5.duncan@×××.net>