From 0bcf65704ac65d78d48ede0c9556f3478b3a8a2994e15ea53d6e1d566eda7c9c Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sun, 2 May 2021 17:07:37 +0000 Subject: [PATCH 1/2] Accepting request 889802 from home:bnavigator:branches:devel:languages:python:Factory - Make sure to close the import_failed.map file after the exception has been raised in order to avoid ResourceWarnings when the failing import is part of a try...except block. Please sync to the other flavors. This fixes test suite failures of packages with `-W error` and optional imports. (e.g. pytest-doctestplus) OBS-URL: https://build.opensuse.org/request/show/889802 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=65 --- import_failed.py | 11 ++++++----- python38.changes | 7 +++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/import_failed.py b/import_failed.py index 7e83460..258b5a5 100644 --- a/import_failed.py +++ b/import_failed.py @@ -8,11 +8,12 @@ if __spec__: else: failed_name = __name__ -for line in open(failed_map_path): - package = line.split(':')[0] - imports = line.split(':')[1] - if failed_name in imports: - raise ImportError(f"""Module '{failed_name}' is not installed. +with open(failed_map_path) as fd: + for line in fd: + package = line.split(':')[0] + imports = line.split(':')[1] + if failed_name in imports: + raise ImportError(f"""Module '{failed_name}' is not installed. Use: sudo zypper install {package} to install it.""") diff --git a/python38.changes b/python38.changes index 02b2884..f9ffdf3 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun May 2 09:20:06 UTC 2021 - Ben Greiner + +- Make sure to close the import_failed.map file after the exception + has been raised in order to avoid ResourceWarnings when the + failing import is part of a try...except block. + ------------------------------------------------------------------- Wed Apr 28 17:32:55 UTC 2021 - Matej Cepl From e509746279559cc94c26eb724e3a9cbfb90927700fcd9ef2fe7a7f328e65c57e Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Wed, 5 May 2021 15:36:38 +0000 Subject: [PATCH 2/2] - Update to 3.8.10: - Security - bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland. - bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module. - bpo-43075: Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. - Core and Builtins - bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations. - bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). - Library - bpo-43993: Update bundled pip to 21.1.1. - bpo-43937: Fixed the turtle module working with non-default root window. - bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0 - bpo-43920: OpenSSL 3.0.0: load_verify_locations() now OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=66 --- CVE-2019-5010-null-defer-x509-cert-DOS.patch | 10 +- F00102-lib64.patch | 18 +-- Python-3.8.10.tar.xz | 3 + Python-3.8.10.tar.xz.asc | 16 +++ Python-3.8.9.tar.xz | 3 - Python-3.8.9.tar.xz.asc | 16 --- SUSE-FEDORA-multilib.patch | 20 +-- bpo-31046_ensurepip_honours_prefix.patch | 22 ++-- python-3.3.0b1-fix_date_time_compiler.patch | 6 +- python38.changes | 126 +++++++++++++++++++ python38.spec | 2 +- 11 files changed, 185 insertions(+), 57 deletions(-) create mode 100644 Python-3.8.10.tar.xz create mode 100644 Python-3.8.10.tar.xz.asc delete mode 100644 Python-3.8.9.tar.xz delete mode 100644 Python-3.8.9.tar.xz.asc diff --git a/CVE-2019-5010-null-defer-x509-cert-DOS.patch b/CVE-2019-5010-null-defer-x509-cert-DOS.patch index e0ec246..5efb16a 100644 --- a/CVE-2019-5010-null-defer-x509-cert-DOS.patch +++ b/CVE-2019-5010-null-defer-x509-cert-DOS.patch @@ -13,17 +13,15 @@ Signed-off-by: Christian Heimes https://bugs.python.org/issue35746 --- - Lib/test/talos-2019-0758.pem | 22 +++++++++++++++++++ - Lib/test/test_ssl.py | 22 +++++++++++++++++++ - .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ - Modules/_ssl.c | 4 ++++ - 4 files changed, 51 insertions(+) + Lib/test/test_ssl.py | 21 ++++++++++ + Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 + + 2 files changed, 24 insertions(+) create mode 100644 Lib/test/talos-2019-0758.pem create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py -@@ -467,6 +467,27 @@ class BasicSocketTests(unittest.TestCase +@@ -501,6 +501,27 @@ class BasicSocketTests(unittest.TestCase } ) diff --git a/F00102-lib64.patch b/F00102-lib64.patch index e356233..539c8f7 100644 --- a/F00102-lib64.patch +++ b/F00102-lib64.patch @@ -100,7 +100,7 @@ Co-authored-by: Iryna Shcherbina --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -20,10 +20,10 @@ __all__ = [ +@@ -25,10 +25,10 @@ _ALWAYS_STR = { _INSTALL_SCHEMES = { 'posix_prefix': { @@ -114,7 +114,7 @@ Co-authored-by: Iryna Shcherbina 'include': '{installed_base}/include/python{py_version_short}{abiflags}', 'platinclude': -@@ -62,10 +62,10 @@ _INSTALL_SCHEMES = { +@@ -67,10 +67,10 @@ _INSTALL_SCHEMES = { 'data': '{userbase}', }, 'posix_user': { @@ -130,7 +130,7 @@ Co-authored-by: Iryna Shcherbina 'data': '{userbase}', --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py -@@ -267,8 +267,8 @@ class HelperFunctionsTests(unittest.Test +@@ -268,8 +268,8 @@ class HelperFunctionsTests(unittest.Test dirs = site.getsitepackages() if os.sep == '/': # OS X, Linux, FreeBSD, etc @@ -163,7 +163,7 @@ Co-authored-by: Iryna Shcherbina if (_PyStatus_EXCEPTION(status)) { return status; } -@@ -1067,7 +1067,7 @@ calculate_zip_path(PyCalculatePath *calc +@@ -1063,7 +1063,7 @@ calculate_zip_path(PyCalculatePath *calc return PATHLEN_ERR(); } } @@ -172,7 +172,7 @@ Co-authored-by: Iryna Shcherbina if (_PyStatus_EXCEPTION(status)) { return status; } -@@ -1197,7 +1197,7 @@ calculate_init(PyCalculatePath *calculat +@@ -1193,7 +1193,7 @@ calculate_init(PyCalculatePath *calculat if (!calculate->exec_prefix) { return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } @@ -183,7 +183,7 @@ Co-authored-by: Iryna Shcherbina } --- a/configure +++ b/configure -@@ -15222,9 +15222,9 @@ fi +@@ -15262,9 +15262,9 @@ fi if test x$PLATFORM_TRIPLET = x; then @@ -197,7 +197,7 @@ Co-authored-by: Iryna Shcherbina --- a/configure.ac +++ b/configure.ac -@@ -4698,9 +4698,9 @@ fi +@@ -4720,9 +4720,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then @@ -211,7 +211,7 @@ Co-authored-by: Iryna Shcherbina --- a/setup.py +++ b/setup.py -@@ -649,7 +649,7 @@ class PyBuildExt(build_ext): +@@ -634,7 +634,7 @@ class PyBuildExt(build_ext): # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not CROSS_COMPILING: @@ -220,7 +220,7 @@ Co-authored-by: Iryna Shcherbina add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if CROSS_COMPILING: -@@ -953,11 +953,11 @@ class PyBuildExt(build_ext): +@@ -938,11 +938,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(self.lib_dirs + diff --git a/Python-3.8.10.tar.xz b/Python-3.8.10.tar.xz new file mode 100644 index 0000000..f2e1148 --- /dev/null +++ b/Python-3.8.10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9 +size 18433456 diff --git a/Python-3.8.10.tar.xz.asc b/Python-3.8.10.tar.xz.asc new file mode 100644 index 0000000..41a4e29 --- /dev/null +++ b/Python-3.8.10.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmCP0ScACgkQsmmV4xAl +BWgroBAAjg5MXDN3BHjiwrG2yj3VuF4sFaDIbls7V69bmatfADEFDIWpF1YrcS/m +xlgmzUe0VztLpnU+TnpZt6xMuaSjHwv8Gbh/0cN1jLJg8P0Ssv2FS4P7pcct/JG9 +OqhW8E0cm8Th3a+dGsDLatlppDrk/1RGl6ZXfdKHLVWANXXiJtN2BJdS6gVEATsq +PL0QB1dgwQ/AVlBuXwLTQNwV8UM/yFXuKNgNyZ/icLKCDjqZszc62552Zu2hoZ/0 +KiZDAQG3rIvYJdrn0TXDITaoUPmb5FQmLWh7kcdk6R7Gmks3YJzolfzFFlwpPBfs +ePgP741p11of9TlId/fVHgMtoV54JLznrcrSlBfOvxxK7Oid9g0WeuqM/IKa7IBy +n/a4mNZivESYHuLbt3O2rpVZfvfS4ao8JBPnWXWqF2sNmmciNJCMnUGqOKuDVWV2 +LiE/6v0vkDHw4GIwRvYXPwnguSzv4O5ltHhE6YKGaLDX+J7q2oYZX4kbUYY4Tbxy +8ANtf/WesIZN53TNjUn/62JvXpJe9UqxOC1Kzl2XSToTr0hll9K5TiS2VXch1Jgx +LVyqzNkORzTmvftooOw4SFLgJnBbwVMRP9r7qkmpKB1ATyGc1t7WliHW6vBfp18C +O337fYnSRXyxwJTt+Km3fER+al3XeJsC7eIGEk0iJDQfoq4xhEI= +=A5fV +-----END PGP SIGNATURE----- diff --git a/Python-3.8.9.tar.xz b/Python-3.8.9.tar.xz deleted file mode 100644 index b7aaef9..0000000 --- a/Python-3.8.9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e391f3ec45da2954419cab0beaefd8be38895ea5ce33577c3ec14940c4b9572 -size 18271948 diff --git a/Python-3.8.9.tar.xz.asc b/Python-3.8.9.tar.xz.asc deleted file mode 100644 index 60fcd20..0000000 --- a/Python-3.8.9.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmBm/igACgkQsmmV4xAl -BWiJUQ/+KTgmV3FEBL25Yjtude5KgsjyCia1HYhkD2ou/rI8ATZcL+buHc8eENlG -0T0h4rDgggTjlBfK6H7Stj8u9GjKpMzj6RHKiOWEue3EuJo3G5JxHubEJ2graOWG -EYPoCFbZPlIt+FVFtXf/NTWic9qVxRRhzhNNzz23EFWToTHQxzt4ay+5y2QCGuC3 -0+6r9lvWurlSR1U2mlRLHtzmt8WyhCq5k3fEITI7eIxBVM1o4/sicE91PuFLnSF3 -Rbo0aG47cDqTJMFV70Q4ztExexAWB6uoPP+j+p25+IVWhO4UUSWTh+nfSvYZQHAC -ceS6POUifhBJI/4OGucRquzzCb6XYtI/Sevs9iFY57wteyxuEZTyhdUO8AS2LOlK -uCIeNvF8g1L1rSNCUHn/zQCbokvH1WSQMbiECJILmDMc2Bi7T5lw2letab/qsciw -63jIWvaagEGoH+YSo/kgUNlgNQVzvgOluXo4jbNQWaQje0CilT5MU/9BkbpbVFpA -IxKQhZ6PTA53f3lgTxCrCNXWigr51+M+GFHXtNxi4gQL7vdtFvZBy+ukl5DfkNfN -3CmL7ffxKI8OQp2kPG2lTGV2NWyQA0eHpUQ0n41os116tj9k6evhWYRsfjFKoNd3 -Nvk2p+niV1GkQDKkHHShTJg0IdUQIXGmhtqMsMQOlnE9ycpOppo= -=qxhm ------END PGP SIGNATURE----- diff --git a/SUSE-FEDORA-multilib.patch b/SUSE-FEDORA-multilib.patch index 9b7fb62..8c00f5d 100644 --- a/SUSE-FEDORA-multilib.patch +++ b/SUSE-FEDORA-multilib.patch @@ -125,7 +125,7 @@ addsitedir(sitedir, known_paths) --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py -@@ -20,10 +20,10 @@ __all__ = [ +@@ -25,10 +25,10 @@ _ALWAYS_STR = { _INSTALL_SCHEMES = { 'posix_prefix': { @@ -139,7 +139,7 @@ 'include': '{installed_base}/include/python{py_version_short}{abiflags}', 'platinclude': -@@ -62,10 +62,10 @@ _INSTALL_SCHEMES = { +@@ -67,10 +67,10 @@ _INSTALL_SCHEMES = { 'data': '{userbase}', }, 'posix_user': { @@ -198,7 +198,7 @@ os.makedirs(lib_dynload) --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py -@@ -267,8 +267,11 @@ class HelperFunctionsTests(unittest.Test +@@ -268,8 +268,11 @@ class HelperFunctionsTests(unittest.Test dirs = site.getsitepackages() if os.sep == '/': # OS X, Linux, FreeBSD, etc @@ -263,7 +263,7 @@ ABIFLAGS= @ABIFLAGS@ # Detailed destination directories -@@ -754,6 +757,7 @@ Modules/getpath.o: $(srcdir)/Modules/get +@@ -766,6 +769,7 @@ Modules/getpath.o: $(srcdir)/Modules/get -DEXEC_PREFIX='"$(exec_prefix)"' \ -DVERSION='"$(VERSION)"' \ -DVPATH='"$(VPATH)"' \ @@ -321,7 +321,7 @@ if (_PyStatus_EXCEPTION(status)) { return status; } -@@ -1067,7 +1067,7 @@ calculate_zip_path(PyCalculatePath *calc +@@ -1063,7 +1063,7 @@ calculate_zip_path(PyCalculatePath *calc return PATHLEN_ERR(); } } @@ -330,7 +330,7 @@ if (_PyStatus_EXCEPTION(status)) { return status; } -@@ -1197,7 +1197,7 @@ calculate_init(PyCalculatePath *calculat +@@ -1193,7 +1193,7 @@ calculate_init(PyCalculatePath *calculat if (!calculate->exec_prefix) { return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); } @@ -341,7 +341,7 @@ } --- a/configure +++ b/configure -@@ -15222,9 +15222,9 @@ fi +@@ -15262,9 +15262,9 @@ fi if test x$PLATFORM_TRIPLET = x; then @@ -355,7 +355,7 @@ --- a/configure.ac +++ b/configure.ac -@@ -4695,12 +4695,26 @@ else +@@ -4717,12 +4717,26 @@ else LIBPYTHON='' fi @@ -386,7 +386,7 @@ --- a/setup.py +++ b/setup.py -@@ -649,7 +649,7 @@ class PyBuildExt(build_ext): +@@ -634,7 +634,7 @@ class PyBuildExt(build_ext): # directories (i.e. '.' and 'Include') must be first. See issue # 10520. if not CROSS_COMPILING: @@ -395,7 +395,7 @@ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') # only change this for cross builds for 3.3, issues on Mageia if CROSS_COMPILING: -@@ -953,11 +953,11 @@ class PyBuildExt(build_ext): +@@ -938,11 +938,11 @@ class PyBuildExt(build_ext): elif curses_library: readline_libs.append(curses_library) elif self.compiler.find_library_file(self.lib_dirs + diff --git a/bpo-31046_ensurepip_honours_prefix.patch b/bpo-31046_ensurepip_honours_prefix.patch index f975b73..95f4cc1 100644 --- a/bpo-31046_ensurepip_honours_prefix.patch +++ b/bpo-31046_ensurepip_honours_prefix.patch @@ -5,11 +5,11 @@ Subject: [PATCH] bpo-31046: ensurepip does not honour the value of $(prefix) Co-Authored-By: Xavier de Gaye --- - Doc/library/ensurepip.rst | 9 +++++++-- - Lib/ensurepip/__init__.py | 18 +++++++++++++----- - Lib/test/test_ensurepip.py | 11 +++++++++++ - Makefile.pre.in | 4 ++-- - .../2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst | 1 + + Doc/library/ensurepip.rst | 9 +++-- + Lib/ensurepip/__init__.py | 18 +++++++--- + Lib/test/test_ensurepip.py | 11 ++++++ + Makefile.pre.in | 4 +- + Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst | 1 5 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst @@ -55,7 +55,7 @@ Co-Authored-By: Xavier de Gaye .. note:: --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py -@@ -53,27 +53,27 @@ def _disable_pip_configuration_settings( +@@ -52,27 +52,27 @@ def _disable_pip_configuration_settings( os.environ['PIP_CONFIG_FILE'] = os.devnull @@ -88,7 +88,7 @@ Co-Authored-By: Xavier de Gaye Note that calling this function will alter both sys.path and os.environ. """ -@@ -116,6 +116,8 @@ def _bootstrap(*, root=None, upgrade=Fal +@@ -115,6 +115,8 @@ def _bootstrap(*, root=None, upgrade=Fal args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir] if root: args += ["--root", root] @@ -97,7 +97,7 @@ Co-Authored-By: Xavier de Gaye if upgrade: args += ["--upgrade"] if user: -@@ -188,6 +190,11 @@ def _main(argv=None): +@@ -187,6 +189,11 @@ def _main(argv=None): help="Install everything relative to this alternate root directory.", ) parser.add_argument( @@ -109,7 +109,7 @@ Co-Authored-By: Xavier de Gaye "--altinstall", action="store_true", default=False, -@@ -206,6 +213,7 @@ def _main(argv=None): +@@ -205,6 +212,7 @@ def _main(argv=None): return _bootstrap( root=args.root, @@ -139,7 +139,7 @@ Co-Authored-By: Xavier de Gaye --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1188,7 +1188,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni +@@ -1200,7 +1200,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni install|*) ensurepip="" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ @@ -148,7 +148,7 @@ Co-Authored-By: Xavier de Gaye fi altinstall: commoninstall -@@ -1198,7 +1198,7 @@ altinstall: commoninstall +@@ -1210,7 +1210,7 @@ altinstall: commoninstall install|*) ensurepip="--altinstall" ;; \ esac; \ $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \ diff --git a/python-3.3.0b1-fix_date_time_compiler.patch b/python-3.3.0b1-fix_date_time_compiler.patch index 4a7f4a8..1800adc 100644 --- a/python-3.3.0b1-fix_date_time_compiler.patch +++ b/python-3.3.0b1-fix_date_time_compiler.patch @@ -1,6 +1,10 @@ +--- + Makefile.pre.in | 7 +++++++ + 1 file changed, 7 insertions(+) + --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -746,11 +746,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ +@@ -758,11 +758,18 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ $(DTRACE_OBJS) \ $(srcdir)/Modules/getbuildinfo.c $(CC) -c $(PY_CORE_CFLAGS) \ diff --git a/python38.changes b/python38.changes index f9ffdf3..a35b1bd 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,129 @@ +------------------------------------------------------------------- +Wed May 5 15:29:30 UTC 2021 - Matej Cepl + +- Update to 3.8.10: + - Security + - bpo-43434: Creating a sqlite3.Connection object now also + produces a sqlite3.connect auditing event. Previously this + event was only produced by sqlite3.connect() calls. Patch + by Erlend E. Aasland. + - bpo-43472: Ensures interpreter-level audit hooks receive + the cpython.PyInterpreterState_New event when called + through the _xxsubinterpreters module. + - bpo-43075: Fix Regular Expression Denial of Service (ReDoS) + vulnerability in urllib.request.AbstractBasicAuthHandler. + The ReDoS-vulnerable regex has quadratic worst-case + complexity and it allows cause a denial of service when + identifying crafted invalid RFCs. This ReDoS issue is on + the client side and needs remote attackers to control the + HTTP server. + - Core and Builtins + - bpo-43105: Importlib now resolves relative paths when + creating module spec objects from file locations. + - bpo-42924: Fix bytearray repetition incorrectly copying + data from the start of the buffer, even if the data is + offset within the buffer (e.g. after reassigning a slice at + the start of the bytearray to a shorter byte string). + - Library + - bpo-43993: Update bundled pip to 21.1.1. + - bpo-43937: Fixed the turtle module working with non-default + root window. + - bpo-43930: Update bundled pip to 21.1 and setuptools to + 56.0.0 + - bpo-43920: OpenSSL 3.0.0: load_verify_locations() now + returns a consistent error message when cadata contains no + valid certificate. + - bpo-43607: urllib can now convert Windows paths with \\?\ + prefixes into URL paths. + - bpo-43284: platform.win32_ver derives the windows version + from sys.getwindowsversion().platform_version which in turn + derives the version from kernel32.dll (which can be of + a different version than Windows itself). Therefore change + the platform.win32_ver to determine the version using the + platform module’s _syscmd_ver private function to return an + accurate version. + - bpo-42248: [Enum] ensure exceptions raised in _missing__ + are released + - bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 + to suppress deprecation warnings. Python requires OpenSSL + 1.1.1 APIs. + - bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants + (OpenSSL 3.0.0) + - bpo-43789: OpenSSL 3.0.0: Don’t call the password callback + function a second time when first call has signaled an + error condition. + - bpo-43788: The header files for ssl error codes are now + OpenSSL version-specific. Exceptions will now show correct + reason and library codes. The make_ssl_data.py script has + been rewritten to use OpenSSL’s text file with error codes. + - bpo-43655: tkinter dialog windows are now recognized as + dialogs by window managers on macOS and X Window. + - bpo-43534: turtle.textinput() and turtle.numinput() create + now a transient window working on behalf of the canvas + window. + - bpo-43522: Fix problem with hostname_checks_common_name. + OpenSSL does not copy hostflags from struct SSL_CTX to + struct SSL. + - bpo-42967: Allow bytes separator argument in + urllib.parse.parse_qs and urllib.parse.parse_qsl when + parsing str query strings. Previously, this raised + a TypeError. + - bpo-43176: Fixed processing of a dataclass that inherits + from a frozen dataclass with no fields. It is now correctly + detected as an error. + - bpo-34463: Fixed discrepancy between traceback and the + interpreter in formatting of SyntaxError with lineno not + set (traceback was changed to match interpreter). + - bpo-41735: Fix thread locks in zlib module may go wrong in + rare case. Patch by Ma Lin. + - bpo-26053: Fixed bug where the pdb interactive run command + echoed the args from the shell command line, even if those + have been overridden at the pdb prompt. + - bpo-36470: Fix dataclasses with InitVars and replace(). + Patch by Claudiu Popa. + - bpo-28577: The hosts method on 32-bit prefix length + IPv4Networks and 128-bit prefix IPv6Networks now returns + a list containing the single Address instead of an empty + list. + - bpo-32745: Fix a regression in the handling of ctypes’ + ctypes.c_wchar_p type: embedded null characters would cause + a ValueError to be raised. Patch by Zackery Spytz. + - Documentation + - bpo-43959: The documentation on the PyContextVar C-API was + clarified. + - bpo-43938: Update dataclasses documentation to express that + FrozenInstanceError is derived from AttributeError. + - bpo-43739: Fixing the example code in + Doc/extending/extending.rst to declare and initialize the + pmodule variable to be of the right type. + - Tests + - bpo-43842: Fix a race condition in the SMTP test of + test_logging. Don’t close a file descriptor (socket) from + a different thread while asyncore.loop() is polling the + file descriptor. Patch by Victor Stinner. + - bpo-43811: Tests multiple OpenSSL versions on GitHub + Actions. Use ccache to speed up testing. + - bpo-43791: OpenSSL 3.0.0: Disable testing of legacy + protocols TLS 1.0 and 1.1. Tests are failing with + TLSV1_ALERT_INTERNAL_ERROR. + - IDLE + - bpo-43655: IDLE dialog windows are now recognized as + dialogs by window managers on macOS and X Window. + - C API + - bpo-43962: _PyInterpreterState_IDIncref() now calls + _PyInterpreterState_IDInitref() and always increments + id_refcount. Previously, calling + _xxsubinterpreters.get_current() could create an + id_refcount inconsistency when + a _xxsubinterpreters.InterpreterID object was deallocated. + Patch by Victor Stinner. +- Reapplied patches: + - CVE-2019-5010-null-defer-x509-cert-DOS.patch + - F00102-lib64.patch + - SUSE-FEDORA-multilib.patch + - bpo-31046_ensurepip_honours_prefix.patch + - python-3.3.0b1-fix_date_time_compiler.patch + ------------------------------------------------------------------- Sun May 2 09:20:06 UTC 2021 - Ben Greiner diff --git a/python38.spec b/python38.spec index 5e07043..d23968e 100644 --- a/python38.spec +++ b/python38.spec @@ -87,7 +87,7 @@ %bcond_without profileopt %endif Name: %{python_pkg_name}%{psuffix} -Version: 3.8.9 +Version: 3.8.10 Release: 0 Summary: Python 3 Interpreter License: Python-2.0