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]

(From OE-Core rev: d4ad95f0d5f08891637c644e85b09da9c4585059)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alejandro Hernandez
2015-02-11 17:57:49 -06:00
committed by Richard Purdie
parent 122ee11bd1
commit cb02ecb507
34 changed files with 368 additions and 2820 deletions

View File

@@ -1,26 +1,25 @@
commit 248279e54467a8cd5cde98fc124d1d1384703513
Author: Yu Ke <ke.yu@intel.com>
Date: Tue Jun 28 21:21:29 2011 +0800
Rebased for python-2.7.9
Signed-Off-By: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
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 <ke.yu@intel.com>
2011/09/29
Rebased for python 2.7.2
Upstream-Status: Inappropriate [configuration]
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
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.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/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.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)