Gentoo Archives: gentoo-dev

From: Sam James <sam@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GLEP 83 [v3]: EAPI deprecation
Date: Tue, 02 Aug 2022 04:48:52
Message-Id: 3F397D5A-6CF2-4EE7-88F2-3FCF792FFF8A@gentoo.org
In Reply to: [gentoo-dev] Re: GLEP 83 [v3]: EAPI deprecation by Duncan <1i5t5.duncan@cox.net>
1 > On 1 Aug 2022, at 22:24, Duncan <1i5t5.duncan@×××.net> wrote:
2 >
3 > Ulrich Mueller posted on Sun, 31 Jul 2022 23:26:13 +0200 as excerpted:
4 >
5 >> Update v3
6 >
7 > One language thing and two possible clarifications.
8 >
9 >> ---
10 >> GLEP: 83 Title: EAPI deprecation
11 >> Author: Ulrich Müller <ulm@g.o>
12 >> Type: Informational Status: Draft
13 >> Version: 1
14 >> Created: 2022-06-30
15 >> Last-Modified: 2022-07-31
16 >> Post-History: 2022-07-11, 2022-07-31
17 >> Content-Type: text/x-rst
18 >> ---
19 >
20 >> Specification =============
21 >>
22 >> A *deprecated EAPI* is no longer required for the upgrade path of users'
23 >> systems. Its use is discouraged, and tools like pkgcheck will warn
24 >> about this [#COUNCIL-20130409]_.
25 >>
26 >> A *banned EAPI* must no longer be used, neither for new ebuilds, nor for
27 >> updating of existing ebuilds [#COUNCIL-20140311]_.
28 >>
29 >> The Gentoo Council will deprecate an EAPI when
30 >>
31 >> * two newer Council-approved EAPIs are supported by the stable version
32 >> of Portage, and
33 >> * one of them has been supported for 24 months.
34 >>
35 >> The Gentoo Council will ban a deprecated EAPI when
36 >>
37 >> * 24 months have passed since its deprecation, and * it is used by fewer
38 >> than 5 % of ebuilds in the Gentoo repository.
39 >
40 > The first possible clarification fits here (I think). Something like:
41 >
42 > This GLEP is intended as a policy reference guide for EAPI minimum effective
43 > times. Despite the statistical qualifications listed here no EAPI
44 > will be deprecated or banned without specific Gentoo Council action.
45 >
46 > (While this is implied by the "Gentoo Council will..." wording, making it
47 > explicit could prevent later confusion/controversy.)
48
49 If anything, this might make things more confusing, given it implies
50 the Council can deviate if it wants.
51
52 >
53 >> EAPIs used in profiles are outside the scope of this GLEP.
54 >>
55 >>
56 >> Rationale =========
57 >>
58 >> Timing of EAPI deprecation is a trade-off between different factors.
59 >> On the one hand, the total number of EAPIs in active use should be
60 >> limited; this will prevent the learning curve for new developers and
61 >> contributors from becoming too steep and will help to reduce code
62 >> complexity, e.g. in eclasses.
63 >
64 > The language point:
65 >
66 > Am I the only one for whom the omission of "from" makes the sentence read
67 > smoother? (Maybe it's a regional English thing?)
68 >
69 > ; this will prevent the learning curve [...] from becoming too steep...
70 >
71 > ; this will prevent the learning curve [...] becoming too steep...
72 >
73
74 It reads slightly smoother without "from" but I didn't notice it when
75 reading myself.
76
77 I guess we can drop it.
78
79 >> On the other hand, an upgrade path to a stable system is guaranteed for
80 >> one year, plus limited support for systems that are outdated more than a
81 >> year [#COUNCIL-20091109]_. Therefore, previous EAPIs are still required
82 >> during that time. A period of 24 months before deprecation has been
83 >> chosen, which is more than the required minimum and will allow projects
84 >> to support a longer upgrade path.
85 >>
86 >> Requiring two newer EAPIs before deprecation will allow ebuilds that are
87 >> otherwise seldom updated to be bumped to the next but one EAPI
88 >> immediately.
89 >
90 >> A delay of 24 months between deprecation and ban will give ebuild
91 >> authors enough time to update. This is especially relevant for overlays
92 >> and downstream distributions. An additional requirement for banning an
93 >> EAPI is that fewer than 5 % of ebuilds are using the EAPI in question.
94 >> This requirement is defined to help keep the number of ebuild updates
95 >> (and bug reports requesting them) managable, as a banned EAPI is
96 >> sufficient reason for updating an ebuild.
97 >
98 > The second possible clarification seems to fit about here, but may require
99 > a bit of adjustment to the text above it.
100 >
101 > The two 24-month times are effectively additive, yielding a total 48 months
102 > minimum between addition of an EAPI and banning of the previous one. Given
103 > past EAPI history of at minimum a year between EAPI introductions that should
104 > yield a minimum three years of active EAPI life before deprecation, one year
105 > minimum as the newest EAPI plus two years before deprecation, plus two years
106 > of deprecation, for five years total EAPI life before ban.
107 >
108 > (This isn't entirely necessary but makes explicit the answer to one of my first
109 > questions reading the proposal. YMMV. I debated spec vs rational, but decided
110 > rational was a better fit.)
111 >
112 > --
113 > Duncan - List replies preferred. No HTML msgs.
114 > "Every nonfree program has a lord, a master --
115 > and if you use the program, he is your master." Richard Stallman
116 >
117 >

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] GLEP 83 [v3]: EAPI deprecation Ulrich Mueller <ulm@g.o>