From 09db1c5df37cfab3f01aaf701a4fbdfc1af46c55 Mon Sep 17 00:00:00 2001
From: Sam James
Date: Sat, 28 Feb 2026 13:52:36 +0000
Subject: [PATCH 1/3] general-concepts/slotting: mention incompatible changes,
informing users
app-containers/docker-compose is perhaps a good example of this.
Bug: https://bugs.gentoo.org/835431
Signed-off-by: Sam James
---
general-concepts/slotting/text.xml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/general-concepts/slotting/text.xml b/general-concepts/slotting/text.xml
index 767238ad..2b0be0bf 100644
--- a/general-concepts/slotting/text.xml
+++ b/general-concepts/slotting/text.xml
@@ -159,6 +159,16 @@ of user scripts or tools, and build systems which expect the generic name
to be available.
+
+New slots are usually incompatible with older versions in some regard like
+UI, syntax, behaviour. A new version of a slotted executable could suddenly
+break users' workflows, so a
+news item
+or
+ewarn
+may be appropriate.
+
+
An eselect module is often made available for these cases, though
ebuilds normally shouldn't depend on its use.
From acd7e250802fd31f52da0294b1c70260acde69d4 Mon Sep 17 00:00:00 2001
From: Sam James
Date: Sat, 28 Feb 2026 13:58:08 +0000
Subject: [PATCH 2/3] general-concepts/slotting: add 'Separate packages'
subsection
Bug: https://bugs.gentoo.org/917327
Signed-off-by: Sam James
---
general-concepts/slotting/text.xml | 39 ++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/general-concepts/slotting/text.xml b/general-concepts/slotting/text.xml
index 2b0be0bf..e2816515 100644
--- a/general-concepts/slotting/text.xml
+++ b/general-concepts/slotting/text.xml
@@ -169,12 +169,51 @@ or
may be appropriate.
+
+Depending on the level of incompatibility, a separate package may be
+more appropriate to avoid breaking scripts, cronjobs, and so on.
+
+
+
+For example, app-containers/docker-compose in SLOT="0" installed a
+standalone executable, while SLOT="2" installed a helper outside of
+PATH which is no longer accessible to scripts. A separate package
+may be more appropriate for such a case.
+
+
An eselect module is often made available for these cases, though
ebuilds normally shouldn't depend on its use.