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 |