python3: Use _sysconfigdata.py to initialize distutils.sysconfig

Porting patch from
<409482251b>
to use _sysconfigdata.py to initialize distutils.sysconfig.

This patch makes that distutils.sysconfig doesn't need config-*/Makefile
in libdir any more. Next we can move it from python3-misc to python3-dev
package.

(From OE-Core rev: 659a80afc5894658f8b82fcd62ebe3562b441db9)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Li Zhou 2017-05-27 17:46:15 +08:00 committed by Richard Purdie
parent c9f0e25a16
commit 0862df262d
2 changed files with 67 additions and 0 deletions

View File

@ -0,0 +1,66 @@
From bcddbf40c7f1b80336268cdddacc17369fb0ccea Mon Sep 17 00:00:00 2001
From: Libin Dang <libin.dang@windriver.com>
Date: Tue, 11 Apr 2017 14:12:15 +0800
Subject: [PATCH] Issue #21272: Use _sysconfigdata.py to initialize
distutils.sysconfig
Backport upstream commit
https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4b23d934159
Upstream-Status: Backport
Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
Lib/distutils/sysconfig.py | 35 ++++-------------------------------
1 file changed, 4 insertions(+), 31 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 6d5cfd0..9925d24 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -424,38 +424,11 @@ _config_vars = None
def _init_posix():
"""Initialize the module as appropriate for POSIX systems."""
- g = {}
- # load the installed Makefile:
- try:
- filename = get_makefile_filename()
- parse_makefile(filename, g)
- except OSError as msg:
- my_msg = "invalid Python installation: unable to open %s" % filename
- if hasattr(msg, "strerror"):
- my_msg = my_msg + " (%s)" % msg.strerror
-
- raise DistutilsPlatformError(my_msg)
-
- # load the installed pyconfig.h:
- try:
- filename = get_config_h_filename()
- with open(filename) as file:
- parse_config_h(file, g)
- except OSError as msg:
- my_msg = "invalid Python installation: unable to open %s" % filename
- if hasattr(msg, "strerror"):
- my_msg = my_msg + " (%s)" % msg.strerror
-
- raise DistutilsPlatformError(my_msg)
-
- # On AIX, there are wrong paths to the linker scripts in the Makefile
- # -- these paths are relative to the Python source, but when installed
- # the scripts are in another directory.
- if python_build:
- g['LDSHARED'] = g['BLDSHARED']
-
+ # _sysconfigdata is generated at build time, see the sysconfig module
+ from _sysconfigdata import build_time_vars
global _config_vars
- _config_vars = g
+ _config_vars = {}
+ _config_vars.update(build_time_vars)
def _init_nt():
--
1.8.3.1

View File

@ -36,6 +36,7 @@ SRC_URI += "\
file://setup.py-find-libraries-in-staging-dirs.patch \
file://configure.ac-fix-LIBPL.patch \
file://upstream-random-fixes.patch \
file://0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch \
"
SRC_URI[md5sum] = "57d1f8bfbabf4f2500273fb0706e6f21"
SRC_URI[sha256sum] = "eefe2ad6575855423ab630f5b51a8ef6e5556f774584c06beab4926f930ddbb0"