Gentoo Archives: gentoo-dev

From: Rafael Goncalves Martins <rafaelmartins@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Turning eclasses upside down with new EAPIs (the python eclasses)
Date: Wed, 27 Jul 2011 13:08:52
Message-Id: CAHgY3qcCQuchvpEH9PUntFeh3wvGcXc2_mu0XEgktX8mobzxLA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Turning eclasses upside down with new EAPIs (the python eclasses) by Pacho Ramos
1 On Wed, Jul 27, 2011 at 6:02 AM, Pacho Ramos <pacho@g.o> wrote:
2 > El mié, 27-07-2011 a las 09:39 +0200, Michał Górny escribió:
3 >> Hello,
4 >>
5 >> As many of us already raged, the Python eclasses are delaying half
6 >> a year with support of EAPI=4. The reason for that is not actually
7 >> the lack of time or complexity of needed changes but willingness to use
8 >> the new EAPI as an excuse to turn the eclass API upside down.
9 >>
10 >> The question I'm raising here: should eclasses be actually allowed to
11 >> do *heavy* changes in their APIs in such cases? Or should the eclass
12 >> maintainers create a new eclass instead (python-r1.eclass or so)?
13 >>
14 >> The main advantage I see in that is that devs are somehow forced
15 >> to migrate their ebuilds as soon as they bump EAPI in them. Taking
16 >> a look at a number of ebuilds still using git.eclass (instead of git-2)
17 >> this is a serious advantage.
18 >>
19 >> On the other hand, I find this idea very unclear. Why should two
20 >> ebuilds use completely different eclass variables just because they're
21 >> using two different EAPIs? More importantly, why is a dev forced to do
22 >> the migration in a random point when he/she wants to bump the ebuild
23 >> EAPI? I'd like to remind you that python eclass is still hard to read
24 >> for many of us.
25 >>
26 >> And why do we have to wait so long to use a new EAPI? We already had to
27 >> fix a lot of ebuilds when old EAPIs were banned in Python eclasses. We
28 >> wanted to bump the ebuilds to EAPI 4 then but the eclasses didn't
29 >> support it. And now it still doesn't come with EAPI 4 support.
30 >>
31 >> And keeping two different EAPIs in a single eclass file means probably
32 >> that older EAPIs are going to be banned at a random point once again.
33 >> Devs will have to pro-actively migrate their ebuilds, overlays will
34 >> break and so on. The usual procedure related to eclass removal wouldn't
35 >> apply.
36 >>
37 >> So, don't you think it would be better to simply add EAPI=4 support to
38 >> python eclass with no changes and start developing the new API in
39 >> python-r1? Devs could migrate then at any point they want (and have
40 >> time to!), and when Python team wants to get rid of the old eclass,
41 >> the usual removal procedure will apply.
42 >>
43 >
44 > About the concrete case of python eclass, per Arfrever's comment in bug
45 > report related with its eapi4 support, that support is already available
46 > in overlay, but not yet merged to the tree (probably because of the
47 > possible upcoming retirement of Arfrever :-/). What is preventing python
48 > team to merge eclass from overlay?
49 >
50
51 AFAIK, the EAPI4 support in the overlay is EAPI 4-python, that almost
52 certainly will never come to gx86, and some guys are trying to port
53 the functionality to raw EAPI4, IIRC.
54
55 Regards,
56
57 --
58 Rafael Goncalves Martins
59 Gentoo Linux developer
60 http://rafaelmartins.eng.br/

Replies

Subject Author
Re: [gentoo-dev] Turning eclasses upside down with new EAPIs (the python eclasses) Arfrever Frehtes Taifersar Arahesis <arfrever.fta@×××××.com>