summaryrefslogtreecommitdiff
path: root/lang/python/python3
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2020-06-30 21:20:18 +0800
committerJeffery To <jeffery.to@gmail.com>2020-06-30 21:20:18 +0800
commitd78bdbd8ad91abca5bf1959b53a70e930440fba1 (patch)
tree32dc203ca0e7919682d91d873576b4d7c000fb43 /lang/python/python3
parent587e387af7919cdb592e40bce088cc7ed5c31be7 (diff)
python3: Update to 3.7.8, refresh/rework patches
This contains a fix for CVE-2020-8492 (Denial of service in urllib.request.AbstractBasicAuthHandler)[1]. This also updates the setuptools and pip packages to 47.1.0 and 20.1.1, respectively. [1]: https://docs.python.org/release/3.7.8/whatsnew/changelog.html#python-3-7-8-release-candidate-1 Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Diffstat (limited to 'lang/python/python3')
-rw-r--r--lang/python/python3/Makefile6
-rw-r--r--lang/python/python3/patches-pip/001-pep517-pyc-fix.patch25
-rw-r--r--lang/python/python3/patches-setuptools/001-reproducible.patch2
-rw-r--r--lang/python/python3/patches-setuptools/002-sorted-requires.patch8
-rw-r--r--lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch2
-rw-r--r--lang/python/python3/patches-setuptools/004-site-patch.patch2
-rw-r--r--lang/python/python3/patches/014-remove-platform-so-suffix.patch4
-rw-r--r--lang/python/python3/patches/016-adjust-config-paths.patch4
-rw-r--r--lang/python/python3/patches/025-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch10
-rw-r--r--lang/python/python3/patches/026-bpo-34585-run-autoconf-GH-9411.patch8
10 files changed, 33 insertions, 38 deletions
diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
index 6923fc448..96d0686a5 100644
--- a/lang/python/python3/Makefile
+++ b/lang/python/python3/Makefile
@@ -14,12 +14,12 @@ PYTHON_VERSION:=$(PYTHON3_VERSION)
PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
PKG_NAME:=python3
-PKG_RELEASE:=3
+PKG_RELEASE:=1
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=06a0a9f1bf0d8cd1e4121194d666c4e28ddae4dd54346de6c343206599f02136
+PKG_HASH:=43a543404b363f0037f89df8478f19db2dbc0d6f3ffee310bc2997fa71854a63
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Python/2.0
@@ -192,7 +192,7 @@ define Build/Compile/python3-setuptools
--ignore-installed \
--root=$(PKG_BUILD_DIR)/install-setuptools \
--prefix=/usr \
- $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py2.py3-none-any.whl
+ $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py3-none-any.whl
$(call PatchDir,$(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages,./patches-setuptools,)
endef
endif # CONFIG_PACKAGE_python3-setuptools
diff --git a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch b/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch
index c284f0111..b07cdd19e 100644
--- a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch
+++ b/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch
@@ -1,13 +1,22 @@
diff -Nurp a/pip/_vendor/pep517/wrappers.py b/pip/_vendor/pep517/wrappers.py
---- a/pip/_vendor/pep517/wrappers.py 2019-07-30 20:02:13.000000000 +0800
-+++ b/pip/_vendor/pep517/wrappers.py 2020-04-24 17:23:35.764905235 +0800
-@@ -10,6 +10,9 @@ from . import compat
+--- a/pip/_vendor/pep517/wrappers.py 2020-05-19 10:39:38.000000000 +0800
++++ b/pip/_vendor/pep517/wrappers.py 2020-06-30 20:19:05.495033208 +0800
+@@ -14,11 +14,16 @@ try:
+ import importlib.resources as resources
- _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py')
+ def _in_proc_script_path():
+- return resources.path(__package__, '_in_process.py')
++ if resources.is_resource(__package__, '_in_process.py'):
++ return resources.path(__package__, '_in_process.py')
++ return resources.path(__package__, '_in_process.pyc')
+ except ImportError:
+ @contextmanager
+ def _in_proc_script_path():
+- yield pjoin(dirname(abspath(__file__)), '_in_process.py')
++ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py')
++ if not os.path.isfile(_in_proc_script):
++ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.pyc')
++ yield _in_proc_script
-+if not os.path.isfile(_in_proc_script):
-+ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.pyc')
-+
@contextmanager
- def tempdir():
diff --git a/lang/python/python3/patches-setuptools/001-reproducible.patch b/lang/python/python3/patches-setuptools/001-reproducible.patch
index 32edc568d..a4e80103f 100644
--- a/lang/python/python3/patches-setuptools/001-reproducible.patch
+++ b/lang/python/python3/patches-setuptools/001-reproducible.patch
@@ -5,7 +5,7 @@ Index: b/setuptools/command/easy_install.py
===================================================================
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
-@@ -436,7 +436,7 @@ consider to install to another location,
+@@ -423,7 +423,7 @@ class easy_install(Command):
for spec in self.args:
self.easy_install(spec, not self.no_deps)
if self.record:
diff --git a/lang/python/python3/patches-setuptools/002-sorted-requires.patch b/lang/python/python3/patches-setuptools/002-sorted-requires.patch
index 2ad4795b3..9e48f523e 100644
--- a/lang/python/python3/patches-setuptools/002-sorted-requires.patch
+++ b/lang/python/python3/patches-setuptools/002-sorted-requires.patch
@@ -5,10 +5,10 @@ Index: b/setuptools/command/egg_info.py
===================================================================
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
-@@ -621,7 +621,7 @@ def warn_depends_obsolete(cmd, basename,
- def _write_requirements(stream, reqs):
- lines = yield_lines(reqs or ())
- append_cr = lambda line: line + '\n'
+@@ -641,7 +641,7 @@ def _write_requirements(stream, reqs):
+
+ def append_cr(line):
+ return line + '\n'
- lines = map(append_cr, lines)
+ lines = map(append_cr, sorted(lines))
stream.writelines(lines)
diff --git a/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch b/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch
index 15f34dcdb..f1b6ca169 100644
--- a/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch
+++ b/lang/python/python3/patches-setuptools/003-PKG-INFO-output-reproducible.patch
@@ -3,7 +3,7 @@ https://sources.debian.org/patches/python-setuptools/40.8.0-1/PKG-INFO-output-re
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
-@@ -191,7 +191,7 @@ def write_pkg_file(self, file):
+@@ -193,7 +193,7 @@ def write_pkg_file(self, file):
self.long_description_content_type
)
if self.provides_extras:
diff --git a/lang/python/python3/patches-setuptools/004-site-patch.patch b/lang/python/python3/patches-setuptools/004-site-patch.patch
index 39b8c9026..279c35284 100644
--- a/lang/python/python3/patches-setuptools/004-site-patch.patch
+++ b/lang/python/python3/patches-setuptools/004-site-patch.patch
@@ -1,6 +1,6 @@
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
-@@ -1315,7 +1315,10 @@ class easy_install(Command):
+@@ -1324,7 +1324,10 @@ class easy_install(Command):
return # already did it, or don't need to
sitepy = os.path.join(self.install_dir, "site.py")
diff --git a/lang/python/python3/patches/014-remove-platform-so-suffix.patch b/lang/python/python3/patches/014-remove-platform-so-suffix.patch
index 321be4ec7..488ce4990 100644
--- a/lang/python/python3/patches/014-remove-platform-so-suffix.patch
+++ b/lang/python/python3/patches/014-remove-platform-so-suffix.patch
@@ -1,6 +1,6 @@
--- a/configure
+++ b/configure
-@@ -15246,7 +15246,7 @@ $as_echo_n "checking ABIFLAGS... " >&6;
+@@ -15272,7 +15272,7 @@ $as_echo_n "checking ABIFLAGS... " >&6;
$as_echo "$ABIFLAGS" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5
$as_echo_n "checking SOABI... " >&6; }
@@ -11,7 +11,7 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -4739,7 +4739,7 @@ AC_SUBST(SOABI)
+@@ -4754,7 +4754,7 @@ AC_SUBST(SOABI)
AC_MSG_CHECKING(ABIFLAGS)
AC_MSG_RESULT($ABIFLAGS)
AC_MSG_CHECKING(SOABI)
diff --git a/lang/python/python3/patches/016-adjust-config-paths.patch b/lang/python/python3/patches/016-adjust-config-paths.patch
index 3b9131546..eb6f2e6a9 100644
--- a/lang/python/python3/patches/016-adjust-config-paths.patch
+++ b/lang/python/python3/patches/016-adjust-config-paths.patch
@@ -40,7 +40,7 @@
# Here are a couple of targets for MacOSX again, to install a full
--- a/configure
+++ b/configure
-@@ -15265,7 +15265,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)'
+@@ -15291,7 +15291,7 @@ LDVERSION='$(VERSION)$(ABIFLAGS)'
$as_echo "$LDVERSION" >&6; }
@@ -51,7 +51,7 @@
LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
--- a/configure.ac
+++ b/configure.ac
-@@ -4756,7 +4756,7 @@ AC_MSG_RESULT($LDVERSION)
+@@ -4771,7 +4771,7 @@ AC_MSG_RESULT($LDVERSION)
dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
AC_SUBST(PY_ENABLE_SHARED)
diff --git a/lang/python/python3/patches/025-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch b/lang/python/python3/patches/025-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch
index c72748d05..3a03372b3 100644
--- a/lang/python/python3/patches/025-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch
+++ b/lang/python/python3/patches/025-bpo-34585-Dont-do-runtime-test-to-get-float-byte-order-GH-9085.patch
@@ -17,20 +17,15 @@ RFC because this doesn't yet handle the weird ancient ARMv4 OABI 'mixed-endian'
create mode 100644 Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
create mode 100644 m4/ax_c_float_words_bigendian.m4
-diff --git a/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst b/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
-new file mode 100644
-index 0000000000000..01318e6e46a32
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2018-09-18-16-28-31.bpo-34585.CGMu0h.rst
@@ -0,0 +1,3 @@
+Check for floating-point byte order in configure.ac using compilation tests
+instead of executing code, so that these checks work in cross-compiled
+builds.
-diff --git a/configure.ac b/configure.ac
-index 03638f8ae9bc7..96331ec221be2 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4206,74 +4206,24 @@ fi
+@@ -4362,74 +4362,24 @@ fi
# * Check for various properties of floating point *
# **************************************************
@@ -118,9 +113,6 @@ index 03638f8ae9bc7..96331ec221be2 100644
AC_DEFINE(DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754, 1,
[Define if C doubles are 64-bit IEEE 754 binary format, stored
in ARM mixed-endian order (byte order 45670123)])
-diff --git a/m4/ax_c_float_words_bigendian.m4 b/m4/ax_c_float_words_bigendian.m4
-new file mode 100644
-index 0000000000000..216b90d803187
--- /dev/null
+++ b/m4/ax_c_float_words_bigendian.m4
@@ -0,0 +1,83 @@
diff --git a/lang/python/python3/patches/026-bpo-34585-run-autoconf-GH-9411.patch b/lang/python/python3/patches/026-bpo-34585-run-autoconf-GH-9411.patch
index ddef81fae..6a79ff5a7 100644
--- a/lang/python/python3/patches/026-bpo-34585-run-autoconf-GH-9411.patch
+++ b/lang/python/python3/patches/026-bpo-34585-run-autoconf-GH-9411.patch
@@ -10,8 +10,6 @@ Follow up to 2a9c3805ddedf282881ef7811a561c70b74f80b1 (bpo-34585).
pyconfig.h.in | 4 ++
3 files changed, 51 insertions(+), 100 deletions(-)
-diff --git a/aclocal.m4 b/aclocal.m4
-index 6a24d8e6b9c00..030e6877de9f7 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -288,4 +288,5 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
@@ -20,11 +18,9 @@ index 6a24d8e6b9c00..030e6877de9f7 100644
+m4_include([m4/ax_c_float_words_bigendian.m4])
m4_include([m4/ax_check_openssl.m4])
-diff --git a/configure b/configure
-index 7b0c734b5e25e..38546d6ca7b40 100755
--- a/configure
+++ b/configure
-@@ -13853,131 +13853,77 @@ fi
+@@ -14232,131 +14232,77 @@ fi
# * Check for various properties of floating point *
# **************************************************
@@ -202,8 +198,6 @@ index 7b0c734b5e25e..38546d6ca7b40 100755
$as_echo "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h
-diff --git a/pyconfig.h.in b/pyconfig.h.in
-index 360f79994fafe..41e0479cad2e3 100644
--- a/pyconfig.h.in
+++ b/pyconfig.h.in
@@ -30,6 +30,10 @@