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 |
> |