commit:     50546c3db84904399e5624eb8f163e3d2be284e3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 18:19:38 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 18:22:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50546c3d

distutils-r1.eclass: adjust setuptools dep to avoid known-bad versions

79071eb9f6f4a5725c1a89700bcfd7f120101179 tried to mitigate this but
blockers don't affect dependency resolution (ordering), so let's add
a || ( <dev-python/setuptools-... >=dev-python/setuptools-...) dep
in the eclass to ensure that the bad in-between versions (which were
in ~arch, not stable, for a period, and are no longer in tree) aren't
considered good enough to install any distutils-r1 PEP517 packages.

We can clean this up once newer setuptools is stable & then simplify
(and tighten) the dep.

(Worth keeping in mind that Portage (rightly) doesn't aggressively
update things listed in RDEPEND in that order simply because they're
in RDEPEND. It might update something listed in RDEPEND after the
package listing it provided there's no >= or otherwise dep.)

Bug: https://bugs.gentoo.org/892529
Bug: https://bugs.gentoo.org/892525
Bug: https://bugs.gentoo.org/893538
Bug: https://bugs.gentoo.org/893632
Bug: https://bugs.gentoo.org/893630
Bug: https://bugs.gentoo.org/893634
Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/distutils-r1.eclass | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e97789cc1990..06fd6a5059dd 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -248,8 +248,14 @@ _distutils_set_globals() {
                                '
                                ;;
                        setuptools)
+                               # || ( ... ) dep is a workaround for bug #892525
+                               # It can be removed once >=67.2.0 is stable and 
replaced with
+                               # a simple >=67.2.0 dep.
                                bdep+='
-                                       
>=dev-python/setuptools-65.7.0[${PYTHON_USEDEP}]
+                                       || (
+                                               
>=dev-python/setuptools-67.2.0[${PYTHON_USEDEP}]
+                                               
<dev-python/setuptools-65.6.4[${PYTHON_USEDEP}]
+                                       )
                                        
>=dev-python/wheel-0.38.4[${PYTHON_USEDEP}]
                                '
                                ;;

Reply via email to