From 1ca0d56f57a97d0bfa9b8aa274cbb67dc661740b8c2ed4372e2d48b498d0d576 Mon Sep 17 00:00:00 2001 From: Jan Matejek Date: Tue, 3 Jan 2017 17:42:02 +0000 Subject: [PATCH] - update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - drop python-2.7.10-overflow_check.patch which is solved in upstream OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python?expand=0&rev=199 --- Python-2.7.12.tar.xz | 3 - Python-2.7.12.tar.xz.asc | 17 --- Python-2.7.13.tar.xz | 3 + Python-2.7.13.tar.xz.asc | 16 +++ python-2.7.10-overflow_check.patch | 168 -------------------------- python-2.7.12-docs-pdf-a4.tar.bz2 | 3 - python-2.7.12-docs-pdf-letter.tar.bz2 | 3 - python-2.7.13-docs-pdf-a4.tar.bz2 | 3 + python-2.7.13-docs-pdf-letter.tar.bz2 | 3 + python-2.7.5-multilib.patch | 124 +++++++++---------- python-base.changes | 10 ++ python-base.spec | 6 +- python-bundle-lang.patch | 14 +-- python-doc.spec | 6 +- python.spec | 6 +- 15 files changed, 110 insertions(+), 275 deletions(-) delete mode 100644 Python-2.7.12.tar.xz delete mode 100644 Python-2.7.12.tar.xz.asc create mode 100644 Python-2.7.13.tar.xz create mode 100644 Python-2.7.13.tar.xz.asc delete mode 100644 python-2.7.10-overflow_check.patch delete mode 100644 python-2.7.12-docs-pdf-a4.tar.bz2 delete mode 100644 python-2.7.12-docs-pdf-letter.tar.bz2 create mode 100644 python-2.7.13-docs-pdf-a4.tar.bz2 create mode 100644 python-2.7.13-docs-pdf-letter.tar.bz2 diff --git a/Python-2.7.12.tar.xz b/Python-2.7.12.tar.xz deleted file mode 100644 index bf9079c..0000000 --- a/Python-2.7.12.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7837121dd5652a05fef807c361909d255d173280c4e1a4ded94d73d80a1f978 -size 12390820 diff --git a/Python-2.7.12.tar.xz.asc b/Python-2.7.12.tar.xz.asc deleted file mode 100644 index d652183..0000000 --- a/Python-2.7.12.tar.xz.asc +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABAgAGBQJXbv4BAAoJEATDZ8IYrdT/tvgQAKxibPTOHYEqOr4y9AIFow0d -U+FXjVacCOO3GqM6GZlHfM7kjAkqZzSjqFwdiS7fIeKP0fzob+D9ujADmyRvNBV/ -gpfaGQyLMhV9wcPxdn/4NdHItR3USoLXA4vDEGLggIW8b9Rr0pNTa9AM4X/TN1bD -I3X6WrfjeSyiNiKieDpBRlGI4SVLG+Qtz5GL2K2U+d7leWXUAOJdKp4BUQdupFTz -tTzyvYOufvwNkOiS/H+lV2KVt9FgtOl6KYsZpoAQJzI6PjKoYN/FTr2oiK9KnR/F -wuRa8fRJ6aY22Qk0ne50NfRmzo0/5rGI0HQmPNkiderrj0uA6chhZB5vqP0BBd+8 -M3zS5O2jme5fTuxCEtrasXZ7K3UaMturTXPJWrC0Cy0yxm2GtYG6oeUsw9HlR9/c -tO2JnZ217HqiGLzfK3YzNnpbG0Dpim4PleswlZXaEMs6xpBYk3yrbN8OFCxTIHQ1 -kcGsML6t+g3mXmiTIgIwb7EM9wcSaDsTUsNmBbGsZRcMqdSwDEK8upihevgnyemg -v+RMuDyvBHfTF9SODMnWBvPNj7MoB6MHT0+fTPaWpISscAcTImYZVcmMttahZS1g -ID0bMNnqL4Mchnksl4JHt98ggofGReuZF74T5HTYdoYVpSGXIYNkxGTS4YM9BBbA -GWKG06BiwDYBxTr6fQNO -=YuS4 ------END PGP SIGNATURE----- diff --git a/Python-2.7.13.tar.xz b/Python-2.7.13.tar.xz new file mode 100644 index 0000000..186d7fe --- /dev/null +++ b/Python-2.7.13.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731 +size 12495628 diff --git a/Python-2.7.13.tar.xz.asc b/Python-2.7.13.tar.xz.asc new file mode 100644 index 0000000..b0a93d6 --- /dev/null +++ b/Python-2.7.13.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCAAGBQJYVZxZAAoJEATDZ8IYrdT/YCoP/103Idy0ETFqOE+Vt7vLI2cU +Ct0cyPy5ZBRIjZmcav8R2rKPKC1EjE9BfsJDdPevm2drBu18IjP59fqL47unCQ37 +luoUb4vOCjuSu0NesTsVPW+Bw0Imr2Qs3UJeuIaHP/KFjg/1kjOIxOhzk0AAZa/n +mWBGzOcCJ8jRAhdWH9YHT93QwmKG4zaqxlmF6c7CrbgRVUJeh6kUlCJOiFXCkkNW +Nu2fCOvh1+bMtmMsZsbb6IZeccyJOn4l+EqbzasX1egerbw2spC6ECMkhiZT6RRI +mQQ2fmdYDAwn+CUIrYra2rxMqlAo9rRIp43A8kWyVfOAnUlljHhjyS02zmavrs8I +9zyM1Fofu20q0Fk9ktX9vPZU6fqum2zbYFzBZkt/qYrAEiV9iCfztyws3+65qgYv +dzw4jWM9oALzW2kCPD4GZOO7QpfPXjUec63bara+orO82Ifeq2qT7Zob+bBjd943 +A1skaO7X5Qhcfem1bdS3ZvgNMgwCqggNvXwbhDTY7Fk4zxCemjFI5JTe531wUKGt +Kh1aAFQblAea6CmVC2GhhQ6Lmrnp1S+OyJaUIrT3ALW1sF1Iqy+wLVc6ltKH1fje +57m2z/qmn9X28VF3de7Tg8mvDwgQthJWG/X9TYeLa7cHzJ3od3w+7I7jI3dMigdM +RV2cSjUPE9UD9P1y+CYo +=dR4B +-----END PGP SIGNATURE----- diff --git a/python-2.7.10-overflow_check.patch b/python-2.7.10-overflow_check.patch deleted file mode 100644 index 8a1bbba..0000000 --- a/python-2.7.10-overflow_check.patch +++ /dev/null @@ -1,168 +0,0 @@ ---- ./Objects/bytearrayobject.c.orig 2016-01-29 13:58:55.414941897 +0100 -+++ ./Objects/bytearrayobject.c 2016-01-29 14:00:18.383902058 +0100 -@@ -1903,12 +1903,12 @@ - - /* Check for overflow */ - /* result_len = self_len + count * (to_len-from_len) */ -- product = count * (to_len-from_len); -+ product = (size_t)count * (to_len-from_len); - if (product / (to_len-from_len) != count) { - PyErr_SetString(PyExc_OverflowError, "replace bytes is too long"); - return NULL; - } -- result_len = self_len + product; -+ result_len = (size_t)self_len + product; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, "replace bytes is too long"); - return NULL; ---- ./Objects/stringobject.c.orig 2016-01-29 14:00:30.904046945 +0100 -+++ ./Objects/stringobject.c 2016-01-29 14:01:14.120547063 +0100 -@@ -2693,12 +2693,12 @@ - - /* Check for overflow */ - /* result_len = self_len + count * (to_len-from_len) */ -- product = count * (to_len-from_len); -+ product = (size_t)count * (to_len-from_len); - if (product / (to_len-from_len) != count) { - PyErr_SetString(PyExc_OverflowError, "replace string is too long"); - return NULL; - } -- result_len = self_len + product; -+ result_len = (size_t)self_len + product; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, "replace string is too long"); - return NULL; ---- Objects/bytearrayobject.c.orig 2016-01-29 14:14:36.713834152 +0100 -+++ Objects/bytearrayobject.c 2016-01-29 14:17:50.880080712 +0100 -@@ -357,7 +357,7 @@ - if (count < 0) - count = 0; - mysize = Py_SIZE(self); -- size = mysize * count; -+ size = (size_t)mysize * count; - if (count != 0 && size / count != mysize) - return PyErr_NoMemory(); - result = (PyByteArrayObject *)PyByteArray_FromStringAndSize(NULL, size); -@@ -382,7 +382,7 @@ - if (count < 0) - count = 0; - mysize = Py_SIZE(self); -- size = mysize * count; -+ size = (size_t)mysize * count; - if (count != 0 && size / count != mysize) - return PyErr_NoMemory(); - if (size < self->ob_alloc) { -@@ -1578,13 +1578,13 @@ - - /* Check for overflow */ - /* result_len = count * to_len + self_len; */ -- product = count * to_len; -+ product = (size_t)count * to_len; - if (product / to_len != count) { - PyErr_SetString(PyExc_OverflowError, - "replace string is too long"); - return NULL; - } -- result_len = product + self_len; -+ result_len = (size_t)product + self_len; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, - "replace string is too long"); -@@ -1833,12 +1833,12 @@ - - /* use the difference between current and new, hence the "-1" */ - /* result_len = self_len + count * (to_len-1) */ -- product = count * (to_len-1); -+ product = (size_t)count * (to_len-1); - if (product / (to_len-1) != count) { - PyErr_SetString(PyExc_OverflowError, "replace bytes is too long"); - return NULL; - } -- result_len = self_len + product; -+ result_len = (size_t)self_len + product; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, "replace bytes is too long"); - return NULL; ---- ./Objects/stringobject.c.orig 2016-01-29 14:18:21.392433741 +0100 -+++ ./Objects/stringobject.c 2016-01-29 14:20:23.669848479 +0100 -@@ -1084,7 +1084,7 @@ - /* watch out for overflows: the size can overflow int, - * and the # of bytes needed can overflow size_t - */ -- size = Py_SIZE(a) * n; -+ size = (size_t)Py_SIZE(a) * n; - if (n && size / n != Py_SIZE(a)) { - PyErr_SetString(PyExc_OverflowError, - "repeated string is too long"); -@@ -1644,9 +1644,9 @@ - Py_DECREF(seq); - return NULL; - } -- sz += PyString_GET_SIZE(item); -+ sz += (size_t)PyString_GET_SIZE(item); - if (i != 0) -- sz += seplen; -+ sz += (size_t)seplen; - if (sz < old_sz || sz > PY_SSIZE_T_MAX) { - PyErr_SetString(PyExc_OverflowError, - "join() result is too long for a Python string"); -@@ -2370,13 +2370,13 @@ - - /* Check for overflow */ - /* result_len = count * to_len + self_len; */ -- product = count * to_len; -+ product = (size_t)count * to_len; - if (product / to_len != count) { - PyErr_SetString(PyExc_OverflowError, - "replace string is too long"); - return NULL; - } -- result_len = product + self_len; -+ result_len = (size_t)product + self_len; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, - "replace string is too long"); -@@ -2624,12 +2624,12 @@ - - /* use the difference between current and new, hence the "-1" */ - /* result_len = self_len + count * (to_len-1) */ -- product = count * (to_len-1); -+ product = (size_t)count * (to_len-1); - if (product / (to_len-1) != count) { - PyErr_SetString(PyExc_OverflowError, "replace string is too long"); - return NULL; - } -- result_len = self_len + product; -+ result_len = (size_t)self_len + product; - if (result_len < 0) { - PyErr_SetString(PyExc_OverflowError, "replace string is too long"); - return NULL; ---- Objects/tupleobject.c.orig 2016-01-29 14:38:23.334287970 +0100 -+++ Objects/tupleobject.c 2016-01-29 14:39:46.175240404 +0100 -@@ -79,7 +79,7 @@ - else - #endif - { -- Py_ssize_t nbytes = size * sizeof(PyObject *); -+ Py_ssize_t nbytes = (size_t)size * sizeof(PyObject *); - /* Check for overflow */ - if (nbytes / sizeof(PyObject *) != (size_t)size || - (nbytes > PY_SSIZE_T_MAX - sizeof(PyTupleObject) - sizeof(PyObject *))) -@@ -446,7 +446,7 @@ - return NULL; - } - #define b ((PyTupleObject *)bb) -- size = Py_SIZE(a) + Py_SIZE(b); -+ size = (size_t)Py_SIZE(a) + Py_SIZE(b); - if (size < 0) - return PyErr_NoMemory(); - np = (PyTupleObject *) PyTuple_New(size); -@@ -490,7 +490,7 @@ - if (Py_SIZE(a) == 0) - return PyTuple_New(0); - } -- size = Py_SIZE(a) * n; -+ size = (size_t)Py_SIZE(a) * n; - if (size/Py_SIZE(a) != n) - return PyErr_NoMemory(); - np = (PyTupleObject *) PyTuple_New(size); diff --git a/python-2.7.12-docs-pdf-a4.tar.bz2 b/python-2.7.12-docs-pdf-a4.tar.bz2 deleted file mode 100644 index 7e9106f..0000000 --- a/python-2.7.12-docs-pdf-a4.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7598a5e9f1bff3ca8b27834fa4cb9e88ad44a1a64e01c261bf84fa7b76ea8307 -size 10676602 diff --git a/python-2.7.12-docs-pdf-letter.tar.bz2 b/python-2.7.12-docs-pdf-letter.tar.bz2 deleted file mode 100644 index 3947607..0000000 --- a/python-2.7.12-docs-pdf-letter.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:02eb305c62e04e5b9f583a281909546eeb5a0a93c567ecc0fe86680a249121f7 -size 10731532 diff --git a/python-2.7.13-docs-pdf-a4.tar.bz2 b/python-2.7.13-docs-pdf-a4.tar.bz2 new file mode 100644 index 0000000..8f619ec --- /dev/null +++ b/python-2.7.13-docs-pdf-a4.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cba0fce8f70444fe87405efcf005a0ea408935cbb859862eda3bd2df1177b0ce +size 10712181 diff --git a/python-2.7.13-docs-pdf-letter.tar.bz2 b/python-2.7.13-docs-pdf-letter.tar.bz2 new file mode 100644 index 0000000..e43bd4f --- /dev/null +++ b/python-2.7.13-docs-pdf-letter.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65832a14df4aa8dc2887e294de4d8abefbc4c9466af12a0b8315acf6faec7d8a +size 10768393 diff --git a/python-2.7.5-multilib.patch b/python-2.7.5-multilib.patch index e55c68d..a90898a 100644 --- a/python-2.7.5-multilib.patch +++ b/python-2.7.5-multilib.patch @@ -1,8 +1,8 @@ -Index: Python-2.7.12/configure.ac +Index: Python-2.7.13/configure.ac =================================================================== ---- Python-2.7.12.orig/configure.ac -+++ Python-2.7.12/configure.ac -@@ -756,6 +756,41 @@ SunOS*) +--- Python-2.7.13.orig/configure.ac ++++ Python-2.7.13/configure.ac +@@ -759,6 +759,41 @@ SunOS*) ;; esac @@ -44,10 +44,10 @@ Index: Python-2.7.12/configure.ac AC_SUBST(LIBRARY) AC_MSG_CHECKING(LIBRARY) -Index: Python-2.7.12/Include/pythonrun.h +Index: Python-2.7.13/Include/pythonrun.h =================================================================== ---- Python-2.7.12.orig/Include/pythonrun.h -+++ Python-2.7.12/Include/pythonrun.h +--- Python-2.7.13.orig/Include/pythonrun.h ++++ Python-2.7.13/Include/pythonrun.h @@ -108,6 +108,8 @@ PyAPI_FUNC(char *) Py_GetPath(void); /* In their own files */ PyAPI_FUNC(const char *) Py_GetVersion(void); @@ -57,10 +57,10 @@ Index: Python-2.7.12/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.12/Lib/distutils/command/install.py +Index: Python-2.7.13/Lib/distutils/command/install.py =================================================================== ---- Python-2.7.12.orig/Lib/distutils/command/install.py -+++ Python-2.7.12/Lib/distutils/command/install.py +--- Python-2.7.13.orig/Lib/distutils/command/install.py ++++ Python-2.7.13/Lib/distutils/command/install.py @@ -22,6 +22,8 @@ from site import USER_BASE from site import USER_SITE @@ -79,10 +79,10 @@ Index: Python-2.7.12/Lib/distutils/command/install.py 'headers': '$base/include/python$py_version_short/$dist_name', 'scripts': '$base/bin', 'data' : '$base', -Index: Python-2.7.12/Lib/distutils/sysconfig.py +Index: Python-2.7.13/Lib/distutils/sysconfig.py =================================================================== ---- Python-2.7.12.orig/Lib/distutils/sysconfig.py -+++ Python-2.7.12/Lib/distutils/sysconfig.py +--- Python-2.7.13.orig/Lib/distutils/sysconfig.py ++++ Python-2.7.13/Lib/distutils/sysconfig.py @@ -119,8 +119,11 @@ def get_python_lib(plat_specific=0, stan prefix = plat_specific and EXEC_PREFIX or PREFIX @@ -97,23 +97,23 @@ Index: Python-2.7.12/Lib/distutils/sysconfig.py if standard_lib: return libpython else: -Index: Python-2.7.12/Lib/pydoc.py +Index: Python-2.7.13/Lib/pydoc.py =================================================================== ---- Python-2.7.12.orig/Lib/pydoc.py -+++ Python-2.7.12/Lib/pydoc.py -@@ -384,7 +384,7 @@ class Doc: +--- Python-2.7.13.orig/Lib/pydoc.py ++++ Python-2.7.13/Lib/pydoc.py +@@ -375,7 +375,7 @@ class Doc: + docmodule = docclass = docroutine = docother = docproperty = docdata = fail - docloc = os.environ.get("PYTHONDOCS", - "http://docs.python.org/library") -- basedir = os.path.join(sys.exec_prefix, "lib", -+ basedir = os.path.join(sys.exec_prefix, sys.lib, - "python"+sys.version[0:3]) - if (isinstance(object, type(os)) and - (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', -Index: Python-2.7.12/Lib/site.py + def getdocloc(self, object, +- basedir=os.path.join(sys.exec_prefix, "lib", ++ basedir=os.path.join(sys.exec_prefix, sys.lib, + "python"+sys.version[0:3])): + """Return the location of module docs or None""" + +Index: Python-2.7.13/Lib/site.py =================================================================== ---- Python-2.7.12.orig/Lib/site.py -+++ Python-2.7.12/Lib/site.py +--- Python-2.7.13.orig/Lib/site.py ++++ Python-2.7.13/Lib/site.py @@ -231,29 +231,38 @@ def getuserbase(): USER_BASE = get_config_var('userbase') return USER_BASE @@ -194,13 +194,13 @@ Index: Python-2.7.12/Lib/site.py sitepackages.append(prefix) - sitepackages.append(os.path.join(prefix, "lib", "site-packages")) + sitepackages.append(os.path.join(prefix, sys.lib, "site-packages")) - if sys.platform == "darwin": - # for framework builds *only* we add the standard Apple - # locations. -Index: Python-2.7.12/Lib/sysconfig.py + return sitepackages + + def addsitepackages(known_paths): +Index: Python-2.7.13/Lib/sysconfig.py =================================================================== ---- Python-2.7.12.orig/Lib/sysconfig.py -+++ Python-2.7.12/Lib/sysconfig.py +--- Python-2.7.13.orig/Lib/sysconfig.py ++++ Python-2.7.13/Lib/sysconfig.py @@ -7,10 +7,10 @@ from os.path import pardir, realpath _INSTALL_SCHEMES = { @@ -229,10 +229,10 @@ Index: Python-2.7.12/Lib/sysconfig.py 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data' : '{userbase}', -Index: Python-2.7.12/Lib/test/test_dl.py +Index: Python-2.7.13/Lib/test/test_dl.py =================================================================== ---- Python-2.7.12.orig/Lib/test/test_dl.py -+++ Python-2.7.12/Lib/test/test_dl.py +--- Python-2.7.13.orig/Lib/test/test_dl.py ++++ Python-2.7.13/Lib/test/test_dl.py @@ -4,10 +4,11 @@ import unittest from test.test_support import verbose, import_module @@ -247,14 +247,14 @@ Index: Python-2.7.12/Lib/test/test_dl.py ('/usr/bin/cygwin1.dll', 'getpid'), ('/usr/lib/libc.dylib', 'getpid'), ] -Index: Python-2.7.12/Lib/test/test_site.py +Index: Python-2.7.13/Lib/test/test_site.py =================================================================== ---- Python-2.7.12.orig/Lib/test/test_site.py -+++ Python-2.7.12/Lib/test/test_site.py -@@ -246,12 +246,16 @@ class HelperFunctionsTests(unittest.Test - self.assertEqual(dirs[2], wanted) +--- Python-2.7.13.orig/Lib/test/test_site.py ++++ Python-2.7.13/Lib/test/test_site.py +@@ -235,12 +235,16 @@ class HelperFunctionsTests(unittest.Test + self.assertEqual(dirs[0], wanted) elif os.sep == '/': - # OS X non-framwework builds, Linux, FreeBSD, etc + # OS X, Linux, FreeBSD, etc - self.assertEqual(len(dirs), 2) wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], 'site-packages') @@ -271,10 +271,10 @@ Index: Python-2.7.12/Lib/test/test_site.py else: # other platforms self.assertEqual(len(dirs), 2) -Index: Python-2.7.12/Lib/trace.py +Index: Python-2.7.13/Lib/trace.py =================================================================== ---- Python-2.7.12.orig/Lib/trace.py -+++ Python-2.7.12/Lib/trace.py +--- Python-2.7.13.orig/Lib/trace.py ++++ Python-2.7.13/Lib/trace.py @@ -754,10 +754,10 @@ def main(argv=None): # should I also call expanduser? (after all, could use $HOME) @@ -288,10 +288,10 @@ Index: Python-2.7.12/Lib/trace.py "python" + sys.version[:3])) s = os.path.normpath(s) ignore_dirs.append(s) -Index: Python-2.7.12/Makefile.pre.in +Index: Python-2.7.13/Makefile.pre.in =================================================================== ---- Python-2.7.12.orig/Makefile.pre.in -+++ Python-2.7.12/Makefile.pre.in +--- Python-2.7.13.orig/Makefile.pre.in ++++ Python-2.7.13/Makefile.pre.in @@ -92,6 +92,8 @@ PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAG # Machine-dependent subdirectories @@ -301,7 +301,7 @@ Index: Python-2.7.12/Makefile.pre.in # Multiarch directory (may be empty) MULTIARCH= @MULTIARCH@ -@@ -669,6 +671,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -668,6 +670,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -309,7 +309,7 @@ Index: Python-2.7.12/Makefile.pre.in -o $@ $(srcdir)/Modules/getpath.c Modules/python.o: $(srcdir)/Modules/python.c -@@ -720,7 +723,7 @@ $(AST_C): $(AST_ASDL) $(ASDLGEN_FILES) +@@ -708,7 +711,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 @@ -318,10 +318,10 @@ Index: Python-2.7.12/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.12/Modules/getpath.c +Index: Python-2.7.13/Modules/getpath.c =================================================================== ---- Python-2.7.12.orig/Modules/getpath.c -+++ Python-2.7.12/Modules/getpath.c +--- Python-2.7.13.orig/Modules/getpath.c ++++ Python-2.7.13/Modules/getpath.c @@ -100,6 +100,8 @@ #error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined" #endif @@ -340,10 +340,10 @@ Index: Python-2.7.12/Modules/getpath.c static void reduce(char *dir) -Index: Python-2.7.12/Python/getplatform.c +Index: Python-2.7.13/Python/getplatform.c =================================================================== ---- Python-2.7.12.orig/Python/getplatform.c -+++ Python-2.7.12/Python/getplatform.c +--- Python-2.7.13.orig/Python/getplatform.c ++++ Python-2.7.13/Python/getplatform.c @@ -10,3 +10,23 @@ Py_GetPlatform(void) { return PLATFORM; @@ -368,10 +368,10 @@ Index: Python-2.7.12/Python/getplatform.c +{ + return LIB; +} -Index: Python-2.7.12/Python/sysmodule.c +Index: Python-2.7.13/Python/sysmodule.c =================================================================== ---- Python-2.7.12.orig/Python/sysmodule.c -+++ Python-2.7.12/Python/sysmodule.c +--- Python-2.7.13.orig/Python/sysmodule.c ++++ Python-2.7.13/Python/sysmodule.c @@ -1437,6 +1437,10 @@ _PySys_Init(void) PyString_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", @@ -383,10 +383,10 @@ Index: Python-2.7.12/Python/sysmodule.c SET_SYS_FROM_STRING("executable", PyString_FromString(Py_GetProgramFullPath())); SET_SYS_FROM_STRING("prefix", -Index: Python-2.7.12/setup.py +Index: Python-2.7.13/setup.py =================================================================== ---- Python-2.7.12.orig/setup.py -+++ Python-2.7.12/setup.py +--- Python-2.7.13.orig/setup.py ++++ Python-2.7.13/setup.py @@ -456,7 +456,7 @@ class PyBuildExt(build_ext): def detect_modules(self): # Ensure that /usr/local is always used diff --git a/python-base.changes b/python-base.changes index 60e3312..229d576 100644 --- a/python-base.changes +++ b/python-base.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Jan 3 16:59:24 UTC 2017 - jmatejek@suse.com + +- update to 2.7.13 + * dozens of bugfixes, see NEWS for details + * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 + * properly fix HTTPoxy (CVE-2016-1000110) + * profile-opt build now applies PGO to modules as well +- drop python-2.7.10-overflow_check.patch which is solved in upstream + ------------------------------------------------------------------- Fri Dec 2 15:32:59 UTC 2016 - jmatejek@suse.com diff --git a/python-base.spec b/python-base.spec index 1fadf4e..57ea132 100644 --- a/python-base.spec +++ b/python-base.spec @@ -1,7 +1,7 @@ # # spec file for package python-base # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python-base -Version: 2.7.12 +Version: 2.7.13 Release: 0 Summary: Python Interpreter base package License: Python-2.0 @@ -54,7 +54,6 @@ Patch33: python-2.7.9-ssl_ca_path.patch Patch34: python-2.7.9-sles-disable-verification-by-default.patch # PATCH-FIX-UPSTREAM python-ncurses-6.0-accessors.patch dimstar@opensuse.org -- Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1 Patch35: python-ncurses-6.0-accessors.patch -Patch36: python-2.7.10-overflow_check.patch Patch37: python-2.7.12-makeopcode.patch # COMMON-PATCH-END %define python_version %(echo %{tarversion} | head -c 3) @@ -153,7 +152,6 @@ other applications. %patch34 -p1 %endif %patch35 -p1 -%patch36 %patch37 -p1 # drop Autoconf version requirement diff --git a/python-bundle-lang.patch b/python-bundle-lang.patch index e31463a..41762ac 100644 --- a/python-bundle-lang.patch +++ b/python-bundle-lang.patch @@ -1,16 +1,16 @@ -Index: Python-2.7.3/Lib/gettext.py +Index: Python-2.7.13/Lib/gettext.py =================================================================== ---- Python-2.7.3.orig/Lib/gettext.py -+++ Python-2.7.3/Lib/gettext.py -@@ -56,6 +56,7 @@ __all__ = ['NullTranslations', 'GNUTrans +--- Python-2.7.13.orig/Lib/gettext.py ++++ Python-2.7.13/Lib/gettext.py +@@ -58,6 +58,7 @@ __all__ = ['NullTranslations', 'GNUTrans ] _default_localedir = os.path.join(sys.prefix, 'share', 'locale') +_default_bundlelocaledir = os.path.join(sys.prefix, 'share', 'locale-bundle') - - def test(condition, true, false): -@@ -420,6 +421,10 @@ class GNUTranslations(NullTranslations): + # Expression parsing for plural form selection. + # +@@ -496,6 +497,10 @@ class GNUTranslations(NullTranslations): # Locate a .mo file using the gettext strategy def find(domain, localedir=None, languages=None, all=0): diff --git a/python-doc.spec b/python-doc.spec index d431305..3f8b6cf 100644 --- a/python-doc.spec +++ b/python-doc.spec @@ -1,7 +1,7 @@ # # spec file for package python-doc # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python-doc -Version: 2.7.12 +Version: 2.7.13 Release: 0 Summary: Additional Package Documentation for Python License: Python-2.0 @@ -55,7 +55,6 @@ Patch33: python-2.7.9-ssl_ca_path.patch Patch34: python-2.7.9-sles-disable-verification-by-default.patch # PATCH-FIX-UPSTREAM python-ncurses-6.0-accessors.patch dimstar@opensuse.org -- Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1 Patch35: python-ncurses-6.0-accessors.patch -Patch36: python-2.7.10-overflow_check.patch Patch37: python-2.7.12-makeopcode.patch # COMMON-PATCH-END Provides: pyth_doc @@ -105,7 +104,6 @@ Python, and Macintosh Module Reference in PDF format. %patch34 -p1 %endif %patch35 -p1 -%patch36 %patch37 -p1 # drop Autoconf version requirement diff --git a/python.spec b/python.spec index ac2a904..cca9cec 100644 --- a/python.spec +++ b/python.spec @@ -1,7 +1,7 @@ # # spec file for package python # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: python -Version: 2.7.12 +Version: 2.7.13 Release: 0 Summary: Python Interpreter License: Python-2.0 @@ -60,7 +60,6 @@ Patch33: python-2.7.9-ssl_ca_path.patch Patch34: python-2.7.9-sles-disable-verification-by-default.patch # PATCH-FIX-UPSTREAM python-ncurses-6.0-accessors.patch dimstar@opensuse.org -- Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1 Patch35: python-ncurses-6.0-accessors.patch -Patch36: python-2.7.10-overflow_check.patch Patch37: python-2.7.12-makeopcode.patch # COMMON-PATCH-END BuildRequires: automake @@ -210,7 +209,6 @@ that rely on earlier non-verification behavior. %patch34 -p1 %endif %patch35 -p1 -%patch36 %patch37 -p1 # drop Autoconf version requirement