diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-11-18 18:45:46 +0100 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2019-11-22 14:38:57 +0100 |
commit | 1a02ab9354ac0bfc385e655fb1748278517b1778 (patch) | |
tree | 7f05513bb6b7c2315aa3d225d897ebfb23022946 | |
parent | 82c038edb8ad3dc507de7044f5b71b06bd8886b9 (diff) |
python3: upgrade to release 3.5.9
Fixes CVE-2019-9948 CVE-2019-9740 CVE-2019-10160 CVE-2019-16056
and expat CVE-2019-15903.
python-3.3.5-pyexpat-symbols.patch.1 fails to apply, and it's a
mystery why --with-system-expat is used everywhere but on MacOSX,
where 292af048ace2d4b455b2da3a22c784cb05db1d09 disabled it for no
obvious reason, so try to remove the special case and get rid of the
patch.
Reviewed-on: https://gerrit.libreoffice.org/83117
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
(cherry picked from commit b0930d56130fdddfe65e92b081a8afad77974076)
Reviewed-on: https://gerrit.libreoffice.org/83189
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
(cherry picked from commit 0d4b1f624349361e5bf11b58ccc9e0e295c0e4aa)
Remove external/python3/python-3.5.7-c99.patch.1 - was apparently
reverted upstream.
Change-Id: I5ba4532eb6e7c2fb90daba95d132dcc7c9013d96
Reviewed-on: https://gerrit.libreoffice.org/83426
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Tested-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | download.lst | 4 | ||||
-rwxr-xr-x | external/python3/ExternalProject_python3.mk | 6 | ||||
-rw-r--r-- | external/python3/UnpackedTarball_python3.mk | 2 | ||||
-rw-r--r-- | external/python3/python-3.3.5-pyexpat-symbols.patch.1 | 28 | ||||
-rw-r--r-- | external/python3/python-3.5.7-c99.patch.1 | 62 |
6 files changed, 5 insertions, 99 deletions
diff --git a/configure.ac b/configure.ac index 0a912c2bf238..d6e72337e25c 100644 --- a/configure.ac +++ b/configure.ac @@ -8449,7 +8449,7 @@ internal) SYSTEM_PYTHON= PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=5 - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.7 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.9 if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in download.lst]) fi diff --git a/download.lst b/download.lst index 993b5d105bcd..1d050742084c 100644 --- a/download.lst +++ b/download.lst @@ -134,8 +134,8 @@ export PNG_TARBALL := libpng-1.6.37.tar.xz export POPPLER_MD5SUM := 1ce581bde2f23fa55bee13d8c61ac0df export POPPLER_TARBALL := poppler-0.74.0.tar.xz export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 -export PYTHON_MD5SUM := b1b4949786732494f4d6675c184aa765 -export PYTHON_TARBALL := Python-3.5.7.tar.xz +export PYTHON_MD5SUM := ef7f82485e83c7f8f8bcb920a9c2457b +export PYTHON_TARBALL := Python-3.5.9.tar.xz export RAPTOR_TARBALL := 4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz export RASQAL_TARBALL := b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz export REDLAND_TARBALL := 32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index f91399c0af52..de3c9faed444 100755 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -43,9 +43,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : else -# this was added in 2004, hopefully is obsolete now (and why only intel anyway)? $(if $(filter SOLARIS-INTEL,$(OS)$(CPUNAME)),--disable-ipv6) - -# --with-system-expat: this should find the one in the solver (or system) +# --with-system-expat: this should find the one in the workdir (or system) # create a symlink "LO_lib" because the .so are in a directory with platform # specific name like build/lib.linux-x86_64-3.3 @@ -61,7 +59,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) : $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ $(if $(ENABLE_VALGRIND),--with-valgrind) \ --prefix=/python-inst \ - $(if $(filter MACOSX,$(OS)),,--with-system-expat) \ + --with-system-expat \ $(if $(filter AIX,$(OS)), \ --disable-ipv6 --with-threads OPT="-g0 -fwrapv -O3 -Wall", \ $(if $(gb_Module_CURRENTMODULE_DEBUG_ENABLED), \ diff --git a/external/python3/UnpackedTarball_python3.mk b/external/python3/UnpackedTarball_python3.mk index 5fe0212d86e3..048716423c13 100644 --- a/external/python3/UnpackedTarball_python3.mk +++ b/external/python3/UnpackedTarball_python3.mk @@ -24,11 +24,9 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\ external/python3/python-3.3.0-i42553.patch.2 \ external/python3/python-3.3.0-pythreadstate.patch.1 \ external/python3/python-3.3.0-clang.patch.1 \ - external/python3/python-3.3.5-pyexpat-symbols.patch.1 \ external/python3/ubsan.patch.0 \ external/python3/python-3.5.tweak.strip.soabi.patch \ external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 \ - external/python3/python-3.5.7-c99.patch.1 \ )) ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),) diff --git a/external/python3/python-3.3.5-pyexpat-symbols.patch.1 b/external/python3/python-3.3.5-pyexpat-symbols.patch.1 deleted file mode 100644 index c04c78cf36e7..000000000000 --- a/external/python3/python-3.3.5-pyexpat-symbols.patch.1 +++ /dev/null @@ -1,28 +0,0 @@ -HACK: Fix build breakage on MacOS: - -*** WARNING: renaming "pyexpat" since importing it failed: dlopen(build/lib.macosx-10.6-i386-3.3/pyexpat.so, 2): Symbol not found: _XML_ErrorString - -This reverts c242a8f30806 from the python hg repo: - -restore namespacing of pyexpat symbols (closes #19186) - - -See http://bugs.python.org/issue19186#msg214069 - -The recommendation to include Modules/inc at first broke the Linux build... - -So do it this way, as it was before. Needs some realignment later. - ---- python3/Modules/expat/expat_external.h -+++ python3/Modules/expat/expat_external.h -@@ -7,10 +7,6 @@ - - /* External API definitions */ - --/* Namespace external symbols to allow multiple libexpat version to -- co-exist. */ --#include "pyexpatns.h" -- - #if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) - #define XML_USE_MSC_EXTENSIONS 1 - #endif diff --git a/external/python3/python-3.5.7-c99.patch.1 b/external/python3/python-3.5.7-c99.patch.1 deleted file mode 100644 index 558166d9953f..000000000000 --- a/external/python3/python-3.5.7-c99.patch.1 +++ /dev/null @@ -1,62 +0,0 @@ -remove C99 which isn't suppored by all compilers yet - ---- python3/Modules/_pickle.c.orig 2019-04-03 16:34:01.380124314 +0200 -+++ python3/Modules/_pickle.c 2019-04-03 16:35:18.579005171 +0200 -@@ -674,9 +674,12 @@ - PyErr_NoMemory(); - return NULL; - } -- for (size_t i = 0; i < self->mt_allocated; i++) { -+ { -+ size_t i; -+ for (i = 0; i < self->mt_allocated; i++) { - Py_XINCREF(self->mt_table[i].me_key); - } -+ } - memcpy(new->mt_table, self->mt_table, - sizeof(PyMemoEntry) * self->mt_allocated); - -@@ -4204,7 +4207,9 @@ - return NULL; - - memo = self->pickler->memo; -- for (size_t i = 0; i < memo->mt_allocated; ++i) { -+ { -+ size_t i; -+ for (i = 0; i < memo->mt_allocated; ++i) { - PyMemoEntry entry = memo->mt_table[i]; - if (entry.me_key != NULL) { - int status; -@@ -4225,6 +4230,7 @@ - goto error; - } - } -+ } - return new_memo; - - error: -@@ -6791,10 +6797,13 @@ - if (new_memo == NULL) - return -1; - -- for (size_t i = 0; i < new_memo_size; i++) { -+ { -+ size_t i; -+ for (i = 0; i < new_memo_size; i++) { - Py_XINCREF(unpickler->memo[i]); - new_memo[i] = unpickler->memo[i]; - } -+ } - } - else if (PyDict_Check(obj)) { - Py_ssize_t i = 0; -@@ -6839,7 +6848,8 @@ - - error: - if (new_memo_size) { -- for (size_t i = new_memo_size - 1; i != SIZE_MAX; i--) { -+ size_t i; -+ for (i = new_memo_size - 1; i != SIZE_MAX; i--) { - Py_XDECREF(new_memo[i]); - } - PyMem_FREE(new_memo); |