Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/devmanual:master commit in: ebuild-writing/eapi/
Date: Tue, 22 Feb 2022 07:11:48
Message-Id: 1645513884.57ba0f67f138341373555447371bd125e34e5b1c.sam@gentoo
1 commit: 57ba0f67f138341373555447371bd125e34e5b1c
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 10 01:20:35 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 22 07:11:24 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=57ba0f67
7
8 ebuild-writing/eapi: document upgrade path policy
9
10 The "upgrade path" policy is not particularly well-defined;
11 over the years, various people have come to understand it
12 as "two years", "one year", with mixed interpretations
13 within that (is it enough to be able to upgrade just
14 Portage?)
15
16 This is a start towards formalising policy here,
17 even if we end up changing it later, at least
18 it's codified.
19
20 Closes: https://bugs.gentoo.org/821553
21 Signed-off-by: Sam James <sam <AT> gentoo.org>
22
23 ebuild-writing/eapi/text.xml | 21 +++++++++++++++++++++
24 1 file changed, 21 insertions(+)
25
26 diff --git a/ebuild-writing/eapi/text.xml b/ebuild-writing/eapi/text.xml
27 index e85a3ec..257232c 100644
28 --- a/ebuild-writing/eapi/text.xml
29 +++ b/ebuild-writing/eapi/text.xml
30 @@ -62,8 +62,29 @@ EAPI-conditional code)
31 When writing new ebuilds developers can choose whatever EAPI they think
32 is the best. Using the features of the latest EAPI is encouraged.
33 </p>
34 +</body>
35 +
36 +<subsection>
37 +<title>Upgrade path</title>
38 +<body>
39 +
40 +<p>
41 +Gentoo policy is to support upgrades for installations at least a year old
42 +with no/little intervention and up to two years old with minor intervention. To
43 +achieve this, developers must avoid using the latest EAPI in ebuilds within
44 +the <c>@system</c> set (see <uri link="::general-concepts/dependencies/#implicit-system-dependency"/>)
45 +or its dependencies.
46 +</p>
47 +
48 +<p>
49 +The Base System project has
50 +<uri link="https://wiki.gentoo.org/wiki/Project:Base#Rules_and_limitations">rules</uri>
51 +governing their use of newer EAPIs, as does the
52 +<uri link="https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#porting-packages-to-a-new-eapi">Python project</uri>.
53 +</p>
54
55 </body>
56 +</subsection>
57 </section>
58
59 <section>