From d4ad95f0d5f08891637c644e85b09da9c4585059 Mon Sep 17 00:00:00 2001 From: Alejandro Hernandez Date: Wed, 11 Feb 2015 17:57:49 -0600 Subject: Python: Upgrade from 2.7.3 to 2.7.9: - Based on Paul Eggletons work to partially upgrade to Python 2.7.6 Modified: default-versions.inc: switched to python 2.7.9 generate-manifest-2.7.py: fixed _sysconfigdata python-2.7-manifest.inc: fixed _sysconfigdata python.inc: Updated checksums and source, no LICENSE change just updated some dates python-native_2.7.3 -> python-native_2.7.9 and updated patches python_2.7.3 -> python_2.7.9, and added ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no in EXTRA_OECONF to solve python issue #3754, only needed when cross compiling, also updated patches use_sysroot_ncurses_instead_of_host.patch: New patch to use ncursesw from sysroot instead of hosts, introduced by fix for python issue #15268 Rebased: 01-use-proper-tools-for-cross-build.patch 03-fix-tkinter-detection.patch 05-enable-ctypes-cross-build.patch 06-avoid_usr_lib_termcap_path_in_linking.patch avoid_warning_about_tkinter.patch builddir.patch fix_for_using_different_libdir.patch host_include_contamination.patch multilib.patch nohostlibs.patch search_db_h_in_inc_dirs_and_avoid_warning.patch Deleted (fixed on upstream): 06-ctypes-libffi-fix-configure.patch CVE-2013-4073_py27.patch gcc-4.8-fix-configure-Wformat.patch json-flaw-fix.patch posix_close.patch pypirc-secure.patch python-2.7.3-CVE-2012-2135.patch python-2.7.3-CVE-2013-1752-smtplib-fix.patch python-2.7.3-CVE-2014-1912.patch python-2.7.3-CVE-2014-7185.patch python-2.7.3-berkeley-db-5.3.patch python-fix-build-error-with-Readline-6.3.patch remove-BOM-insection-code.patch remove_sqlite_rpath.patch python2.7.3-nossl3.patch [YOCTO #7059] Signed-off-by: Alejandro Hernandez --- meta/recipes-devtools/python/python/multilib.patch | 205 ++++++++++++--------- 1 file changed, 122 insertions(+), 83 deletions(-) (limited to 'meta/recipes-devtools/python/python/multilib.patch') diff --git a/meta/recipes-devtools/python/python/multilib.patch b/meta/recipes-devtools/python/python/multilib.patch index df470f7c09..0bfa0d2cf4 100644 --- a/meta/recipes-devtools/python/python/multilib.patch +++ b/meta/recipes-devtools/python/python/multilib.patch @@ -1,26 +1,25 @@ -commit 248279e54467a8cd5cde98fc124d1d1384703513 -Author: Yu Ke -Date: Tue Jun 28 21:21:29 2011 +0800 +Rebased for python-2.7.9 +Signed-Off-By: Alejandro Hernandez - SUSE patch for the lib64 issue - - see detail in http://bugs.python.org/issue1294959 - - also rebased a bit for Yocto python 2.6.6 - - Picked-by: Yu Ke - -2011/09/29 -Rebased for python 2.7.2 - -Upstream-Status: Inappropriate [configuration] - -Signed-Off-By: Nitin A Kamble - -Index: Python-2.7.2/Include/pythonrun.h +Index: Python-2.7.9/configure.ac =================================================================== ---- Python-2.7.2.orig/Include/pythonrun.h -+++ Python-2.7.2/Include/pythonrun.h +--- Python-2.7.9.orig/configure.ac ++++ Python-2.7.9/configure.ac +@@ -736,6 +736,10 @@ SunOS*) + ;; + esac + ++AC_SUBST(LIB) ++AC_MSG_CHECKING(LIB) ++LIB=`basename ${libdir}` ++AC_MSG_RESULT($LIB) + + AC_SUBST(LIBRARY) + AC_MSG_CHECKING(LIBRARY) +Index: Python-2.7.9/Include/pythonrun.h +=================================================================== +--- Python-2.7.9.orig/Include/pythonrun.h ++++ Python-2.7.9/Include/pythonrun.h @@ -108,6 +108,7 @@ PyAPI_FUNC(char *) Py_GetPath(void); /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); @@ -29,10 +28,10 @@ Index: Python-2.7.2/Include/pythonrun.h PyAPI_FUNC(const char *) Py_GetCopyright(void); PyAPI_FUNC(const char *) Py_GetCompiler(void); PyAPI_FUNC(const char *) Py_GetBuildInfo(void); -Index: Python-2.7.2/Lib/distutils/command/install.py +Index: Python-2.7.9/Lib/distutils/command/install.py =================================================================== ---- Python-2.7.2.orig/Lib/distutils/command/install.py -+++ Python-2.7.2/Lib/distutils/command/install.py +--- Python-2.7.9.orig/Lib/distutils/command/install.py ++++ Python-2.7.9/Lib/distutils/command/install.py @@ -22,6 +22,8 @@ from site import USER_BASE from site import USER_SITE @@ -51,11 +50,11 @@ Index: Python-2.7.2/Lib/distutils/command/install.py 'headers': '$base/include/python$py_version_short/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -Index: Python-2.7.2/Lib/distutils/sysconfig.py +Index: Python-2.7.9/Lib/distutils/sysconfig.py =================================================================== ---- Python-2.7.2.orig/Lib/distutils/sysconfig.py -+++ Python-2.7.2/Lib/distutils/sysconfig.py -@@ -114,8 +114,11 @@ def get_python_lib(plat_specific=0, stan +--- Python-2.7.9.orig/Lib/distutils/sysconfig.py ++++ Python-2.7.9/Lib/distutils/sysconfig.py +@@ -119,8 +119,11 @@ def get_python_lib(plat_specific=0, stan prefix = plat_specific and EXEC_PREFIX or PREFIX if os.name == "posix": @@ -69,11 +68,11 @@ Index: Python-2.7.2/Lib/distutils/sysconfig.py if standard_lib: return libpython else: -Index: Python-2.7.2/Lib/pydoc.py +Index: Python-2.7.9/Lib/pydoc.py =================================================================== ---- Python-2.7.2.orig/Lib/pydoc.py -+++ Python-2.7.2/Lib/pydoc.py -@@ -352,7 +352,7 @@ class Doc: +--- Python-2.7.9.orig/Lib/pydoc.py ++++ Python-2.7.9/Lib/pydoc.py +@@ -383,7 +383,7 @@ class Doc: docloc = os.environ.get("PYTHONDOCS", "http://docs.python.org/library") @@ -82,11 +81,11 @@ Index: Python-2.7.2/Lib/pydoc.py "python"+sys.version[0:3]) if (isinstance(object, type(os)) and (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', -Index: Python-2.7.2/Lib/site.py +Index: Python-2.7.9/Lib/site.py =================================================================== ---- Python-2.7.2.orig/Lib/site.py -+++ Python-2.7.2/Lib/site.py -@@ -300,13 +300,19 @@ def getsitepackages(): +--- Python-2.7.9.orig/Lib/site.py ++++ Python-2.7.9/Lib/site.py +@@ -288,13 +288,18 @@ def getsitepackages(): if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': @@ -95,12 +94,11 @@ Index: Python-2.7.2/Lib/site.py "python" + sys.version[:3], "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-python")) -+ if sys.lib != "lib": -+ sitepackages.append(os.path.join(prefix, "lib", -+ "python" + sys.version[:3], -+ "site-packages")) + sitepackages.append(os.path.join(prefix, sys.lib, "site-python")) + if sys.lib != "lib": ++ sitepackages.append(os.path.join(prefix, "lib", ++ "python" + sys.version[:3], ++ "site-packages")) + sitepackages.append(os.path.join(prefix, "lib", "site-python")) else: sitepackages.append(prefix) @@ -109,11 +107,43 @@ Index: Python-2.7.2/Lib/site.py if sys.platform == "darwin": # for framework builds *only* we add the standard Apple # locations. -Index: Python-2.7.2/Lib/test/test_dl.py +Index: Python-2.7.9/Lib/sysconfig.py +=================================================================== +--- Python-2.7.9.orig/Lib/sysconfig.py ++++ Python-2.7.9/Lib/sysconfig.py +@@ -7,10 +7,10 @@ from os.path import pardir, realpath + + _INSTALL_SCHEMES = { + 'posix_prefix': { +- 'stdlib': '{base}/lib/python{py_version_short}', +- 'platstdlib': '{platbase}/lib/python{py_version_short}', ++ 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}', ++ 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}', + 'purelib': '{base}/lib/python{py_version_short}/site-packages', +- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages', + 'include': '{base}/include/python{py_version_short}', + 'platinclude': '{platbase}/include/python{py_version_short}', + 'scripts': '{base}/bin', +@@ -65,10 +65,10 @@ _INSTALL_SCHEMES = { + 'data' : '{userbase}', + }, + 'posix_user': { +- 'stdlib': '{userbase}/lib/python{py_version_short}', +- 'platstdlib': '{userbase}/lib/python{py_version_short}', ++ 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', ++ 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', + 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages', + 'include': '{userbase}/include/python{py_version_short}', + 'scripts': '{userbase}/bin', + 'data' : '{userbase}', +Index: Python-2.7.9/Lib/test/test_dl.py =================================================================== ---- Python-2.7.2.orig/Lib/test/test_dl.py -+++ Python-2.7.2/Lib/test/test_dl.py -@@ -5,10 +5,11 @@ +--- Python-2.7.9.orig/Lib/test/test_dl.py ++++ Python-2.7.9/Lib/test/test_dl.py +@@ -4,10 +4,11 @@ import unittest from test.test_support import verbose, import_module dl = import_module('dl', deprecated=True) @@ -127,11 +157,35 @@ Index: Python-2.7.2/Lib/test/test_dl.py ('/usr/bin/cygwin1.dll', 'getpid'), ('/usr/lib/libc.dylib', 'getpid'), ] -Index: Python-2.7.2/Lib/trace.py +Index: Python-2.7.9/Lib/test/test_site.py =================================================================== ---- Python-2.7.2.orig/Lib/trace.py -+++ Python-2.7.2/Lib/trace.py -@@ -762,10 +762,10 @@ def main(argv=None): +--- Python-2.7.9.orig/Lib/test/test_site.py ++++ Python-2.7.9/Lib/test/test_site.py +@@ -241,12 +241,16 @@ class HelperFunctionsTests(unittest.Test + self.assertEqual(dirs[2], wanted) + elif os.sep == '/': + # OS X non-framwework builds, Linux, FreeBSD, etc +- self.assertEqual(len(dirs), 2) + wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], + 'site-packages') +- self.assertEqual(dirs[0], wanted) ++ self.assertTrue(wanted in dirs) + wanted = os.path.join('xoxo', 'lib', 'site-python') +- self.assertEqual(dirs[1], wanted) ++ self.assertTrue(wanted in dirs) ++ wanted = os.path.join('xoxo', sys.lib, 'python' + sys.version[:3], ++ 'site-packages') ++ self.assertTrue(wanted in dirs) ++ wanted = os.path.join('xoxo', sys.lib, 'site-python') ++ self.assertTrue(wanted in dirs) + else: + # other platforms + self.assertEqual(len(dirs), 2) +Index: Python-2.7.9/Lib/trace.py +=================================================================== +--- Python-2.7.9.orig/Lib/trace.py ++++ Python-2.7.9/Lib/trace.py +@@ -754,10 +754,10 @@ def main(argv=None): # should I also call expanduser? (after all, could use $HOME) s = s.replace("$prefix", @@ -144,19 +198,19 @@ Index: Python-2.7.2/Lib/trace.py "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) -Index: Python-2.7.2/Makefile.pre.in +Index: Python-2.7.9/Makefile.pre.in =================================================================== ---- Python-2.7.2.orig/Makefile.pre.in -+++ Python-2.7.2/Makefile.pre.in -@@ -81,6 +81,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG +--- Python-2.7.9.orig/Makefile.pre.in ++++ Python-2.7.9/Makefile.pre.in +@@ -87,6 +87,7 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG # Machine-dependent subdirectories MACHDEP= @MACHDEP@ +LIB= @LIB@ - # Install prefix for architecture-independent files - prefix= @prefix@ -@@ -97,7 +98,7 @@ LIBDIR= @libdir@ + # Multiarch directory (may be empty) + MULTIARCH= @MULTIARCH@ +@@ -106,7 +107,7 @@ LIBDIR= @libdir@ MANDIR= @mandir@ INCLUDEDIR= @includedir@ CONFINCLUDEDIR= $(exec_prefix)/include @@ -165,7 +219,7 @@ Index: Python-2.7.2/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -@@ -533,6 +534,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -598,6 +599,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -173,7 +227,7 @@ Index: Python-2.7.2/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c -@@ -567,7 +569,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) +@@ -640,7 +642,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) Python/compile.o Python/symtable.o Python/ast.o: $(GRAMMAR_H) $(AST_H) Python/getplatform.o: $(srcdir)/Python/getplatform.c @@ -182,10 +236,10 @@ Index: Python-2.7.2/Makefile.pre.in Python/importdl.o: $(srcdir)/Python/importdl.c $(CC) -c $(PY_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -Index: Python-2.7.2/Modules/getpath.c +Index: Python-2.7.9/Modules/getpath.c =================================================================== ---- Python-2.7.2.orig/Modules/getpath.c -+++ Python-2.7.2/Modules/getpath.c +--- Python-2.7.9.orig/Modules/getpath.c ++++ Python-2.7.9/Modules/getpath.c @@ -116,9 +116,11 @@ #define EXEC_PREFIX PREFIX #endif @@ -209,10 +263,10 @@ Index: Python-2.7.2/Modules/getpath.c static void reduce(char *dir) -Index: Python-2.7.2/Python/getplatform.c +Index: Python-2.7.9/Python/getplatform.c =================================================================== ---- Python-2.7.2.orig/Python/getplatform.c -+++ Python-2.7.2/Python/getplatform.c +--- Python-2.7.9.orig/Python/getplatform.c ++++ Python-2.7.9/Python/getplatform.c @@ -10,3 +10,13 @@ Py_GetPlatform(void) { return PLATFORM; @@ -227,31 +281,16 @@ Index: Python-2.7.2/Python/getplatform.c +{ + return LIB; +} -Index: Python-2.7.2/Python/sysmodule.c +Index: Python-2.7.9/Python/sysmodule.c =================================================================== ---- Python-2.7.2.orig/Python/sysmodule.c -+++ Python-2.7.2/Python/sysmodule.c -@@ -1416,6 +1416,8 @@ _PySys_Init(void) +--- Python-2.7.9.orig/Python/sysmodule.c ++++ Python-2.7.9/Python/sysmodule.c +@@ -1437,6 +1437,8 @@ _PySys_Init(void) PyString_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", PyString_FromString(Py_GetPlatform())); + SET_SYS_FROM_STRING("lib", -+ PyString_FromString(Py_GetLib())); ++ PyString_FromString(Py_GetLib())); SET_SYS_FROM_STRING("executable", PyString_FromString(Py_GetProgramFullPath())); SET_SYS_FROM_STRING("prefix", -Index: Python-2.7.2/configure.in -=================================================================== ---- Python-2.7.2.orig/configure.in -+++ Python-2.7.2/configure.in -@@ -629,6 +629,10 @@ SunOS*) - ;; - esac - -+AC_SUBST(LIB) -+AC_MSG_CHECKING(LIB) -+LIB=`basename ${libdir}` -+AC_MSG_RESULT($LIB) - - AC_SUBST(LIBRARY) - AC_MSG_CHECKING(LIBRARY) -- cgit 1.2.3-korg