Gentoo Archives: gentoo-dev

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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies