commit: 2cea4cf5833907788cc0f7442181cc5c6349452d
Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 2 05:03:27 2025 +0000
Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Sun Nov 2 05:03:27 2025 +0000
URL: https://gitweb.gentoo.org/proj/binhost.git/commit/?id=2cea4cf5
variants: python3both: hack around solver bug preferring incorrect binpkgs
usepkg with a binary package + changed dependencies (SLOT rebuild)
triggers downgrade of dependencies
In particular, when requesting all packages with -python get rebuilt
with PYTHON_TARGETS="", libxml2 gets downgraded because the requested
merge has binpackages available for PYTHON_TARGETS="" of various
packages e.g. libxslt, if and only if, libxml2:= is an older subslot.
However, downgrading libxml2 results in a required USE mismatch, since
it has +python and thus needs at least one python_targets_* enabled. It
wasn't supposed to be on the merge list at all.
By also requesting -python, the solver is -- somehow -- tricked into not
downgrading libxml2, but discarding binaries for e.g. libxslt instead.
The USE is safe anyways since we are only supposed to be passing grepped
packages to the emerge command line, based on the query "has python in
IUSE, and is built with it disabled in USE".
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>
builders/dola/gnome-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/dola/kde-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/dola/server-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/gnome-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/gnome-v3-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/kde-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/kde-v3-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/server-23/portage/variants/python3both/buildpkgonly | 3 ++-
builders/milou/server-v3-23/portage/variants/python3both/buildpkgonly | 3 ++-
9 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/builders/dola/gnome-23/portage/variants/python3both/buildpkgonly
b/builders/dola/gnome-23/portage/variants/python3both/buildpkgonly
index 79438ec..aae8e72 100755
--- a/builders/dola/gnome-23/portage/variants/python3both/buildpkgonly
+++ b/builders/dola/gnome-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
diff --git a/builders/dola/kde-23/portage/variants/python3both/buildpkgonly
b/builders/dola/kde-23/portage/variants/python3both/buildpkgonly
index dfd1569..c855314 100755
--- a/builders/dola/kde-23/portage/variants/python3both/buildpkgonly
+++ b/builders/dola/kde-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}')
diff --git a/builders/dola/server-23/portage/variants/python3both/buildpkgonly
b/builders/dola/server-23/portage/variants/python3both/buildpkgonly
index f6f87f0..8bf2a62 100755
--- a/builders/dola/server-23/portage/variants/python3both/buildpkgonly
+++ b/builders/dola/server-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')
diff --git a/builders/milou/gnome-23/portage/variants/python3both/buildpkgonly
b/builders/milou/gnome-23/portage/variants/python3both/buildpkgonly
index 79438ec..aae8e72 100755
--- a/builders/milou/gnome-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/gnome-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
diff --git
a/builders/milou/gnome-v3-23/portage/variants/python3both/buildpkgonly
b/builders/milou/gnome-v3-23/portage/variants/python3both/buildpkgonly
index 79438ec..aae8e72 100755
--- a/builders/milou/gnome-v3-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/gnome-v3-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed
'/samba/d;/ldb/d;/tdb/d;/tevent/d;/qemu/d')
diff --git a/builders/milou/kde-23/portage/variants/python3both/buildpkgonly
b/builders/milou/kde-23/portage/variants/python3both/buildpkgonly
index dfd1569..c855314 100755
--- a/builders/milou/kde-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/kde-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}')
diff --git a/builders/milou/kde-v3-23/portage/variants/python3both/buildpkgonly
b/builders/milou/kde-v3-23/portage/variants/python3both/buildpkgonly
index dfd1569..c855314 100755
--- a/builders/milou/kde-v3-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/kde-v3-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}')
diff --git a/builders/milou/server-23/portage/variants/python3both/buildpkgonly
b/builders/milou/server-23/portage/variants/python3both/buildpkgonly
index f6f87f0..8bf2a62 100755
--- a/builders/milou/server-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/server-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')
diff --git
a/builders/milou/server-v3-23/portage/variants/python3both/buildpkgonly
b/builders/milou/server-v3-23/portage/variants/python3both/buildpkgonly
index f6f87f0..8bf2a62 100755
--- a/builders/milou/server-v3-23/portage/variants/python3both/buildpkgonly
+++ b/builders/milou/server-v3-23/portage/variants/python3both/buildpkgonly
@@ -12,4 +12,5 @@ __EOF__
EPYTHON=python3.12 emerge -uDN --backtrack=100 @world
-PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I --has-use python
--attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')
+# USE is redundant, but works around https://bugs.gentoo.org/964705
+USE="-python" PYTHON_TARGETS= PYTHON_SINGLE_TARGET= emerge -1 $(pquery -I
--has-use python --attr use| awk '/-python[ $]/{print "="$1}' | sed '/z3/d')