glibc and a few other critical packages depend on Python using python-any-r1. python-utils-r1 has _python_run_check_deps() which checks PYTHON_PKG_DEP w/ has_version. We set PYTHON_PKG_DEP to a bunch of tight, recent versions which is enforced via BDEPEND. We then verify that at build time. This is problematic in two cases at least: 1. Portage will try to aggressively upgrade glibc and Python may not have been upgraded first (despite its BDEPEND, but whatever) 2. Sometimes an out of date system may find it hard to upgrade everything and piecewise updating a core lirbary or two is desirable, but this won't work if the right Python slots are available but not the right recent versions. I think we should just check for the correct Python interpreter slot + use dep in _python_run_check_deps, or maintain a list of alternative baseline versions for checking in _python_run_check_deps instead. (We could also, for python-any-r1, iterate over the tight ones, then iterate over the loose ones, to reduce the chance of picking a weak one unless we really have to, but I don't think it's worth it.)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee468eec11953a67f877bc7e15079f9dcdc7ddaa commit ee468eec11953a67f877bc7e15079f9dcdc7ddaa Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2023-07-15 15:51:25 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2023-07-17 09:44:22 +0000 python-utils-r1.eclass: Loosen minimal Python versions Loosen minimal Python versions to accept any version in a given slot. Lower bounds are cumbersome to maintain and cause problems when upgrading outdated systems, particularly when sys-libs/glibc is involved. We could technically apply some hack to make any-r1 dependency checks to conditionally ignore minimal versions but that sounds like unnecessary complexity. In the end, minimum versions were primarily enforced to make sure users got the latest bugfixes but that doesn't seem strictly necessary. Closes: https://bugs.gentoo.org/910288 Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/31796 Signed-off-by: Michał Górny <mgorny@gentoo.org> eclass/python-any-r1.eclass | 6 +++--- eclass/python-r1.eclass | 2 +- eclass/python-utils-r1.eclass | 12 +++++------- 3 files changed, 9 insertions(+), 11 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b9d01719e16b0016f6525a99e8087e8ee1b50eb commit 8b9d01719e16b0016f6525a99e8087e8ee1b50eb Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-24 22:45:04 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-24 22:45:04 +0000 Revert "sys-libs/glibc: relax python dependencies" This reverts commit 018d5f301fe4bf859e66bf5f1f7b9db94d8104c2. Now that bug #910288 is fixed, we don't need to do this anymore. Bug: https://bugs.gentoo.org/910288 Signed-off-by: Sam James <sam@gentoo.org> sys-libs/glibc/glibc-2.37-r3.ebuild | 16 ++++++++++------ sys-libs/glibc/glibc-9999.ebuild | 18 +++++++++++------- 2 files changed, 21 insertions(+), 13 deletions(-)