From 97fbff191d6b9a896d875f88f303816f7804a768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20M=C3=BCller?= 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üller --- 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 --- a/glep-0083.rst +++ b/glep-0083.rst @@ -6,8 +6,8 @@ Type: Informational Status: Active Version: 1 Created: 2022-06-30 -Last-Modified: 2022-08-14 -Post-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 --- @@ -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]_. -The 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 -* two newer Council-approved EAPIs are supported by the stable version - of Portage, and -* 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. The Gentoo Council will ban a deprecated EAPI when @@ -70,7 +71,9 @@ allow projects to support a longer upgrade path. Requiring two newer EAPIs before deprecation will allow ebuilds that are otherwise seldom updated to be bumped to the next but one EAPI -immediately. +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. 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) manageable, as a banned EAPI is sufficient reason for updating an ebuild. +Example +======= + +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 ======================= -- 2.46.0