This was held by numpy rejecting setuptools >= 60.x, however it got a workaround in recent point releases and so the upgrade can proceed.
Drop 0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch as changed code completely removed upstream. Replicate another distutils/sysconfig.py fix from python recipe via 0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch Add a tomli build dependency to python3-setuptools-scm as new setuptools exposes: | File "/srv/work/alex/poky/build-64-alt/tmp/work/x86_64-linux/python3-setuptools-scm-native/6.4.2-r0/setuptools_scm-6.4.2/src/setuptools_scm/config.py", line 59, in _lazy_tomli_load | from tomli import loads | ModuleNotFoundError: No module named 'tomli' Signed-off-by: Alexander Kanavin <a...@linutronix.de> --- ...ly-do-not-fetch-code-by-easy_install.patch | 6 +- .../python/python3-setuptools-scm_6.4.2.bb | 2 + ...nfig-append-STAGING_LIBDIR-python-sy.patch | 35 ----------- ...nfig.py-make-it-possible-to-substite.patch | 60 +++++++++++++++++++ ...59.5.0.bb => python3-setuptools_62.3.1.bb} | 8 +-- 5 files changed, 68 insertions(+), 43 deletions(-) delete mode 100644 meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch create mode 100644 meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch rename meta/recipes-devtools/python/{python3-setuptools_59.5.0.bb => python3-setuptools_62.3.1.bb} (87%) diff --git a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch index 5e2ee454da..a2b7a519af 100644 --- a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ b/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch @@ -1,4 +1,4 @@ -From da88c57fe03e4474ba20325edacf519e80c1d7a8 Mon Sep 17 00:00:00 2001 +From d1b4fa4a99774878035a0f664ec0d9686e7f0c89 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu....@windriver.com> Date: Tue, 17 Jul 2018 10:13:38 +0800 Subject: [PATCH] conditionally do not fetch code by easy_install @@ -15,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu....@windriver.com> 1 file changed, 5 insertions(+) diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py -index fc848d0..c04a5de 100644 +index 444d3b3..61e445a 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py -@@ -642,6 +642,11 @@ class easy_install(Command): +@@ -648,6 +648,11 @@ class easy_install(Command): os.path.exists(tmpdir) and rmtree(tmpdir) def easy_install(self, spec, deps=False): diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb b/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb index e09c598bf5..9aaae071d3 100644 --- a/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb +++ b/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb @@ -11,6 +11,8 @@ inherit pypi python_setuptools_build_meta UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar" +DEPENDS += "python3-tomli-native" + RDEPENDS:${PN} = "\ ${PYTHON_PN}-packaging \ ${PYTHON_PN}-pyparsing \ diff --git a/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch b/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch deleted file mode 100644 index 3150187951..0000000000 --- a/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1ff575308248b183639c8cb14afee7c8572bd2b8 Mon Sep 17 00:00:00 2001 -From: Tim Orling <timothy.t.orl...@intel.com> -Date: Wed, 20 Oct 2021 17:38:10 +0000 -Subject: [PATCH] _distutils/sysconfig: append - STAGING_LIBDIR/python-sysconfigdata to sys.path - -When python modules set SETUPTOOLS_USE_DISTULS='local', this uses the -vendored _distutils in setuptools rather than distutils in the Standard -Library. This is needed so that target configuration can be used with -python3-setuptools-native. - -Based on python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch -from Alex Kanavin <alex.kana...@gmail.com> - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Tim Orling <timothy.t.orl...@intel.com> - ---- - setuptools/_distutils/sysconfig.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/setuptools/_distutils/sysconfig.py b/setuptools/_distutils/sysconfig.py -index d36d94f..616eb91 100644 ---- a/setuptools/_distutils/sysconfig.py -+++ b/setuptools/_distutils/sysconfig.py -@@ -484,6 +484,8 @@ def _init_posix(): - multiarch=getattr(sys.implementation, '_multiarch', ''), - ), - ) -+ if 'STAGING_LIBDIR' in os.environ: -+ sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata') - try: - _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) - except ImportError: diff --git a/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch b/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch new file mode 100644 index 0000000000..c1b3dd6a30 --- /dev/null +++ b/meta/recipes-devtools/python/python3-setuptools/0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch @@ -0,0 +1,60 @@ +From 41f78746cbe88d263400ee948abef5b3f89cce29 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <a...@linutronix.de> +Date: Wed, 11 May 2022 21:41:14 +0200 +Subject: [PATCH] _distutils/sysconfig.py: make it possible to substite the + prefix to target sysroot + +This is done by probing STAGING_INCDIR/STAGING_LIBDIRenv vars: +not the most elegant solution, but distutils/sysconfig has been +tweaked to do this for many, many year, and so it's easiest +to replicate here as well, the original is +meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch + +I'm not sure exactly why setuptools now needs a copy, and what +would happen to this module in light of distutils deprecation. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <a...@linutronix.de> +--- + setuptools/_distutils/sysconfig.py | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/setuptools/_distutils/sysconfig.py b/setuptools/_distutils/sysconfig.py +index 55a42e1..ead63b9 100644 +--- a/setuptools/_distutils/sysconfig.py ++++ b/setuptools/_distutils/sysconfig.py +@@ -102,7 +102,9 @@ def get_python_inc(plat_specific=0, prefix=None): + If 'prefix' is supplied, use it instead of sys.base_prefix or + sys.base_exec_prefix -- i.e., ignore 'plat_specific'. + """ +- if prefix is None: ++ if prefix is None and os.environ.get('STAGING_INCDIR', ""): ++ prefix = os.environ['STAGING_INCDIR'].rstrip('include') ++ elif prefix is None: + prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX + if os.name == "posix": + if IS_PYPY and sys.version_info < (3, 8): +@@ -167,7 +169,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + + early_prefix = prefix + +- if prefix is None: ++ if os.environ.get('STAGING_LIBDIR', ""): ++ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] ++ else: ++ lib_basename = "lib" ++ if prefix is None and os.environ.get('STAGING_LIBDIR', ""): ++ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) ++ elif prefix is None: + if standard_lib: + prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX + else: +@@ -182,7 +190,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + # Pure Python + libdir = "lib" + implementation = 'pypy' if IS_PYPY else 'python' +- libpython = os.path.join(prefix, libdir, ++ libpython = os.path.join(prefix, lib_basename, + implementation + get_python_version()) + return _posix_lib(standard_lib, libpython, early_prefix, prefix) + elif os.name == "nt": diff --git a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb b/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb similarity index 87% rename from meta/recipes-devtools/python/python3-setuptools_59.5.0.bb rename to meta/recipes-devtools/python/python3-setuptools_62.3.1.bb index f2810e18d3..c9367c180f 100644 --- a/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb +++ b/meta/recipes-devtools/python/python3-setuptools_62.3.1.bb @@ -8,12 +8,10 @@ inherit pypi python_setuptools_build_meta SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" -SRC_URI += "\ - file://0001-change-shebang-to-python3.patch \ - file://0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch \ -" +SRC_URI += "file://0001-change-shebang-to-python3.patch \ + file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" -SRC_URI[sha256sum] = "d144f85102f999444d06f9c0e8c737fd0194f10f2f7e5fdb77573f6e2fa4fad0" +SRC_URI[sha256sum] = "28c79c24d83c42a5e6d6cc711e5e9a6c1b89326229feaa5807fc277040658600" DEPENDS += "${PYTHON_PN}" -- 2.30.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#165800): https://lists.openembedded.org/g/openembedded-core/message/165800 Mute This Topic: https://lists.openembedded.org/mt/91183484/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-