summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2020-01-17 14:16:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-19 13:24:38 +0000
commit2ed5d927ca9b88d3964ada990ef46cdd38ec4b1e (patch)
tree2110d3e9381867553c69ae5c743887e1caa97926 /meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
parent2b5cf2a067cb6d9ca32d851dacdc1aff0cbfe904 (diff)
downloadpoky-2ed5d927ca9b88d3964ada990ef46cdd38ec4b1e.tar.gz
python: remove Python 2 and all supporting classes
Python 2 ceased being maintained on the 1st January 2020. We've already removed all users of it from oe-core so the final step is to move the recipe and supporting classes to meta-python2. The following are removed in this commit: - python and python-native 2.7.17 - python-setuptools - The classes pythonnative, pythondir, distutils, setuptools (From OE-Core rev: 390f3edabfb1f68ed9766245291c5f44ea00cc38) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch')
-rw-r--r--meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch b/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
deleted file mode 100644
index 202aaf1069..0000000000
--- a/meta/recipes-devtools/python/python-native/revert_use_of_sysconfigdata.patch
+++ /dev/null
@@ -1,86 +0,0 @@
1On older versions of Python, sysconfig read the data from both the Makefile and
2the Python.h file generated at build time, created dictionaries with their variables
3and used those when using get_config_var(), now it uses _sysconfigdata.build_time_vars[]
4which contains information from the HOST, erroneous in our case, this patch reverts this
5behavior and uses Python.h and Makefile to get information.
6
7Upstream-Status: Inappropriate [oe-specific]
8
9Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
10
11Index: Python-2.7.9/Lib/distutils/sysconfig.py
12===================================================================
13--- Python-2.7.9.orig/Lib/distutils/sysconfig.py
14+++ Python-2.7.9/Lib/distutils/sysconfig.py
15@@ -401,12 +401,66 @@ _config_vars = None
16
17 def _init_posix():
18 """Initialize the module as appropriate for POSIX systems."""
19- # _sysconfigdata is generated at build time, see the sysconfig module
20- from _sysconfigdata import build_time_vars
21- global _config_vars
22- _config_vars = {}
23- _config_vars.update(build_time_vars)
24+ g = {}
25+ # load the installed Makefile:
26+ try:
27+ filename = get_makefile_filename()
28+ parse_makefile(filename, g)
29+ except IOError, msg:
30+ my_msg = "invalid Python installation: unable to open %s" % filename
31+ if hasattr(msg, "strerror"):
32+ my_msg = my_msg + " (%s)" % msg.strerror
33+
34+ raise DistutilsPlatformError(my_msg)
35+
36+ # load the installed pyconfig.h:
37+ try:
38+ filename = get_config_h_filename()
39+ parse_config_h(file(filename), g)
40+ except IOError, msg:
41+ my_msg = "invalid Python installation: unable to open %s" % filename
42+ if hasattr(msg, "strerror"):
43+ my_msg = my_msg + " (%s)" % msg.strerror
44+
45+ raise DistutilsPlatformError(my_msg)
46+
47+ # On AIX, there are wrong paths to the linker scripts in the Makefile
48+ # -- these paths are relative to the Python source, but when installed
49+ # the scripts are in another directory.
50+ if python_build:
51+ g['LDSHARED'] = g['BLDSHARED']
52
53+ elif get_python_version() < '2.1':
54+ # The following two branches are for 1.5.2 compatibility.
55+ if sys.platform == 'aix4': # what about AIX 3.x ?
56+ # Linker script is in the config directory, not in Modules as the
57+ # Makefile says.
58+ python_lib = get_python_lib(standard_lib=1)
59+ ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
60+ python_exp = os.path.join(python_lib, 'config', 'python.exp')
61+
62+ g['LDSHARED'] = "%s %s -bI:%s" % (ld_so_aix, g['CC'], python_exp)
63+
64+ elif sys.platform == 'beos':
65+ # Linker script is in the config directory. In the Makefile it is
66+ # relative to the srcdir, which after installation no longer makes
67+ # sense.
68+ python_lib = get_python_lib(standard_lib=1)
69+ linkerscript_path = string.split(g['LDSHARED'])[0]
70+ linkerscript_name = os.path.basename(linkerscript_path)
71+ linkerscript = os.path.join(python_lib, 'config',
72+ linkerscript_name)
73+
74+ # XXX this isn't the right place to do this: adding the Python
75+ # library to the link, if needed, should be in the "build_ext"
76+ # command. (It's also needed for non-MS compilers on Windows, and
77+ # it's taken care of for them by the 'build_ext.get_libraries()'
78+ # method.)
79+ g['LDSHARED'] = ("%s -L%s/lib -lpython%s" %
80+ (linkerscript, PREFIX, get_python_version()))
81+
82+ global _config_vars
83+ _config_vars = g
84
85 def _init_nt():
86 """Initialize the module as appropriate for NT"""