python3-setuptools: _distutils/sysconfig fix

Add patch to append STAGING_LIBDIR python-sysconfigdata to sys.path so
that packages which set SETUPTOOLS_USE_DISUTILS='local' cross-compile
properly with python3-setuptools-native.

Fixes:
ModuleNotFoundError: No module named '_sysconfigdata'

References:
https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html#porting-from-distutils

(From OE-Core rev: f6fb99c53f779966fc902a629d0a8bbd9f84c6be)

Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Tim Orling
2021-10-20 18:57:24 +00:00
committed by Richard Purdie
parent 00372aa2f5
commit aa600e70d9
2 changed files with 38 additions and 1 deletions

View File

@@ -0,0 +1,34 @@
From 44349672cbff8945693c8d2821c82e9f04bfc8b5 Mon Sep 17 00:00:00 2001
From: Tim Orling <timothy.t.orling@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.kanavin@gmail.com>
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Tim Orling <timothy.t.orling@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 8832b3e..bbc7c08 100644
--- a/setuptools/_distutils/sysconfig.py
+++ b/setuptools/_distutils/sysconfig.py
@@ -461,6 +461,8 @@ def _init_posix():
platform=sys.platform,
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: