1 |
>>>>> On Wed, 3 Apr 2013, Ralph Sennhauser wrote: |
2 |
|
3 |
> I feel strongly against starting with anything but EAPI 0. And I |
4 |
> don't consider EAPI 4 old enough to start pestering maintainers |
5 |
> about it. |
6 |
|
7 |
> What we need is a live cycle of EAPIs to keep things manageable in |
8 |
> the long run. We aren't under pressure to get rid of as many as |
9 |
> possible ASAP. A simple scheme could be |
10 |
|
11 |
> - EAPI becomes second latest |
12 |
> - 5 years later repoman warns. |
13 |
> - 2 years later repoman errors out. |
14 |
|
15 |
To start with some numbers, here are the Portage versions |
16 |
corresponding to EAPIs, together with their stabilisation dates: |
17 |
|
18 |
EAPI approved Portage version stable on all arches |
19 |
(0) 2.0.53 (*) 2005-12-26 |
20 |
1 2.1.3.19 2007-12-11 |
21 |
2 2008-09-25 2.1.6.4 2009-01-08 |
22 |
3 2010-01-18 2.1.7.17 2010-03-08 |
23 |
4 2011-01-17 2.1.9.42 2011-03-17 |
24 |
5 2012-09-20 2.1.11.31 2012-12-11 |
25 |
|
26 |
(*) First EAPI aware Portage version |
27 |
|
28 |
An EAPI becomes second latest when the following EAPI becomes stable |
29 |
on all architectures. For example, EAPI 3 went stable at 2010-03-08 |
30 |
and EAPI 2 became second latest at the same day. |
31 |
|
32 |
I agree with Francesco and Zac though, that support for 5 or even 7 |
33 |
year old systems isn't realistic at all. IMHO, we should go for an |
34 |
intermediate time frame like 3 years (maybe 4, if we want to be very |
35 |
conservative) for EAPI deprecation. This would limit the number of |
36 |
EAPIs in active use to not more than four or five. |
37 |
|
38 |
> With that scheme EAPI=0 would be due soon. As the "bump to latest |
39 |
> eapi" policy isn't that old and seems to have only sunk in a about a |
40 |
> year ago, and the myth of still requiring system packages to be |
41 |
> EAPI=0 kept a lot of the tree at EAPI=0 for a long time. Fact is |
42 |
> EAPI 0 ebuilds are still many, though the number started to crumble |
43 |
> significantly lately. So waiting another year before starting |
44 |
> actively warn might be appropriate. |
45 |
|
46 |
I'd be a little more proactive and deprecate EAPIs 0 and 1 immediately |
47 |
(which would correspond to the 4 years mentioned above). When doing a |
48 |
version or revision bump, the ebuild should be updated to use a newer |
49 |
EAPI. There can be exceptions, e.g. for security bumps. |
50 |
|
51 |
> The important thing is for the council to declare intent and |
52 |
> timeframe, so maintainers can plan far ahead. The other thing that |
53 |
> became apparent from last discussion is that a slightly low EAPI |
54 |
> shouldn't be a card blanch for zealots to touch packages they don't |
55 |
> maintain or to file bugs about it. |
56 |
|
57 |
Right, there's nothing wrong with existing ebuilds using EAPI 3 or 4, |
58 |
unless you need a newer feature like subslots. |
59 |
|
60 |
Ulrich |