Gentoo Archives: gentoo-dev

From: Ralph Sennhauser <sera@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.
Date: Fri, 12 Oct 2012 10:54:12
Message-Id: 20121012125315.33500bbb@sera-17.lan
1 From time to time the topic of deprecating EAPIs comes up and usually
2 one suggestion is to keep 0 and start with converting EAPI 1 ebuilds.
3 Then someone comes along and asks what is the point? Indeed, a fair
4 question.
5
6 The following tries to take a different approach to the topic. It's not
7 all thought through in detail, but that wont happen anytime soon,
8 after all it's on my TODO for long enough. So I present it in the hope
9 others will try to poke holes into it or even pick it up.
10
11
12 EAPI=0 requirement pointless?
13 -----------------------------
14
15 The EAPI=0 requirement comes from having to provide an update path for
16 systems with a package manager without EAPI support. By now we are
17 talking about really ancient systems and it's questionable if there is
18 any merit in supporting such.
19
20 Further the situation is that some of the maintainers of must be EAPI 0
21 ebuilds already moved on as the majority of users will profit from a
22 bump. As a result the clean upgrade path is already borked and the
23 value of keeping others at EAPI=0 deteriorates further and further.
24
25 Forcing EAPI 0 on some maintainers for all eternity doesn't strike me
26 as brilliant, quite the opposite frankly. After all new EAPIs are
27 supposed to contain bug fixes and new features required to write better
28 ebuilds.
29
30
31 If all installed PMs supported EAPI?
32 ------------------------------------
33
34 The issue of an update path is reduced to keeping intermediate
35 versions in tree.
36
37 Those PMs also support EAPI=1, rendering EAPI=0 obsolete.
38
39
40 Base EAPI
41 ---------
42
43 Systems without having a package manager installed that supports at
44 least the 'Base EAPI' aren't considered supported any longer.
45
46 Maintainers of system packages can use the Base EAPI without worrying.
47
48 Maintainers of system packages can use more recent EAPIs but need to
49 take special care.
50
51
52 Value of Base EAPI
53 ------------------
54
55 Maintainers of system packages need to be able to use newer EAPIs
56 after some time. They can wait but not forever. built_with_use removal
57 is one example, strong vs weak blockers an other.
58
59 The value can be based on time ( i.e. after 3 years ) or set by council
60 decision. A combination is fine as well.
61
62 The value should be kept low enough so the rule "maintainers don't have
63 to care about using it" holds.
64
65 The need of derived distributions / package managers should be
66 considered, ie. let them catch up if necessary.
67
68 Security updates should be possible for some time without full updates.
69 This extends to other packages as well. So maintainers of critical non
70 system packages can use this EAPI as well if they want.
71
72 Guess EAPI=2 would be a reasonable compromiss.
73
74
75 Deprecation?
76 ------------
77
78 EAPIs below the base EAPI can be considered deprecated if one desires.
79
80 References in devmanual can be removed and so the document be
81 simplified.
82
83 Once there are only few ebuild of a deprecated EAPI left, it might make
84 sense to convert them and add a repoman check so the number of used
85 EAPIs is kept reasonable.

Attachments

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

Replies