public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH] install-qa-check.d: do not request DISTUTILS_USE_SETUPTOOLS=no
@ 2022-01-09  8:15 Michał Górny
  2022-01-09  8:22 ` Michał Górny
  0 siblings, 1 reply; 2+ messages in thread
From: Michał Górny @ 2022-01-09  8:15 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

The Python distutils deprecation is for real, and nowadays setuptools
installs hacks that override distutils with their own bundled version.
For this reason, the check no longer works reliably and even if it were,
we will eventually be requiring setuptools on all Python packages.
Avoid asking people to set DISTUTILS_USE_SETUPTOOLS=no; allow either
"no" or "bdepend" for the time being.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 metadata/install-qa-check.d/60distutils-use-setuptools | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/metadata/install-qa-check.d/60distutils-use-setuptools b/metadata/install-qa-check.d/60distutils-use-setuptools
index a7905c3f0b2f..6b3d063c73cf 100644
--- a/metadata/install-qa-check.d/60distutils-use-setuptools
+++ b/metadata/install-qa-check.d/60distutils-use-setuptools
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # QA check: verify correctness of DISTUTILS_USE_SETUPTOOLS
@@ -63,6 +63,10 @@ distutils_use_setuptools_check() {
 		eerror "https://dev.gentoo.org/~mgorny/python-guide/distutils.html#conditional-distutils-setuptools-use-in-packages"
 		eerror "Please report a bug about this and CC python@"
 	else
+		# now that distutils is deprecated and setuptools hacks its own
+		# version in, the check no longer works reliably.  just assume
+		# either "bdepend" or "no" is fine for the time being
+		[[ ${expected} == no ]] && expected+=( bdepend )
 		# if we did not find anything, also assume 'no' is desired,
 		# we do not want the setuptools dep
 		[[ ${#expected[@]} -eq 0 ]] && expected=( no )
@@ -71,8 +75,6 @@ distutils_use_setuptools_check() {
 		# NB: note that expected is overwritten above, so this implies !rdepend
 		# if the package is using entry points, modern versions of setuptools
 		# use built-in importlib.metadata module, so no rdep needed anymore
-		# NB2: this is incorrect for pypy3.7 but we ignore this for the time
-		# being
 		has entry-point "${expected[@]}" && expected=( bdepend )
 
 		if ! has ${DISTUTILS_USE_SETUPTOOLS} "${expected[@]}"; then
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-09  8:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-09  8:15 [gentoo-dev] [PATCH] install-qa-check.d: do not request DISTUTILS_USE_SETUPTOOLS=no Michał Górny
2022-01-09  8:22 ` Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox