Get the sys.lib from python3 itself and do not use
 hardcoded value of 'lib' for distutils.

Solve the error below that occurs when run "python3 setup.py install"
on lib64 multilib platform:
[Errno 2] No such file or directory: 
'/usr/lib/python3.7/site-packages/test-easy-install-1828.write-test'

Signed-off-by: Li Zhou <[email protected]>
---
 ...python3-Do-not-hardcode-lib-for-distutils.patch | 42 ++++++++++++++++++++++
 meta/recipes-devtools/python/python3_3.7.6.bb      |  1 +
 2 files changed, 43 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch

diff --git 
a/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
 
b/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
new file mode 100644
index 0000000..9cab2ad
--- /dev/null
+++ 
b/meta/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch
@@ -0,0 +1,42 @@
+From 9dd978f044b9ada446fa827be01bbc34057ebfcf Mon Sep 17 00:00:00 2001
+From: Li Zhou <[email protected]>
+Date: Thu, 2 Jan 2020 13:29:17 +0800
+Subject: [PATCH] python3: Do not hardcode "lib" for distutils
+
+Get the sys.lib from python3 itself and do not use
+ hardcoded value of 'lib' for distutils.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Li Zhou <[email protected]>
+---
+ Lib/distutils/command/install.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/Lib/distutils/command/install.py 
b/Lib/distutils/command/install.py
+index 0258d3d..352fd8f 100644
+--- a/Lib/distutils/command/install.py
++++ b/Lib/distutils/command/install.py
+@@ -19,6 +19,8 @@ from site import USER_BASE
+ from site import USER_SITE
+ HAS_USER_SITE = True
+ 
++libname = sys.lib
++
+ WINDOWS_SCHEME = {
+     'purelib': '$base/Lib/site-packages',
+     'platlib': '$base/Lib/site-packages',
+@@ -29,8 +31,8 @@ WINDOWS_SCHEME = {
+ 
+ INSTALL_SCHEMES = {
+     'unix_prefix': {
+-        'purelib': '$base/lib/python$py_version_short/site-packages',
+-        'platlib': '$platbase/lib/python$py_version_short/site-packages',
++        'purelib': 
'$platbase/'+libname+'/python$py_version_short/site-packages',
++        'platlib': 
'$platbase/'+libname+'/python$py_version_short/site-packages',
+         'headers': 
'$base/include/python$py_version_short$abiflags/$dist_name',
+         'scripts': '$base/bin',
+         'data'   : '$base',
+-- 
+1.9.1
+
diff --git a/meta/recipes-devtools/python/python3_3.7.6.bb 
b/meta/recipes-devtools/python/python3_3.7.6.bb
index ae2f105..618245e 100644
--- a/meta/recipes-devtools/python/python3_3.7.6.bb
+++ b/meta/recipes-devtools/python/python3_3.7.6.bb
@@ -30,6 +30,7 @@ SRC_URI = 
"http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://0001-test_locale.py-correct-the-test-output-format.patch \
            
file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
            file://0001-configure.ac-fix-LIBPL.patch \
+           file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
            "
 
 SRC_URI_append_class-native = " \
-- 
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to