From 7cf09e3ec4f0fd468938bfd6c1fbc17cb725e9a4 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Tue, 5 Dec 2017 15:15:09 +0200 Subject: [PATCH] python: update to version 2.7.14 for branch 17.01 Bump version and overwrite patches from master, since those were refreshed (at some point). I got an email notification about some CVEs for branch 17.01, so I decided to update Python. Technically, one seems to be for SolidWorks from what I can tell, but upgrading should be easy. ``` Hello Alexandru Ardelean, The package python is vulnerable to the following CVEs: CVE-2014-4616 https://nvd.nist.gov/vuln/detail/CVE-2014-4616 CVE-2017-100015 https://nvd.nist.gov/vuln/detail/CVE-2017-100015 Please consider updating or patching the package. ``` Signed-off-by: Alexandru Ardelean --- lang/python/Makefile | 4 +- lang/python/files/python-version.mk | 2 +- lang/python/patches/001-enable-zlib.patch | 7 +-- ...dd-include-dirs-when-cross-compiling.patch | 4 +- .../003-do-not-compile-tests-at-build.patch | 6 +- .../004-do-not-write-bytes-codes.patch | 6 +- .../patches/005-fix-bluetooth-support.patch | 61 +++++++++++++++++++ .../006-remove-debian-multiarch-support.patch | 14 ----- ...06-remove-multi-arch-and-local-paths.patch | 16 +++++ .../008-distutils-use-python-sysroot.patch | 8 +-- ...t-use-dblib_dir-when-cross-compiling.patch | 8 +-- ...add-rt-lib-dirs-when-cross-compiling.patch | 4 +- .../011-remove-setupterm-definition.patch | 2 - 13 files changed, 92 insertions(+), 50 deletions(-) create mode 100644 lang/python/patches/005-fix-bluetooth-support.patch delete mode 100644 lang/python/patches/006-remove-debian-multiarch-support.patch create mode 100644 lang/python/patches/006-remove-multi-arch-and-local-paths.patch diff --git a/lang/python/Makefile b/lang/python/Makefile index d17b6e1341..4efe7325e0 100644 --- a/lang/python/Makefile +++ b/lang/python/Makefile @@ -16,8 +16,8 @@ PKG_RELEASE:=4 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION) -PKG_MD5SUM:=53b43534153bb2a0363f08bae8b9d990 -PKG_HASH:=35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731 +PKG_MD5SUM:=1f6db41ad91d9eb0a6f0c769b8613c5b +PKG_HASH:=71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 PKG_LICENSE:=PSF PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE diff --git a/lang/python/files/python-version.mk b/lang/python/files/python-version.mk index 847eaf5c72..3e04727b27 100644 --- a/lang/python/files/python-version.mk +++ b/lang/python/files/python-version.mk @@ -6,5 +6,5 @@ # PYTHON_VERSION:=2.7 -PYTHON_VERSION_MICRO:=13 +PYTHON_VERSION_MICRO:=14 diff --git a/lang/python/patches/001-enable-zlib.patch b/lang/python/patches/001-enable-zlib.patch index 780831e86c..e85b53c8d9 100644 --- a/lang/python/patches/001-enable-zlib.patch +++ b/lang/python/patches/001-enable-zlib.patch @@ -7,11 +7,9 @@ Subject: [PATCH] enable zlib Modules/Setup.dist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Modules/Setup.dist b/Modules/Setup.dist -index 01fb85f..01ac492 100644 --- a/Modules/Setup.dist +++ b/Modules/Setup.dist -@@ -358,7 +358,7 @@ _symtable symtablemodule.c +@@ -464,7 +464,7 @@ GLHACK=-Dclear=__GLclear # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). # See http://www.gzip.org/zlib/ @@ -20,6 +18,3 @@ index 01fb85f..01ac492 100644 # Interface to the Expat XML parser # --- -1.8.4.5 - diff --git a/lang/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch b/lang/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch index fb2fe8a775..0099abf74f 100644 --- a/lang/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch +++ b/lang/python/patches/002-do-not-add-include-dirs-when-cross-compiling.patch @@ -1,8 +1,6 @@ -diff --git a/setup.py b/setup.py -index cbdeaf3..5154412 100644 --- a/setup.py +++ b/setup.py -@@ -480,7 +480,8 @@ class PyBuildExt(build_ext): +@@ -497,7 +497,8 @@ class PyBuildExt(build_ext): add_dir_to_list(dir_list, directory) if os.path.normpath(sys.prefix) != '/usr' \ diff --git a/lang/python/patches/003-do-not-compile-tests-at-build.patch b/lang/python/patches/003-do-not-compile-tests-at-build.patch index a6774e1741..5bd07b122a 100644 --- a/lang/python/patches/003-do-not-compile-tests-at-build.patch +++ b/lang/python/patches/003-do-not-compile-tests-at-build.patch @@ -1,8 +1,6 @@ -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 7f4ec2f..e270bf2 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1038,6 +1038,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c +@@ -1110,6 +1110,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL done; \ done $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt @@ -10,7 +8,7 @@ index 7f4ec2f..e270bf2 100644 if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ -@@ -1064,6 +1065,7 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c +@@ -1136,6 +1137,7 @@ libinstall: build_all $(srcdir)/Lib/$(PL $(PYTHON_FOR_BUILD) -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 diff --git a/lang/python/patches/004-do-not-write-bytes-codes.patch b/lang/python/patches/004-do-not-write-bytes-codes.patch index f67e7dcad8..66c007799f 100644 --- a/lang/python/patches/004-do-not-write-bytes-codes.patch +++ b/lang/python/patches/004-do-not-write-bytes-codes.patch @@ -1,8 +1,6 @@ -diff --git a/Python/pythonrun.c b/Python/pythonrun.c -index 748a63b..cb6e291 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c -@@ -79,7 +79,7 @@ int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */ +@@ -79,7 +79,7 @@ int Py_InteractiveFlag; /* Needed by Py_ int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */ int Py_NoSiteFlag; /* Suppress 'import site' */ int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */ @@ -11,7 +9,7 @@ index 748a63b..cb6e291 100644 int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */ int Py_FrozenFlag; /* Needed by getpath.c */ int Py_UnicodeFlag = 0; /* Needed by compile.c */ -@@ -174,7 +174,7 @@ Py_InitializeEx(int install_sigs) +@@ -185,7 +185,7 @@ Py_InitializeEx(int install_sigs) if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0') Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p); if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0') diff --git a/lang/python/patches/005-fix-bluetooth-support.patch b/lang/python/patches/005-fix-bluetooth-support.patch new file mode 100644 index 0000000000..ccc2936d38 --- /dev/null +++ b/lang/python/patches/005-fix-bluetooth-support.patch @@ -0,0 +1,61 @@ +diff --git a/configure b/configure +index 4c0435e..0068a9d 100755 +--- a/configure ++++ b/configure +@@ -7045,7 +7045,7 @@ sys/param.h sys/poll.h sys/random.h sys/select.h sys/socket.h sys/statvfs.h sys/ + sys/termio.h sys/time.h \ + sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \ + sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ +-bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h ++linux/tipc.h spawn.h util.h alloca.h + do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` + ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +@@ -7267,6 +7267,24 @@ fi + fi + + ++# bluetooth/bluetooth.h has been known to not compile with -std=c99. ++# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 ++SAVE_CFLAGS=$CFLAGS ++CFLAGS="-std=c99 $CFLAGS" ++for ac_header in bluetooth/bluetooth.h ++do : ++ ac_fn_c_check_header_mongrel "$LINENO" "bluetooth/bluetooth.h" "ac_cv_header_bluetooth_bluetooth_h" "$ac_includes_default" ++if test "x$ac_cv_header_bluetooth_bluetooth_h" = xyes; then : ++ cat >>confdefs.h <<_ACEOF ++#define HAVE_BLUETOOTH_BLUETOOTH_H 1 ++_ACEOF ++ ++fi ++ ++done ++ ++CFLAGS=$SAVE_CFLAGS ++ + # On Linux, netlink.h requires asm/types.h + for ac_header in linux/netlink.h + do : +diff --git a/configure.ac b/configure.ac +index 780f275..dceca1c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1702,10 +1702,17 @@ sys/param.h sys/poll.h sys/random.h sys/select.h sys/socket.h sys/statvfs.h sys/ + sys/termio.h sys/time.h \ + sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \ + sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ +-bluetooth/bluetooth.h linux/tipc.h spawn.h util.h alloca.h) ++linux/tipc.h spawn.h util.h alloca.h) + AC_HEADER_DIRENT + AC_HEADER_MAJOR + ++# bluetooth/bluetooth.h has been known to not compile with -std=c99. ++# http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 ++SAVE_CFLAGS=$CFLAGS ++CFLAGS="-std=c99 $CFLAGS" ++AC_CHECK_HEADERS(bluetooth/bluetooth.h) ++CFLAGS=$SAVE_CFLAGS ++ + # On Linux, netlink.h requires asm/types.h + AC_CHECK_HEADERS(linux/netlink.h,,,[ + #ifdef HAVE_ASM_TYPES_H diff --git a/lang/python/patches/006-remove-debian-multiarch-support.patch b/lang/python/patches/006-remove-debian-multiarch-support.patch deleted file mode 100644 index 01aa924ab7..0000000000 --- a/lang/python/patches/006-remove-debian-multiarch-support.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/setup.py b/setup.py -index 1d1ae72..511aed5 100644 ---- a/setup.py -+++ b/setup.py -@@ -444,7 +444,8 @@ class PyBuildExt(build_ext): - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') - if cross_compiling: - self.add_gcc_paths() -- self.add_multiarch_paths() -+ else: -+ self.add_multiarch_paths() - - # Add paths specified in the environment variables LDFLAGS and - # CPPFLAGS for header and library files. diff --git a/lang/python/patches/006-remove-multi-arch-and-local-paths.patch b/lang/python/patches/006-remove-multi-arch-and-local-paths.patch new file mode 100644 index 0000000000..5d886dfec9 --- /dev/null +++ b/lang/python/patches/006-remove-multi-arch-and-local-paths.patch @@ -0,0 +1,16 @@ +--- a/setup.py ++++ b/setup.py +@@ -454,13 +454,8 @@ class PyBuildExt(build_ext): + os.unlink(tmpfile) + + def detect_modules(self): +- # Ensure that /usr/local is always used +- 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 + # CPPFLAGS for header and library files. diff --git a/lang/python/patches/008-distutils-use-python-sysroot.patch b/lang/python/patches/008-distutils-use-python-sysroot.patch index 7cd748761a..4aeb7ff31e 100644 --- a/lang/python/patches/008-distutils-use-python-sysroot.patch +++ b/lang/python/patches/008-distutils-use-python-sysroot.patch @@ -16,11 +16,9 @@ taken from the sysconfigdata module. Signed-off-by: Thomas Petazzoni -Index: b/Lib/distutils/sysconfig.py -=================================================================== --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py -@@ -19,8 +19,13 @@ +@@ -19,8 +19,13 @@ import sys from distutils.errors import DistutilsPlatformError # These are needed in a couple of spots, so just compute them once. @@ -36,11 +34,9 @@ Index: b/Lib/distutils/sysconfig.py # Path to the base directory of the project. On Windows the binary may # live in project/PCBuild9. If we're dealing with an x64 Windows build, -Index: b/Lib/distutils/command/build_ext.py -=================================================================== --- a/Lib/distutils/command/build_ext.py +++ b/Lib/distutils/command/build_ext.py -@@ -237,7 +237,10 @@ +@@ -240,7 +240,10 @@ class build_ext (Command): if (sysconfig.get_config_var('Py_ENABLE_SHARED')): if not sysconfig.python_build: # building third party extensions diff --git a/lang/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch b/lang/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch index b59809754b..ffc80a418e 100644 --- a/lang/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch +++ b/lang/python/patches/009-do-not-use-dblib_dir-when-cross-compiling.patch @@ -1,8 +1,6 @@ -diff --git a/setup.py b/setup.py -index 7868b7b..10ec68f 100644 --- a/setup.py +++ b/setup.py -@@ -1067,6 +1067,7 @@ class PyBuildExt(build_ext): +@@ -1083,6 +1083,7 @@ class PyBuildExt(build_ext): if db_setup_debug: print "db lib: ", dblib, "not found" except db_found: @@ -10,7 +8,7 @@ index 7868b7b..10ec68f 100644 if db_setup_debug: print "bsddb using BerkeleyDB lib:", db_ver, dblib print "bsddb lib dir:", dblib_dir, " inc dir:", db_incdir -@@ -1081,7 +1082,7 @@ class PyBuildExt(build_ext): +@@ -1097,7 +1098,7 @@ class PyBuildExt(build_ext): exts.append(Extension('_bsddb', ['_bsddb.c'], depends = ['bsddb.h'], library_dirs=dblib_dir, @@ -19,7 +17,7 @@ index 7868b7b..10ec68f 100644 include_dirs=db_incs, libraries=dblibs)) else: -@@ -1292,10 +1293,11 @@ class PyBuildExt(build_ext): +@@ -1308,10 +1309,11 @@ class PyBuildExt(build_ext): break elif cand == "bdb": if db_incs is not None: diff --git a/lang/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch b/lang/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch index 5a106d4e85..c319fd5f32 100644 --- a/lang/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch +++ b/lang/python/patches/010-do-not-add-rt-lib-dirs-when-cross-compiling.patch @@ -1,8 +1,6 @@ -diff --git a/setup.py b/setup.py -index 7868b7b..544fa7e 100644 --- a/setup.py +++ b/setup.py -@@ -452,8 +452,9 @@ class PyBuildExt(build_ext): +@@ -463,8 +463,9 @@ class PyBuildExt(build_ext): # directly since an inconsistently reproducible issue comes up where # the environment variable is not set even though the value were passed # into configure and stored in the Makefile (issue found on OS X 10.3). diff --git a/lang/python/patches/011-remove-setupterm-definition.patch b/lang/python/patches/011-remove-setupterm-definition.patch index e55d708181..6cad20434d 100644 --- a/lang/python/patches/011-remove-setupterm-definition.patch +++ b/lang/python/patches/011-remove-setupterm-definition.patch @@ -1,5 +1,3 @@ -diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c -index e478a57..eb297b4 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -117,7 +117,6 @@ char *PyCursesVersion = "2.2"; -- 2.30.2