--=-=-=
Content-Type: text/plain
Version 2. No material changes, but clarified wording and added an
example. Thanks to robbat2 for his comments.
Patch and full new text of the GLEP are attached below.
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline;
filename=v2-0001-glep-0083-Allow-deprecation-when-only-one-newer-E.patch Content-Transfer-Encoding: quoted-printable
From 97fbff191d6b9a896d875f88f303816f7804a768 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <
ulm@gentoo.org>
Date: Fri, 30 Aug 2024 18:09:59 +0200
Subject: [PATCH v2] glep-0083: Allow deprecation when only one newer EAPI
exists
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Ulrich M=C3=BCller <
ulm@gentoo.org>
=2D--
glep-0083.rst | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/glep-0083.rst b/glep-0083.rst
index 38b4e57..5762d37 100644
=2D-- a/glep-0083.rst
+++ b/glep-0083.rst
@@ -6,8 +6,8 @@ Type: Informational
Status: Active
Version: 1
Created: 2022-06-30
=2DLast-Modified: 2022-08-14
=2DPost-History: 2022-07-11, 2022-07-31
+Last-Modified: 2024-09-01
+Post-History: 2022-07-11, 2022-07-31, 2024-08-30, 2024-09-01
Content-Type: text/x-rst
---
=20
@@ -38,11 +38,12 @@ warn about this [#COUNCIL-20130409]_.
A *banned EAPI* must no longer be used, neither for new ebuilds, nor
for updating of existing ebuilds [#COUNCIL-20140311]_.
=20
=2DThe Gentoo Council will deprecate an EAPI when
+The Gentoo Council will deprecate an EAPI when one or more newer +Council-approved EAPIs are supported by the stable version of Portage,
+namely
=20
=2D* two newer Council-approved EAPIs are supported by the stable version
=2D of Portage, and
=2D* one of them has been supported for 24 months.
+* two newer EAPIs, one of them supported for at least 24 months, or
+* one newer EAPI, supported for at least 48 months.
=20
The Gentoo Council will ban a deprecated EAPI when
=20
@@ -70,7 +71,9 @@ allow projects to support a longer upgrade path.
=20
Requiring two newer EAPIs before deprecation will allow ebuilds that
are otherwise seldom updated to be bumped to the next but one EAPI =2Dimmediately.
+immediately. However, deprecation of an EAPI should not be deferred
+forever, so it can be effected after a longer waiting period of 48
+months even if only one newer EAPI exists at that point.
=20
A delay of 24 months between deprecation and ban will give ebuild
authors enough time to update. This is especially relevant for
@@ -81,6 +84,20 @@ ebuild updates (and bug reports requesting them) managea= ble, as a
banned EAPI is sufficient reason for updating an ebuild.
=20
=20
+Example
+=3D=3D=3D=3D=3D=3D=3D
+
+Under this policy, EAPI 7 will be deprecated when either
+
+* Portage has supported EAPI 8 for 24 months, and supports another
+ later EAPI (e.g. EAPI 9), or
+* Portage has supported EAPI 8 for 48 months.
+
+Portage has supported EAPI 8 since 2021-07-05. The first condition
+would be fulfilled after 2023-07-05, as soon as an EAPI 9 is also
+supported. The second condition would be fulfilled after 2025-07-05.
+
+
Backwards Compatibility
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
=2D-=20
2.46.0
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline; filename=glep-0083.rst
Content-Transfer-Encoding: quoted-printable
---
GLEP: 83
Title: EAPI deprecation
Author: Ulrich Müller <
ulm@gentoo.org>
Type: Informational
Status: Active
Version: 1
Created: 2022-06-30
Last-Modified: 2024-09-01
Post-History: 2022-07-11, 2022-07-31, 2024-08-30, 2024-09-01
Content-Type: text/x-rst
---
Abstract
========
Introduce standardized criteria for deprecation and banning of EAPIs.
Motivation
==========
So far, old EAPIs were deprecated by the Gentoo Council in an ad-hoc
manner. No fixed criteria were used, resulting in unpredictable
deprecation times after approval of newer EAPIs. Standardized
criteria for deprecation and banning will make the life cycle of EAPIs
more predictable.
Specification
=============
A *deprecated EAPI* is no longer required for the upgrade path of
users' systems. Its use is discouraged, and tools like pkgcheck will
warn about this [#COUNCIL-20130409]_.
A *banned EAPI* must no longer be used, neither for new ebuilds, nor
for updating of existing ebuilds [#COUNCIL-2014031