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 <ardeleanalex@gmail.com>
This commit is contained in:
Alexandru Ardelean 2017-12-05 15:15:09 +02:00
parent 0230af3b20
commit 7cf09e3ec4
13 changed files with 92 additions and 50 deletions

View File

@ -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

View File

@ -6,5 +6,5 @@
#
PYTHON_VERSION:=2.7
PYTHON_VERSION_MICRO:=13
PYTHON_VERSION_MICRO:=14

View File

@ -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

View File

@ -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' \

View File

@ -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

View File

@ -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')

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -16,11 +16,9 @@ taken from the sysconfigdata module.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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

View File

@ -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:

View File

@ -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).

View File

@ -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";