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 --- .../python/python-native/multilib.patch | 104 ++++++++++----------- .../python/python-native/nohostlibs.patch | 49 ++++------ 2 files changed, 66 insertions(+), 87 deletions(-) (limited to 'meta/recipes-devtools/python/python-native') diff --git a/meta/recipes-devtools/python/python-native/multilib.patch b/meta/recipes-devtools/python/python-native/multilib.patch index 0526031ada..8ca89e7c51 100644 --- a/meta/recipes-devtools/python/python-native/multilib.patch +++ b/meta/recipes-devtools/python/python-native/multilib.patch @@ -1,15 +1,6 @@ -commit 248279e54467a8cd5cde98fc124d1d1384703513 -Author: Yu Ke -Date: Tue Jun 28 21:21:29 2011 +0800 - - 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 +Rebased for Python 2.7.9 +Signed-Off-By: Alejandro Hernandez 2011/09/29 The python recipe building was failing because python-native @@ -21,10 +12,10 @@ Upstream-Status: Inappropriate [oe-specific] Signed-Off-By: Nitin A Kamble -Index: Python-2.7.2/Include/pythonrun.h +Index: Python-2.7.9/Include/pythonrun.h =================================================================== ---- Python-2.7.2.orig/Include/pythonrun.h -+++ Python-2.7.2/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); @@ -33,10 +24,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 @@ -55,11 +46,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/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") @@ -68,11 +59,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,19 @@ def getsitepackages(): if sys.platform in ('os2emx', 'riscos'): sitepackages.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': @@ -95,11 +86,11 @@ 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/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) @@ -113,11 +104,11 @@ 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/trace.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/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", @@ -130,19 +121,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 @@ -151,7 +142,7 @@ Index: Python-2.7.2/Makefile.pre.in # Detailed destination directories BINLIBDEST= $(LIBDIR)/python$(VERSION) -@@ -532,6 +533,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -597,6 +598,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -159,7 +150,7 @@ Index: Python-2.7.2/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c -@@ -566,7 +568,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) +@@ -639,7 +641,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 @@ -168,10 +159,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 @@ -195,10 +186,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; @@ -213,11 +204,11 @@ 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())); @@ -226,11 +217,11 @@ Index: Python-2.7.2/Python/sysmodule.c SET_SYS_FROM_STRING("executable", PyString_FromString(Py_GetProgramFullPath())); SET_SYS_FROM_STRING("prefix", -Index: Python-2.7.2/configure.in +Index: Python-2.7.9/configure.ac =================================================================== ---- Python-2.7.2.orig/configure.in -+++ Python-2.7.2/configure.in -@@ -629,6 +629,10 @@ SunOS*) +--- Python-2.7.9.orig/configure.ac ++++ Python-2.7.9/configure.ac +@@ -736,6 +736,11 @@ SunOS*) ;; esac @@ -238,6 +229,7 @@ Index: Python-2.7.2/configure.in +AC_MSG_CHECKING(LIB) +LIB=`basename ${libdir}` +AC_MSG_RESULT($LIB) ++ AC_SUBST(LIBRARY) AC_MSG_CHECKING(LIBRARY) diff --git a/meta/recipes-devtools/python/python-native/nohostlibs.patch b/meta/recipes-devtools/python/python-native/nohostlibs.patch index 09c3fb808a..8a452e94dc 100644 --- a/meta/recipes-devtools/python/python-native/nohostlibs.patch +++ b/meta/recipes-devtools/python/python-native/nohostlibs.patch @@ -1,25 +1,28 @@ Upstream-Status: Inappropriate [embedded specific] -2011/09/29 -rebased for python-2.7.2 +2014/12/15 +Rebased for python-2.7.9 Signed-Off-By: Nitin A Kamble +Signed-Off-By: Alejandro Hernandez -Index: Python-2.7.2/setup.py +Index: Python-2.7.9/setup.py =================================================================== ---- Python-2.7.2.orig/setup.py -+++ Python-2.7.2/setup.py -@@ -369,8 +369,8 @@ class PyBuildExt(build_ext): +--- Python-2.7.9.orig/setup.py ++++ Python-2.7.9/setup.py +@@ -439,9 +439,9 @@ class PyBuildExt(build_ext): def detect_modules(self): # Ensure that /usr/local is always used -- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') -- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') -+ #add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') -+ #add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') +- if not cross_compiling: +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') +- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ # if not cross_compiling: ++ # add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ # add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + if cross_compiling: + self.add_gcc_paths() self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and -@@ -407,15 +407,15 @@ class PyBuildExt(build_ext): +@@ -480,15 +480,15 @@ class PyBuildExt(build_ext): for directory in reversed(options.dirs): add_dir_to_list(dir_list, directory) @@ -39,29 +42,13 @@ Index: Python-2.7.2/setup.py sysconfig.get_config_var("INCLUDEDIR")) try: -@@ -426,11 +426,8 @@ class PyBuildExt(build_ext): - # lib_dirs and inc_dirs are used to search for files; - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. -- lib_dirs = self.compiler.library_dirs + [ -- '/lib64', '/usr/lib64', -- '/lib', '/usr/lib', -- ] -- inc_dirs = self.compiler.include_dirs + ['/usr/include'] -+ lib_dirs = self.compiler.library_dirs -+ inc_dirs = self.compiler.include_dirs - exts = [] - missing = [] - -@@ -676,9 +673,8 @@ class PyBuildExt(build_ext): +@@ -761,8 +761,7 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + - ['/usr/lib/termcap'], -- 'termcap'): + elif self.compiler.find_library_file(lib_dirs, -+ 'termcap'): + 'termcap'): readline_libs.append('termcap') exts.append( Extension('readline', ['readline.c'], - library_dirs=['/usr/lib/termcap'], -- cgit v1.2.3