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-2.7-manifest.inc | 8 +- .../python/python-native/multilib.patch | 104 +- .../python/python-native/nohostlibs.patch | 49 +- .../recipes-devtools/python/python-native_2.7.3.bb | 65 - .../recipes-devtools/python/python-native_2.7.9.bb | 61 + meta/recipes-devtools/python/python.inc | 10 +- .../01-use-proper-tools-for-cross-build.patch | 137 +- .../python/python/03-fix-tkinter-detection.patch | 26 +- .../python/05-enable-ctypes-cross-build.patch | 17 +- .../06-avoid_usr_lib_termcap_path_in_linking.patch | 16 +- .../python/06-ctypes-libffi-fix-configure.patch | 44 - .../python/python/CVE-2013-4073_py27.patch | 251 ---- .../python/avoid_warning_about_tkinter.patch | 15 +- meta/recipes-devtools/python/python/builddir.patch | 27 +- .../python/fix_for_using_different_libdir.patch | 63 +- .../python/gcc-4.8-fix-configure-Wformat.patch | 20 - .../python/python/host_include_contamination.patch | 23 +- .../python/python/json-flaw-fix.patch | 27 - meta/recipes-devtools/python/python/multilib.patch | 205 +-- .../python/python/posix_close.patch | 43 - .../python/python/pypirc-secure.patch | 35 - .../python/python/python-2.7.3-CVE-2012-2135.patch | 73 - .../python-2.7.3-CVE-2013-1752-smtplib-fix.patch | 101 -- .../python/python/python-2.7.3-CVE-2014-1912.patch | 26 - .../python/python/python-2.7.3-CVE-2014-7185.patch | 75 - .../python/python-2.7.3-berkeley-db-5.3.patch | 1572 -------------------- .../python-fix-build-error-with-Readline-6.3.patch | 62 - .../python/python/python2.7.3-nossl3.patch | 37 - .../python/python/remove-BOM-insection-code.patch | 24 - .../python/python/remove_sqlite_rpath.patch | 19 - ...search_db_h_in_inc_dirs_and_avoid_warning.patch | 23 +- .../use_sysroot_ncurses_instead_of_host.patch | 20 + meta/recipes-devtools/python/python_2.7.3.bb | 194 --- meta/recipes-devtools/python/python_2.7.9.bb | 178 +++ 34 files changed, 599 insertions(+), 3051 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-native_2.7.3.bb create mode 100644 meta/recipes-devtools/python/python-native_2.7.9.bb delete mode 100644 meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch delete mode 100644 meta/recipes-devtools/python/python/CVE-2013-4073_py27.patch delete mode 100644 meta/recipes-devtools/python/python/gcc-4.8-fix-configure-Wformat.patch delete mode 100644 meta/recipes-devtools/python/python/json-flaw-fix.patch delete mode 100644 meta/recipes-devtools/python/python/posix_close.patch delete mode 100644 meta/recipes-devtools/python/python/pypirc-secure.patch delete mode 100644 meta/recipes-devtools/python/python/python-2.7.3-CVE-2012-2135.patch delete mode 100644 meta/recipes-devtools/python/python/python-2.7.3-CVE-2013-1752-smtplib-fix.patch delete mode 100644 meta/recipes-devtools/python/python/python-2.7.3-CVE-2014-1912.patch delete mode 100644 meta/recipes-devtools/python/python/python-2.7.3-CVE-2014-7185.patch delete mode 100644 meta/recipes-devtools/python/python/python-2.7.3-berkeley-db-5.3.patch delete mode 100644 meta/recipes-devtools/python/python/python-fix-build-error-with-Readline-6.3.patch delete mode 100644 meta/recipes-devtools/python/python/python2.7.3-nossl3.patch delete mode 100644 meta/recipes-devtools/python/python/remove-BOM-insection-code.patch delete mode 100644 meta/recipes-devtools/python/python/remove_sqlite_rpath.patch create mode 100644 meta/recipes-devtools/python/python/use_sysroot_ncurses_instead_of_host.patch delete mode 100644 meta/recipes-devtools/python/python_2.7.3.bb create mode 100644 meta/recipes-devtools/python/python_2.7.9.bb (limited to 'meta/recipes-devtools/python') diff --git a/meta/recipes-devtools/python/python-2.7-manifest.inc b/meta/recipes-devtools/python/python-2.7-manifest.inc index 2e68a26cbd..12f775efeb 100644 --- a/meta/recipes-devtools/python/python-2.7-manifest.inc +++ b/meta/recipes-devtools/python/python-2.7-manifest.inc @@ -1,6 +1,6 @@ # WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: 'scripts/contrib/python/generate-manifest-2.7.py' Version 20110222.2 (C) 2002-2010 Michael 'Mickey' Lauer +# Generator: '../../../scripts/contrib/python/generate-manifest-2.7.py' Version 20110222.2 (C) 2002-2010 Michael 'Mickey' Lauer # Visit the Python for Embedded Systems Site => http://www.Vanille.de/projects/python.spy @@ -41,13 +41,13 @@ SUMMARY_${PN}-compression="Python high-level compression support" RDEPENDS_${PN}-compression="${PN}-core ${PN}-zlib" FILES_${PN}-compression="${libdir}/python2.7/gzip.* ${libdir}/python2.7/zipfile.* ${libdir}/python2.7/tarfile.* ${libdir}/python2.7/lib-dynload/bz2.so " -SUMMARY_${PN}-contextlib="Python utilities for with-statementcontexts. See PEP 343." +SUMMARY_${PN}-contextlib="Python utilities for with-statementcontexts." RDEPENDS_${PN}-contextlib="${PN}-core" -FILES_${PN}-contextlib="${libdir}/python${PYTHON_MAJMIN}/contextlib.py* " +FILES_${PN}-contextlib="${libdir}/python${PYTHON_MAJMIN}/contextlib.* " SUMMARY_${PN}-core="Python interpreter and core modules" RDEPENDS_${PN}-core="${PN}-lang ${PN}-re" -FILES_${PN}-core="${libdir}/python2.7/__future__.* ${libdir}/python2.7/_abcoll.* ${libdir}/python2.7/abc.* ${libdir}/python2.7/copy.* ${libdir}/python2.7/copy_reg.* ${libdir}/python2.7/ConfigParser.* ${libdir}/python2.7/genericpath.* ${libdir}/python2.7/getopt.* ${libdir}/python2.7/linecache.* ${libdir}/python2.7/new.* ${libdir}/python2.7/os.* ${libdir}/python2.7/posixpath.* ${libdir}/python2.7/struct.* ${libdir}/python2.7/warnings.* ${libdir}/python2.7/site.* ${libdir}/python2.7/stat.* ${libdir}/python2.7/UserDict.* ${libdir}/python2.7/UserList.* ${libdir}/python2.7/UserString.* ${libdir}/python2.7/lib-dynload/binascii.so ${libdir}/python2.7/lib-dynload/_struct.so ${libdir}/python2.7/lib-dynload/time.so ${libdir}/python2.7/lib-dynload/xreadlines.so ${libdir}/python2.7/types.* ${libdir}/python2.7/platform.* ${bindir}/python* ${libdir}/python2.7/_weakrefset.* ${libdir}/python2.7/sysconfig.* ${libdir}/python2.7/config/Makefile ${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " +FILES_${PN}-core="${libdir}/python2.7/__future__.* ${libdir}/python2.7/_abcoll.* ${libdir}/python2.7/abc.* ${libdir}/python2.7/copy.* ${libdir}/python2.7/copy_reg.* ${libdir}/python2.7/ConfigParser.* ${libdir}/python2.7/genericpath.* ${libdir}/python2.7/getopt.* ${libdir}/python2.7/linecache.* ${libdir}/python2.7/new.* ${libdir}/python2.7/os.* ${libdir}/python2.7/posixpath.* ${libdir}/python2.7/struct.* ${libdir}/python2.7/warnings.* ${libdir}/python2.7/site.* ${libdir}/python2.7/stat.* ${libdir}/python2.7/UserDict.* ${libdir}/python2.7/UserList.* ${libdir}/python2.7/UserString.* ${libdir}/python2.7/lib-dynload/binascii.so ${libdir}/python2.7/lib-dynload/_struct.so ${libdir}/python2.7/lib-dynload/time.so ${libdir}/python2.7/lib-dynload/xreadlines.so ${libdir}/python2.7/types.* ${libdir}/python2.7/platform.* ${bindir}/python* ${libdir}/python2.7/_weakrefset.* ${libdir}/python2.7/sysconfig.* ${libdir}/python2.7/_sysconfigdata.* ${libdir}/python2.7/config/Makefile ${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " SUMMARY_${PN}-crypt="Python basic cryptographic and hashing support" RDEPENDS_${PN}-crypt="${PN}-core" 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'], diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb deleted file mode 100644 index e55f5feac2..0000000000 --- a/meta/recipes-devtools/python/python-native_2.7.3.bb +++ /dev/null @@ -1,65 +0,0 @@ -require python.inc - -EXTRANATIVEPATH += "bzip2-native" -DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native" -PR = "${INC_PR}.1" - -SRC_URI += "\ - file://05-enable-ctypes-cross-build.patch \ - file://06-ctypes-libffi-fix-configure.patch \ - file://10-distutils-fix-swig-parameter.patch \ - file://11-distutils-never-modify-shebang-line.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ - file://debug.patch \ - file://unixccompiler.patch \ - file://nohostlibs.patch \ - file://multilib.patch \ - file://add-md5module-support.patch \ - file://builddir.patch \ - file://parallel-makeinst-create-bindir.patch \ - file://python-fix-build-error-with-Readline-6.3.patch \ - file://gcc-4.8-fix-configure-Wformat.patch \ - file://json-flaw-fix.patch \ - " -S = "${WORKDIR}/Python-${PV}" - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:" - -inherit native - -RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native" - -EXTRA_OECONF_append = " --bindir=${bindir}/${PN}" - -EXTRA_OEMAKE = '\ - BUILD_SYS="" \ - HOST_SYS="" \ - LIBC="" \ - STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ - STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ -' - -do_configure_prepend() { - autoreconf --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf" -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - install -d ${D}${bindir}/${PN} - install -m 0755 Parser/pgen ${D}${bindir}/${PN} - - # Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do - sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT - done - - # Add a symlink to the native Python so that scripts can just invoke - # "nativepython" and get the right one without needing absolute paths - # (these often end up too long for the #! parser in the kernel as the - # buffer is 128 bytes long). - ln -s python-native/python ${D}${bindir}/nativepython - - # We don't want modules in ~/.local being used in preference to those - # installed in the native sysroot, so disable user site support. - sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py -} diff --git a/meta/recipes-devtools/python/python-native_2.7.9.bb b/meta/recipes-devtools/python/python-native_2.7.9.bb new file mode 100644 index 0000000000..dfde36129f --- /dev/null +++ b/meta/recipes-devtools/python/python-native_2.7.9.bb @@ -0,0 +1,61 @@ +require python.inc + +EXTRANATIVEPATH += "bzip2-native" +DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native" +PR = "${INC_PR}.1" + +SRC_URI += "\ + file://05-enable-ctypes-cross-build.patch \ + file://10-distutils-fix-swig-parameter.patch \ + file://11-distutils-never-modify-shebang-line.patch \ + file://12-distutils-prefix-is-inside-staging-area.patch \ + file://debug.patch \ + file://unixccompiler.patch \ + file://nohostlibs.patch \ + file://multilib.patch \ + file://add-md5module-support.patch \ + file://builddir.patch \ + file://parallel-makeinst-create-bindir.patch \ + " +S = "${WORKDIR}/Python-${PV}" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:" + +inherit native + +RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native" + +EXTRA_OECONF_append = " --bindir=${bindir}/${PN}" + +EXTRA_OEMAKE = '\ + BUILD_SYS="" \ + HOST_SYS="" \ + LIBC="" \ + STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \ + STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ +' + +do_configure_prepend() { + autoreconf --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf" +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + install -d ${D}${bindir}/${PN} + install -m 0755 Parser/pgen ${D}${bindir}/${PN} + + # Make sure we use /usr/bin/env python + for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do + sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT + done + + # Add a symlink to the native Python so that scripts can just invoke + # "nativepython" and get the right one without needing absolute paths + # (these often end up too long for the #! parser in the kernel as the + # buffer is 128 bytes long). + ln -s python-native/python ${D}${bindir}/nativepython + + # We don't want modules in ~/.local being used in preference to those + # installed in the native sysroot, so disable user site support. + sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py +} diff --git a/meta/recipes-devtools/python/python.inc b/meta/recipes-devtools/python/python.inc index bc5e5b91f7..e18ab8e99a 100644 --- a/meta/recipes-devtools/python/python.inc +++ b/meta/recipes-devtools/python/python.inc @@ -5,12 +5,12 @@ SECTION = "devel/python" # bump this on every change in contrib/python/generate-manifest-2.7.py INC_PR = "r1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ed3abfd1059e2d3a36a8cff3986f9bb6" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dff3d00f049545862992d2d097831a13" -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.bz2" - -SRC_URI[md5sum] = "c57477edd6d18bd9eeca2f21add73919" -SRC_URI[sha256sum] = "726457e11cb153adc3f428aaf1901fc561a374c30e5e7da6742c0742a338663c" +SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" + +SRC_URI[md5sum] = "38d530f7efc373d64a8fb1637e3baaa7" +SRC_URI[sha256sum] = "90d27e14ea7e03570026850e2e50ba71ad20b7eb31035aada1cf3def8f8d4916" PYTHON_MAJMIN = "2.7" diff --git a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch index 691beada03..1257ca6557 100644 --- a/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch +++ b/meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch @@ -1,102 +1,83 @@ +We need to ensure our host tools get run during build, not the freshly +built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN. + Upstream-Status: Inappropriate [embedded specific] -# We need to ensure our host tools get run during build, not the freshly -# built cross-tools (this will not work), so we introduce HOSTPYTHON and HOSTPGEN. -# Signed-Off: Michael 'Mickey' Lauer +Signed-off-by: Michael 'Mickey' Lauer +Signed-off-by: Paul Eggleton + +Rebased for python-2.7.9 +Signed-Off-By: Alejandro Hernandez -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 -@@ -182,6 +182,7 @@ UNICODE_OBJS= @UNICODE_OBJS@ - - PYTHON= python$(EXE) - BUILDPYTHON= python$(BUILDEXE) -+HOSTPYTHON= $(BUILDPYTHON) - - # The task to run while instrument when building the profile-opt target - PROFILE_TASK= $(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck -@@ -214,7 +215,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ +--- Python-2.7.9.orig/Makefile.pre.in ++++ Python-2.7.9/Makefile.pre.in +@@ -234,6 +234,7 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ ########################################################################## # Parser PGEN= Parser/pgen$(EXE) -- +HOSTPGEN= $(PGEN)$(EXE) - POBJS= \ - Parser/acceler.o \ - Parser/grammar1.o \ -@@ -401,14 +402,14 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA - $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) - - platform: $(BUILDPYTHON) -- $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform -+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform + PSRCS= \ + Parser/acceler.c \ +@@ -445,7 +446,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRA + $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) - # Build the shared modules - sharedmods: $(BUILDPYTHON) - @case $$MAKEFLAGS in \ -- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \ -- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \ -+ *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ -+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ - esac + platform: $(BUILDPYTHON) pybuilddir.txt +- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform ++ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform - # Build static library -@@ -542,7 +543,7 @@ Modules/python.o: $(srcdir)/Modules/pyth - $(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp - Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT) - -@$(INSTALL) -d Include + # Create build directory and generate the sysconfig build-time data there. + # pybuilddir.txt contains the name of the build dir and is used for +@@ -611,7 +612,7 @@ Modules/pwdmodule.o: $(srcdir)/Modules/p + $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGENSRCS) + @$(MKDIR_P) Include + $(MAKE) $(PGEN) - $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) + $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) - -touch Parser/pgen.stamp - - $(PGEN): $(PGENOBJS) -@@ -926,25 +927,25 @@ libinstall: build_all $(srcdir)/Lib/$(PL - done - $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt + $(GRAMMAR_C): $(GRAMMAR_H) $(GRAMMAR_INPUT) $(PGENSRCS) + $(MAKE) $(GRAMMAR_H) + touch $(GRAMMAR_C) +@@ -1043,27 +1044,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL + $(DESTDIR)$(LIBDEST)/distutils/tests ; \ + fi PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ +- $(PYTHON_FOR_BUILD) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST) -f \ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ $(DESTDIR)$(LIBDEST) PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ -+ $(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ +- $(PYTHON_FOR_BUILD) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST) -f \ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ $(DESTDIR)$(LIBDEST) -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ -+ $(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ +- $(PYTHON_FOR_BUILD) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ -+ $(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ +- $(PYTHON_FOR_BUILD) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++ $(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ -- ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" -+ $(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" +- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt ++ $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +- $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt ++ $(HOSTPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt # Create the PLATDIR source directory, if one wasn't distributed.. $(srcdir)/Lib/$(PLATDIR): -@@ -1049,7 +1050,7 @@ libainstall: all python-config - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -- $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ -+ $(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \ - --prefix=$(prefix) \ - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ -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 -@@ -313,6 +313,7 @@ class PyBuildExt(build_ext): +--- Python-2.7.9.orig/setup.py ++++ Python-2.7.9/setup.py +@@ -334,6 +334,7 @@ class PyBuildExt(build_ext): self.failed.append(ext.name) self.announce('*** WARNING: renaming "%s" since importing it' ' failed: %s' % (ext.name, why), level=3) @@ -104,18 +85,7 @@ Index: Python-2.7.2/setup.py assert not self.inplace basename, tail = os.path.splitext(ext_filename) newname = basename + "_failed" + tail -@@ -369,8 +370,8 @@ 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') - self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and -@@ -475,6 +476,9 @@ class PyBuildExt(build_ext): +@@ -558,6 +559,9 @@ class PyBuildExt(build_ext): # XXX Omitted modules: gl, pure, dl, SGI-specific modules @@ -125,14 +95,3 @@ Index: Python-2.7.2/setup.py # # The following modules are all pretty straightforward, and compile # on pretty much any POSIXish platform. -@@ -677,8 +681,8 @@ class PyBuildExt(build_ext): - elif curses_library: - readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -- 'termcap'): -+ ['/usr/lib/termcap'], -+ 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], - library_dirs=['/usr/lib/termcap'], diff --git a/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch b/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch index d74e4b1776..650ceb5951 100644 --- a/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch +++ b/meta/recipes-devtools/python/python/03-fix-tkinter-detection.patch @@ -1,14 +1,18 @@ Upstream-Status: Inappropriate [embedded specific] -# We need to supply STAGING_INCDIR here, otherwise the Tk headers -# will not be found. -# Signed-Off: Michael 'Mickey' Lauer +We need to supply STAGING_INCDIR here, otherwise the Tk headers +will not be found. -Index: Python-2.6.1/setup.py -=================================================================== ---- Python-2.6.1.orig/setup.py -+++ Python-2.6.1/setup.py -@@ -1543,7 +1543,7 @@ class PyBuildExt(build_ext): +Signed-off-by: Michael 'Mickey' Lauer +Signed-off-by: Paul Eggleton + +Rebased for python-2.7.9 + +diff --git a/setup.py b/setup.py +index 8fe1fb8..67eda74 100644 +--- a/setup.py ++++ b/setup.py +@@ -1892,7 +1892,7 @@ class PyBuildExt(build_ext): dotversion = dotversion[:-1] + '.' + dotversion[-1] tcl_include_sub = [] tk_include_sub = [] @@ -17,12 +21,12 @@ Index: Python-2.6.1/setup.py tcl_include_sub += [dir + os.sep + "tcl" + dotversion] tk_include_sub += [dir + os.sep + "tk" + dotversion] tk_include_sub += tcl_include_sub -@@ -1562,22 +1562,6 @@ class PyBuildExt(build_ext): +@@ -1911,22 +1911,6 @@ class PyBuildExt(build_ext): if dir not in include_dirs: include_dirs.append(dir) - # Check for various platform-specific directories -- if platform == 'sunos5': +- if host_platform == 'sunos5': - include_dirs.append('/usr/openwin/include') - added_lib_dirs.append('/usr/openwin/lib') - elif os.path.exists('/usr/X11R6/include'): @@ -38,5 +42,5 @@ Index: Python-2.6.1/setup.py - added_lib_dirs.append('/usr/X11/lib') - # If Cygwin, then verify that X is installed before proceeding - if platform == 'cygwin': + if host_platform == 'cygwin': x11_inc = find_file('X11/Xlib.h', [], include_dirs) diff --git a/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch b/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch index a68a20620a..5cc8742462 100644 --- a/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch +++ b/meta/recipes-devtools/python/python/05-enable-ctypes-cross-build.patch @@ -1,25 +1,22 @@ +Rebased for python 2.7.9 + Upstream-Status: Inappropriate [embedded specific] # CTypes need to know the actual host we are building on. # Signed-Off: Michael Dietrich -Index: Python-2.6.1/setup.py +Index: Python-2.7.9/setup.py =================================================================== ---- Python-2.6.1.orig/setup.py -+++ Python-2.6.1/setup.py -@@ -1656,16 +1656,16 @@ class PyBuildExt(build_ext): - ffi_configfile): - from distutils.dir_util import mkpath - mkpath(ffi_builddir) -- config_args = [] -+ config_args = ['--host=%s' % os.environ["HOST_SYS"], ] +--- Python-2.7.9.orig/setup.py ++++ Python-2.7.9/setup.py +@@ -2028,12 +2028,12 @@ class PyBuildExt(build_ext): # Pass empty CFLAGS because we'll just append the resulting # CFLAGS to Python's; -g or -O2 is to be avoided. - cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \ - % (ffi_builddir, ffi_srcdir, " ".join(config_args)) + cmd = "(cd %s && autoconf -W cross) && (cd %s && env CFLAGS='' '%s/configure' %s)" \ -+ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) ++ % (ffi_srcdir, ffi_builddir, ffi_srcdir, " ".join(config_args)) res = os.system(cmd) if res or not os.path.exists(ffi_configfile): diff --git a/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch b/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch index f8ab0e71e9..e452cb6ac4 100644 --- a/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch +++ b/meta/recipes-devtools/python/python/06-avoid_usr_lib_termcap_path_in_linking.patch @@ -13,18 +13,20 @@ Nitin A Kamble Rebased for python 2.7.2 Signed-Off-By: Nitin A Kamble -Index: Python-2.7.2/setup.py -=================================================================== ---- Python-2.7.2.orig/setup.py -+++ Python-2.7.2/setup.py -@@ -680,12 +680,10 @@ class PyBuildExt(build_ext): +Signed-off-by: Paul Eggleton + +diff --git a/setup.py b/setup.py +index 67eda74..59c537e 100644 +--- a/setup.py ++++ b/setup.py +@@ -761,12 +761,10 @@ 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'], +- ['/usr/lib/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'], diff --git a/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch b/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch deleted file mode 100644 index abd63d2a96..0000000000 --- a/meta/recipes-devtools/python/python/06-ctypes-libffi-fix-configure.patch +++ /dev/null @@ -1,44 +0,0 @@ -This fixes configure issues with recent autoconf, e.g: - autoreconf: Entering directory `Modules/_ctypes/libffi' - autoreconf: configure.ac: not using Gettext - autoreconf: running: aclocal --force - configure.ac:26: error: m4_copy: won't overwrite defined macro: _AC_ARG_VAR_PRECIOUS - configure.ac:26: the top level - -The problem is still present in python-2.6.5 but fixed in python-svn. - -Upstream-Status: Accepted [python-svn] - -Signed-off-by: Antonio Ospite -Acked-by: Martin Jansa -Signed-off-by: Martin Jansa -Signed-off-by: Saul Wold - - -2011/09/29 -Rebased for python 2.7.2 -Signed-Off-By: Nitin A Kamble - - -Index: Python-2.7.2/Modules/_ctypes/libffi/Makefile.am -=================================================================== ---- Python-2.7.2.orig/Modules/_ctypes/libffi/Makefile.am -+++ Python-2.7.2/Modules/_ctypes/libffi/Makefile.am -@@ -2,7 +2,7 @@ - - AUTOMAKE_OPTIONS = foreign subdir-objects - --SUBDIRS = include testsuite man -+SUBDIRS = include - - EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \ - src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \ -@@ -34,8 +34,6 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change - libtool-version ChangeLog.libffi m4/libtool.m4 \ - m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 - --info_TEXINFOS = doc/libffi.texi -- - ## ################################################################ - - ## diff --git a/meta/recipes-devtools/python/python/CVE-2013-4073_py27.patch b/meta/recipes-devtools/python/python/CVE-2013-4073_py27.patch deleted file mode 100644 index 0d17463052..0000000000 --- a/meta/recipes-devtools/python/python/CVE-2013-4073_py27.patch +++ /dev/null @@ -1,251 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Saul Wold - -diff -r 9ddc63c039ba Lib/test/nullbytecert.pem ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/Lib/test/nullbytecert.pem Sun Aug 11 18:13:17 2013 +0200 -@@ -0,0 +1,90 @@ -+Certificate: -+ Data: -+ Version: 3 (0x2) -+ Serial Number: 0 (0x0) -+ Signature Algorithm: sha1WithRSAEncryption -+ Issuer: C=US, ST=Oregon, L=Beaverton, O=Python Software Foundation, OU=Python Core Development, CN=null.python.org\x00example.org/emailAddress=python-dev@python.org -+ Validity -+ Not Before: Aug 7 13:11:52 2013 GMT -+ Not After : Aug 7 13:12:52 2013 GMT -+ Subject: C=US, ST=Oregon, L=Beaverton, O=Python Software Foundation, OU=Python Core Development, CN=null.python.org\x00example.org/emailAddress=python-dev@python.org -+ Subject Public Key Info: -+ Public Key Algorithm: rsaEncryption -+ Public-Key: (2048 bit) -+ Modulus: -+ 00:b5:ea:ed:c9:fb:46:7d:6f:3b:76:80:dd:3a:f3: -+ 03:94:0b:a7:a6:db:ec:1d:df:ff:23:74:08:9d:97: -+ 16:3f:a3:a4:7b:3e:1b:0e:96:59:25:03:a7:26:e2: -+ 88:a9:cf:79:cd:f7:04:56:b0:ab:79:32:6e:59:c1: -+ 32:30:54:eb:58:a8:cb:91:f0:42:a5:64:27:cb:d4: -+ 56:31:88:52:ad:cf:bd:7f:f0:06:64:1f:cc:27:b8: -+ a3:8b:8c:f3:d8:29:1f:25:0b:f5:46:06:1b:ca:02: -+ 45:ad:7b:76:0a:9c:bf:bb:b9:ae:0d:16:ab:60:75: -+ ae:06:3e:9c:7c:31:dc:92:2f:29:1a:e0:4b:0c:91: -+ 90:6c:e9:37:c5:90:d7:2a:d7:97:15:a3:80:8f:5d: -+ 7b:49:8f:54:30:d4:97:2c:1c:5b:37:b5:ab:69:30: -+ 68:43:d3:33:78:4b:02:60:f5:3c:44:80:a1:8f:e7: -+ f0:0f:d1:5e:87:9e:46:cf:62:fc:f9:bf:0c:65:12: -+ f1:93:c8:35:79:3f:c8:ec:ec:47:f5:ef:be:44:d5: -+ ae:82:1e:2d:9a:9f:98:5a:67:65:e1:74:70:7c:cb: -+ d3:c2:ce:0e:45:49:27:dc:e3:2d:d4:fb:48:0e:2f: -+ 9e:77:b8:14:46:c0:c4:36:ca:02:ae:6a:91:8c:da: -+ 2f:85 -+ Exponent: 65537 (0x10001) -+ X509v3 extensions: -+ X509v3 Basic Constraints: critical -+ CA:FALSE -+ X509v3 Subject Key Identifier: -+ 88:5A:55:C0:52:FF:61:CD:52:A3:35:0F:EA:5A:9C:24:38:22:F7:5C -+ X509v3 Key Usage: -+ Digital Signature, Non Repudiation, Key Encipherment -+ X509v3 Subject Alternative Name: -+ ************************************************************* -+ WARNING: The values for DNS, email and URI are WRONG. OpenSSL -+ doesn't print the text after a NULL byte. -+ ************************************************************* -+ DNS:altnull.python.org, email:null@python.org, URI:http://null.python.org, IP Address:192.0.2.1, IP Address:2001:DB8:0:0:0:0:0:1 -+ Signature Algorithm: sha1WithRSAEncryption -+ ac:4f:45:ef:7d:49:a8:21:70:8e:88:59:3e:d4:36:42:70:f5: -+ a3:bd:8b:d7:a8:d0:58:f6:31:4a:b1:a4:a6:dd:6f:d9:e8:44: -+ 3c:b6:0a:71:d6:7f:b1:08:61:9d:60:ce:75:cf:77:0c:d2:37: -+ 86:02:8d:5e:5d:f9:0f:71:b4:16:a8:c1:3d:23:1c:f1:11:b3: -+ 56:6e:ca:d0:8d:34:94:e6:87:2a:99:f2:ae:ae:cc:c2:e8:86: -+ de:08:a8:7f:c5:05:fa:6f:81:a7:82:e6:d0:53:9d:34:f4:ac: -+ 3e:40:fe:89:57:7a:29:a4:91:7e:0b:c6:51:31:e5:10:2f:a4: -+ 60:76:cd:95:51:1a:be:8b:a1:b0:fd:ad:52:bd:d7:1b:87:60: -+ d2:31:c7:17:c4:18:4f:2d:08:25:a3:a7:4f:b7:92:ca:e2:f5: -+ 25:f1:54:75:81:9d:b3:3d:61:a2:f7:da:ed:e1:c6:6f:2c:60: -+ 1f:d8:6f:c5:92:05:ab:c9:09:62:49:a9:14:ad:55:11:cc:d6: -+ 4a:19:94:99:97:37:1d:81:5f:8b:cf:a3:a8:96:44:51:08:3d: -+ 0b:05:65:12:eb:b6:70:80:88:48:72:4f:c6:c2:da:cf:cd:8e: -+ 5b:ba:97:2f:60:b4:96:56:49:5e:3a:43:76:63:04:be:2a:f6: -+ c1:ca:a9:94 -+-----BEGIN CERTIFICATE----- -+MIIE2DCCA8CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBxTELMAkGA1UEBhMCVVMx -+DzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMSMwIQYDVQQKDBpQ -+eXRob24gU29mdHdhcmUgRm91bmRhdGlvbjEgMB4GA1UECwwXUHl0aG9uIENvcmUg -+RGV2ZWxvcG1lbnQxJDAiBgNVBAMMG251bGwucHl0aG9uLm9yZwBleGFtcGxlLm9y -+ZzEkMCIGCSqGSIb3DQEJARYVcHl0aG9uLWRldkBweXRob24ub3JnMB4XDTEzMDgw -+NzEzMTE1MloXDTEzMDgwNzEzMTI1MlowgcUxCzAJBgNVBAYTAlVTMQ8wDQYDVQQI -+DAZPcmVnb24xEjAQBgNVBAcMCUJlYXZlcnRvbjEjMCEGA1UECgwaUHl0aG9uIFNv -+ZnR3YXJlIEZvdW5kYXRpb24xIDAeBgNVBAsMF1B5dGhvbiBDb3JlIERldmVsb3Bt -+ZW50MSQwIgYDVQQDDBtudWxsLnB5dGhvbi5vcmcAZXhhbXBsZS5vcmcxJDAiBgkq -+hkiG9w0BCQEWFXB5dGhvbi1kZXZAcHl0aG9uLm9yZzCCASIwDQYJKoZIhvcNAQEB -+BQADggEPADCCAQoCggEBALXq7cn7Rn1vO3aA3TrzA5QLp6bb7B3f/yN0CJ2XFj+j -+pHs+Gw6WWSUDpybiiKnPec33BFawq3kyblnBMjBU61ioy5HwQqVkJ8vUVjGIUq3P -+vX/wBmQfzCe4o4uM89gpHyUL9UYGG8oCRa17dgqcv7u5rg0Wq2B1rgY+nHwx3JIv -+KRrgSwyRkGzpN8WQ1yrXlxWjgI9de0mPVDDUlywcWze1q2kwaEPTM3hLAmD1PESA -+oY/n8A/RXoeeRs9i/Pm/DGUS8ZPINXk/yOzsR/XvvkTVroIeLZqfmFpnZeF0cHzL -+08LODkVJJ9zjLdT7SA4vnne4FEbAxDbKAq5qkYzaL4UCAwEAAaOB0DCBzTAMBgNV -+HRMBAf8EAjAAMB0GA1UdDgQWBBSIWlXAUv9hzVKjNQ/qWpwkOCL3XDALBgNVHQ8E -+BAMCBeAwgZAGA1UdEQSBiDCBhYIeYWx0bnVsbC5weXRob24ub3JnAGV4YW1wbGUu -+Y29tgSBudWxsQHB5dGhvbi5vcmcAdXNlckBleGFtcGxlLm9yZ4YpaHR0cDovL251 -+bGwucHl0aG9uLm9yZwBodHRwOi8vZXhhbXBsZS5vcmeHBMAAAgGHECABDbgAAAAA -+AAAAAAAAAAEwDQYJKoZIhvcNAQEFBQADggEBAKxPRe99SaghcI6IWT7UNkJw9aO9 -+i9eo0Fj2MUqxpKbdb9noRDy2CnHWf7EIYZ1gznXPdwzSN4YCjV5d+Q9xtBaowT0j -+HPERs1ZuytCNNJTmhyqZ8q6uzMLoht4IqH/FBfpvgaeC5tBTnTT0rD5A/olXeimk -+kX4LxlEx5RAvpGB2zZVRGr6LobD9rVK91xuHYNIxxxfEGE8tCCWjp0+3ksri9SXx -+VHWBnbM9YaL32u3hxm8sYB/Yb8WSBavJCWJJqRStVRHM1koZlJmXNx2BX4vPo6iW -+RFEIPQsFZRLrtnCAiEhyT8bC2s/Njlu6ly9gtJZWSV46Q3ZjBL4q9sHKqZQ= -+-----END CERTIFICATE----- -diff -r 9ddc63c039ba Lib/test/test_ssl.py ---- a/Lib/test/test_ssl.py Sun Aug 11 13:04:50 2013 +0300 -+++ b/Lib/test/test_ssl.py Sun Aug 11 18:13:17 2013 +0200 -@@ -25,6 +25,7 @@ - HOST = test_support.HOST - CERTFILE = None - SVN_PYTHON_ORG_ROOT_CERT = None -+NULLBYTECERT = None - - def handle_error(prefix): - exc_format = ' '.join(traceback.format_exception(*sys.exc_info())) -@@ -123,6 +124,27 @@ - ('DNS', 'projects.forum.nokia.com')) - ) - -+ def test_parse_cert_CVE_2013_4073(self): -+ p = ssl._ssl._test_decode_cert(NULLBYTECERT) -+ if test_support.verbose: -+ sys.stdout.write("\n" + pprint.pformat(p) + "\n") -+ subject = ((('countryName', 'US'),), -+ (('stateOrProvinceName', 'Oregon'),), -+ (('localityName', 'Beaverton'),), -+ (('organizationName', 'Python Software Foundation'),), -+ (('organizationalUnitName', 'Python Core Development'),), -+ (('commonName', 'null.python.org\x00example.org'),), -+ (('emailAddress', 'python-dev@python.org'),)) -+ self.assertEqual(p['subject'], subject) -+ self.assertEqual(p['issuer'], subject) -+ self.assertEqual(p['subjectAltName'], -+ (('DNS', 'altnull.python.org\x00example.com'), -+ ('email', 'null@python.org\x00user@example.org'), -+ ('URI', 'http://null.python.org\x00http://example.org'), -+ ('IP Address', '192.0.2.1'), -+ ('IP Address', '2001:DB8:0:0:0:0:0:1\n')) -+ ) -+ - def test_DER_to_PEM(self): - with open(SVN_PYTHON_ORG_ROOT_CERT, 'r') as f: - pem = f.read() -@@ -1360,7 +1382,7 @@ - - - def test_main(verbose=False): -- global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT, NOKIACERT -+ global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT, NOKIACERT, NULLBYTECERT - CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir, - "keycert.pem") - SVN_PYTHON_ORG_ROOT_CERT = os.path.join( -@@ -1368,10 +1390,13 @@ - "https_svn_python_org_root.pem") - NOKIACERT = os.path.join(os.path.dirname(__file__) or os.curdir, - "nokia.pem") -+ NULLBYTECERT = os.path.join(os.path.dirname(__file__) or os.curdir, -+ "nullbytecert.pem") - - if (not os.path.exists(CERTFILE) or - not os.path.exists(SVN_PYTHON_ORG_ROOT_CERT) or -- not os.path.exists(NOKIACERT)): -+ not os.path.exists(NOKIACERT) or -+ not os.path.exists(NULLBYTECERT)): - raise test_support.TestFailed("Can't read certificate files!") - - tests = [BasicTests, BasicSocketTests] -diff -r 9ddc63c039ba Modules/_ssl.c ---- a/Modules/_ssl.c Sun Aug 11 13:04:50 2013 +0300 -+++ b/Modules/_ssl.c Sun Aug 11 18:13:17 2013 +0200 -@@ -741,8 +741,13 @@ - - /* get a rendering of each name in the set of names */ - -+ int gntype; -+ ASN1_STRING *as = NULL; -+ - name = sk_GENERAL_NAME_value(names, j); -- if (name->type == GEN_DIRNAME) { -+ gntype = name-> type; -+ switch (gntype) { -+ case GEN_DIRNAME: - - /* we special-case DirName as a tuple of tuples of attributes */ - -@@ -764,11 +769,61 @@ - goto fail; - } - PyTuple_SET_ITEM(t, 1, v); -+ break; - -- } else { -+ case GEN_EMAIL: -+ case GEN_DNS: -+ case GEN_URI: -+ /* GENERAL_NAME_print() doesn't handle NUL bytes in ASN1_string -+ correctly. */ -+ t = PyTuple_New(2); -+ if (t == NULL) -+ goto fail; -+ switch (gntype) { -+ case GEN_EMAIL: -+ v = PyUnicode_FromString("email"); -+ as = name->d.rfc822Name; -+ break; -+ case GEN_DNS: -+ v = PyUnicode_FromString("DNS"); -+ as = name->d.dNSName; -+ break; -+ case GEN_URI: -+ v = PyUnicode_FromString("URI"); -+ as = name->d.uniformResourceIdentifier; -+ break; -+ } -+ if (v == NULL) { -+ Py_DECREF(t); -+ goto fail; -+ } -+ PyTuple_SET_ITEM(t, 0, v); -+ v = PyString_FromStringAndSize((char *)ASN1_STRING_data(as), -+ ASN1_STRING_length(as)); -+ if (v == NULL) { -+ Py_DECREF(t); -+ goto fail; -+ } -+ PyTuple_SET_ITEM(t, 1, v); -+ break; - -+ default: - /* for everything else, we use the OpenSSL print form */ -- -+ switch (gntype) { -+ /* check for new general name type */ -+ case GEN_OTHERNAME: -+ case GEN_X400: -+ case GEN_EDIPARTY: -+ case GEN_IPADD: -+ case GEN_RID: -+ break; -+ default: -+ if (PyErr_Warn(PyExc_RuntimeWarning, -+ "Unknown general name type") == -1) { -+ goto fail; -+ } -+ break; -+ } - (void) BIO_reset(biobuf); - GENERAL_NAME_print(biobuf, name); - len = BIO_gets(biobuf, buf, sizeof(buf)-1); -@@ -794,6 +849,7 @@ - goto fail; - } - PyTuple_SET_ITEM(t, 1, v); -+ break; - } - - /* and add that rendering to the list */ diff --git a/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch b/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch index bedc3909d8..208c57c822 100644 --- a/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch +++ b/meta/recipes-devtools/python/python/avoid_warning_about_tkinter.patch @@ -2,22 +2,17 @@ _tkinter module needs tk module along with tcl. tk is not yet integrated in yocto so we skip the check for this module. Avoid a warning by not adding this module to missing variable. -Also simply disable the tk module since its not in DEPENDS. - Upstream-Status: Inappropriate [distribution] Signed-off-by: Andrei Gherzan -Index: Python-2.7.3/setup.py +Index: Python-2.7.2/setup.py =================================================================== ---- Python-2.7.3.orig/setup.py 2014-07-07 13:45:15.056233820 +0000 -+++ Python-2.7.3/setup.py 2014-07-16 16:06:37.145656284 +0000 -@@ -1639,10 +1639,12 @@ - self.extensions.extend(exts) - +--- Python-2.7.2.orig/setup.py 2012-04-05 23:18:38.500136647 +0300 ++++ Python-2.7.2/setup.py 2012-04-05 23:19:35.888134969 +0300 +@@ -1634,8 +1634,10 @@ # Call the method for detecting whether _tkinter can be compiled -- self.detect_tkinter(inc_dirs, lib_dirs) -+ #self.detect_tkinter(inc_dirs, lib_dirs) + self.detect_tkinter(inc_dirs, lib_dirs) - if '_tkinter' not in [e.name for e in self.extensions]: - missing.append('_tkinter') diff --git a/meta/recipes-devtools/python/python/builddir.patch b/meta/recipes-devtools/python/python/builddir.patch index 930170b95a..ad629a022e 100644 --- a/meta/recipes-devtools/python/python/builddir.patch +++ b/meta/recipes-devtools/python/python/builddir.patch @@ -7,11 +7,11 @@ python recipe. Upstream-Status: Inappropriate RP 2012/11/13 -Index: Python-2.7.3/Lib/sysconfig.py +Index: Python-2.7.9/Lib/sysconfig.py =================================================================== ---- Python-2.7.3.orig/Lib/sysconfig.py 2012-11-13 14:36:08.429167199 +0000 -+++ Python-2.7.3/Lib/sysconfig.py 2012-11-13 21:58:31.788551800 +0000 -@@ -93,6 +93,7 @@ +--- Python-2.7.9.orig/Lib/sysconfig.py ++++ Python-2.7.9/Lib/sysconfig.py +@@ -93,6 +93,7 @@ _PREFIX = os.path.normpath(sys.prefix) _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) _CONFIG_VARS = None _USER_BASE = None @@ -19,7 +19,7 @@ Index: Python-2.7.3/Lib/sysconfig.py def _safe_realpath(path): try: -@@ -100,7 +102,9 @@ +@@ -100,7 +101,9 @@ def _safe_realpath(path): except OSError: return path @@ -30,11 +30,11 @@ Index: Python-2.7.3/Lib/sysconfig.py _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) else: # sys.executable can be empty if argv[0] has been changed and Python is -Index: Python-2.7.3/Lib/distutils/sysconfig.py +Index: Python-2.7.9/Lib/distutils/sysconfig.py =================================================================== ---- Python-2.7.3.orig/Lib/distutils/sysconfig.py 2012-11-13 14:36:08.005167209 +0000 -+++ Python-2.7.3/Lib/distutils/sysconfig.py 2012-11-13 22:07:05.644540695 +0000 -@@ -26,6 +26,9 @@ +--- Python-2.7.9.orig/Lib/distutils/sysconfig.py ++++ Python-2.7.9/Lib/distutils/sysconfig.py +@@ -26,6 +26,9 @@ EXEC_PREFIX = os.path.normpath(sys.exec_ # live in project/PCBuild9. If we're dealing with an x64 Windows build, # it'll live in project/PCbuild/amd64. project_base = os.path.dirname(os.path.abspath(sys.executable)) @@ -44,12 +44,3 @@ Index: Python-2.7.3/Lib/distutils/sysconfig.py if os.name == "nt" and "pcbuild" in project_base[-8:].lower(): project_base = os.path.abspath(os.path.join(project_base, os.path.pardir)) # PC/VS7.1 -@@ -247,7 +250,7 @@ - def get_makefile_filename(): - """Return full pathname of installed Makefile from the Python build.""" - if python_build: -- return os.path.join(os.path.dirname(sys.executable), "Makefile") -+ return os.path.join(project_base, "Makefile") - lib_dir = get_python_lib(plat_specific=1, standard_lib=1) - return os.path.join(lib_dir, "config", "Makefile") - diff --git a/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch b/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch index 50d3915425..e4262d9ef0 100644 --- a/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch +++ b/meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch @@ -11,72 +11,67 @@ Updated for python 2.7.3 Signed-Off-By: Nitin A Kamble Date: 2012/05/01 -Index: Python-2.7.3/Lib/sysconfig.py +Rebased for python-2.7.9 +Signed-Off-By: Alejandro Hernandez + + +Index: Python-2.7.9/Lib/sysconfig.py =================================================================== ---- Python-2.7.3.orig/Lib/sysconfig.py -+++ Python-2.7.3/Lib/sysconfig.py -@@ -7,10 +7,10 @@ from os.path import pardir, realpath - - _INSTALL_SCHEMES = { +--- Python-2.7.9.orig/Lib/sysconfig.py ++++ Python-2.7.9/Lib/sysconfig.py +@@ -9,7 +9,7 @@ _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', -+ 'stdlib': '{base}/'+sys.lib+'/python{py_version_short}', -+ 'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}', + 'purelib': '{base}/'+sys.lib+'/python{py_version_short}/site-packages', -+ 'platlib': '{platbase}/'+sys.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}', - }, +@@ -67,7 +67,7 @@ _INSTALL_SCHEMES = { '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', -+ 'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', -+ 'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}', + 'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages', -+ 'platlib': '{userbase}/'+sys.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: Pyt