commit:     36097d70114b6278f15bde311a24e9d9d5c2368a
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 28 03:03:48 2025 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Mon Apr 28 03:18:16 2025 +0000
URL:        https://gitweb.gentoo.org/proj/binhost.git/commit/?id=36097d70

Require an exact gcc slot on all builders

The reason for this is because when stabilizing new distribution-wide
gcc versions, the new slot will be installed (this is okay) and the old
slot will be subsequently uninstalled by depclean. As part of
upgrading/installing/uninstalling a gcc slot, `eselect gcc` will run,
and retarget because the previously selected gcc is now gone, so it must
choose the new one.

We don't want to start using a new gcc immediately. Using a new gcc can
result in requiring new ABIs from libstdc++.so, which means binpackages
stop working unless you've updated gcc first. Even if you update gcc in
the same transaction, you can break e.g. `/usr/bin/gpg` halfway through
and then cannot verify your binpkgs to finish the transaction.

By requiring the current stable slot, we prevent depcleaning, and thus
ensure that `eselect gcc` always sees that version installed and
doesn't switch to a brand new version, even though the new version was
installed as an additional slot (and is available for binpackage
availability).

This does mean that during a transition period, the binhost does not
compile packages with the latest and greatest gcc, but this is a
worthwhile tradeoff...

Note for the future: when upgrading to a new gcc, bump the slot, do not
delete the world entry. That way it will automatically work next year
with a new gcc.

Bug: https://bugs.gentoo.org/920097
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 builders/dola/gnome-23/world      | 1 +
 builders/dola/kde-23/world        | 1 +
 builders/dola/server-23/world     | 1 +
 builders/milou/gnome-23/world     | 1 +
 builders/milou/gnome-v3-23/world  | 1 +
 builders/milou/kde-23/world       | 1 +
 builders/milou/kde-v3-23/world    | 1 +
 builders/milou/openrc-23/world    | 1 +
 builders/milou/openrc-v3-23/world | 1 +
 builders/milou/server-23/world    | 1 +
 builders/milou/server-v3-23/world | 1 +
 11 files changed, 11 insertions(+)

diff --git a/builders/dola/gnome-23/world b/builders/dola/gnome-23/world
index 2f86542..18948ce 100644
--- a/builders/dola/gnome-23/world
+++ b/builders/dola/gnome-23/world
@@ -21,6 +21,7 @@ net-vpn/openvpn
 sci-visualization/gnuplot
 sys-apps/pkgcore
 sys-apps/portage
+sys-devel/gcc:14
 llvm-core/clang
 dev-debug/gdb
 www-client/firefox

diff --git a/builders/dola/kde-23/world b/builders/dola/kde-23/world
index a6be64b..2d56d01 100644
--- a/builders/dola/kde-23/world
+++ b/builders/dola/kde-23/world
@@ -17,6 +17,7 @@ net-vpn/openvpn
 sci-visualization/gnuplot
 sys-apps/pkgcore
 sys-apps/portage
+sys-devel/gcc:14
 llvm-core/clang
 dev-debug/gdb
 www-client/firefox

diff --git a/builders/dola/server-23/world b/builders/dola/server-23/world
index 4b70775..70c673c 100644
--- a/builders/dola/server-23/world
+++ b/builders/dola/server-23/world
@@ -65,6 +65,7 @@ sys-apps/mlocate
 sys-apps/pciutils
 sys-apps/portage
 sys-boot/grub
+sys-devel/gcc:14
 sys-fs/btrfs-progs
 sys-fs/xfsprogs
 sys-fs/dosfstools

diff --git a/builders/milou/gnome-23/world b/builders/milou/gnome-23/world
index 54d95c8..65ea70f 100644
--- a/builders/milou/gnome-23/world
+++ b/builders/milou/gnome-23/world
@@ -54,6 +54,7 @@ sys-apps/pkgcore
 sys-apps/portage
 sys-boot/grub
 sys-cluster/openmpi
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 xfce-base/xfce4-meta

diff --git a/builders/milou/gnome-v3-23/world b/builders/milou/gnome-v3-23/world
index 54d95c8..65ea70f 100644
--- a/builders/milou/gnome-v3-23/world
+++ b/builders/milou/gnome-v3-23/world
@@ -54,6 +54,7 @@ sys-apps/pkgcore
 sys-apps/portage
 sys-boot/grub
 sys-cluster/openmpi
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 xfce-base/xfce4-meta

diff --git a/builders/milou/kde-23/world b/builders/milou/kde-23/world
index 3f4aea1..d2ef508 100644
--- a/builders/milou/kde-23/world
+++ b/builders/milou/kde-23/world
@@ -52,6 +52,7 @@ sci-visualization/spyview
 sys-apps/pkgcore
 sys-apps/portage
 sys-auth/AusweisApp
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 www-client/qutebrowser

diff --git a/builders/milou/kde-v3-23/world b/builders/milou/kde-v3-23/world
index 3f4aea1..d2ef508 100644
--- a/builders/milou/kde-v3-23/world
+++ b/builders/milou/kde-v3-23/world
@@ -52,6 +52,7 @@ sci-visualization/spyview
 sys-apps/pkgcore
 sys-apps/portage
 sys-auth/AusweisApp
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 www-client/qutebrowser

diff --git a/builders/milou/openrc-23/world b/builders/milou/openrc-23/world
index 66add79..befbc63 100644
--- a/builders/milou/openrc-23/world
+++ b/builders/milou/openrc-23/world
@@ -41,6 +41,7 @@ sci-visualization/gwyddion
 sci-visualization/spyview
 sys-apps/pkgcore
 sys-apps/portage
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 xfce-base/xfce4-meta

diff --git a/builders/milou/openrc-v3-23/world 
b/builders/milou/openrc-v3-23/world
index 131d014..8571bd9 100644
--- a/builders/milou/openrc-v3-23/world
+++ b/builders/milou/openrc-v3-23/world
@@ -42,6 +42,7 @@ sci-visualization/gwyddion
 sci-visualization/spyview
 sys-apps/pkgcore
 sys-apps/portage
+sys-devel/gcc:14
 dev-debug/gdb
 www-client/firefox
 xfce-base/xfce4-meta

diff --git a/builders/milou/server-23/world b/builders/milou/server-23/world
index 35ec65c..d894ca8 100644
--- a/builders/milou/server-23/world
+++ b/builders/milou/server-23/world
@@ -83,6 +83,7 @@ sys-apps/mlocate
 sys-apps/pciutils
 sys-apps/portage
 sys-boot/grub
+sys-devel/gcc:14
 sys-fs/btrfs-progs
 sys-fs/xfsprogs
 sys-fs/dosfstools

diff --git a/builders/milou/server-v3-23/world 
b/builders/milou/server-v3-23/world
index 35ec65c..d894ca8 100644
--- a/builders/milou/server-v3-23/world
+++ b/builders/milou/server-v3-23/world
@@ -83,6 +83,7 @@ sys-apps/mlocate
 sys-apps/pciutils
 sys-apps/portage
 sys-boot/grub
+sys-devel/gcc:14
 sys-fs/btrfs-progs
 sys-fs/xfsprogs
 sys-fs/dosfstools

Reply via email to