From 8f9c4e7712a9ed17df43197a64e69c34fe168613ccb57c04cf21bff832feed44 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 26 Mar 2022 22:17:57 +0000 Subject: [PATCH] =?UTF-8?q?-=20Update=20to=203.8.13:=20Core=20and=20Builti?= =?UTF-8?q?ns=20=20=20=20=20bpo-46794:=20Bump=20up=20the=20libexpat=20vers?= =?UTF-8?q?ion=20into=202.4.6=20=20=20=20=20bpo-46985:=20Upgrade=20pip=20w?= =?UTF-8?q?heel=20bundled=20with=20ensurepip=20(pip=2022.0.4)=20=20=20=20?= =?UTF-8?q?=20bpo-46932:=20Update=20bundled=20libexpat=20to=202.4.7=20=20?= =?UTF-8?q?=20=20=20bpo-46811:=20Make=20test=20suite=20support=20Expat=20>?= =?UTF-8?q?=3D2.4.5=20=20=20=20=20bpo-46784:=20Fix=20libexpat=20symbols=20?= =?UTF-8?q?collisions=20with=20user=20=20=20=20=20=20=20dynamically=20load?= =?UTF-8?q?ed=20or=20statically=20linked=20libexpat=20in=20embedded=20=20?= =?UTF-8?q?=20=20=20=20=20Python.=20=20=20=20=20bpo-46400:=20expat:=20Upda?= =?UTF-8?q?te=20libexpat=20from=202.4.1=20to=202.4.4=20=20=20=20=20bpo-464?= =?UTF-8?q?74:=20In=20importlib.metadata.EntryPoint.pattern,=20avoid=20=20?= =?UTF-8?q?=20=20=20=20=20potential=20REDoS=20by=20limiting=20ambiguity=20?= =?UTF-8?q?in=20consecutive=20=20=20=20=20=20=20whitespace.=20=20=20=20=20?= =?UTF-8?q?bpo-44849:=20Fix=20the=20os.set=5Finheritable()=20function=20on?= =?UTF-8?q?=20FreeBSD=20=20=20=20=20=20=2014=20for=20file=20descriptor=20o?= =?UTF-8?q?pened=20with=20the=20O=5FPATH=20flag:=20ignore=20=20=20=20=20?= =?UTF-8?q?=20=20the=20EBADF=20error=20on=20ioctl(),=20fallback=20on=20the?= =?UTF-8?q?=20fcntl()=20=20=20=20=20=20=20implementation.=20=20=20=20=20bp?= =?UTF-8?q?o-41028:=20Language=20and=20version=20switchers,=20previously?= =?UTF-8?q?=20=20=20=20=20=20=20maintained=20in=20every=20cpython=20branch?= =?UTF-8?q?es,=20are=20now=20handled=20by=20=20=20=20=20=20=20docsbuild-sc?= =?UTF-8?q?ript.=20=20=20=20=20bpo-45195:=20Fix=20test=5Freadline.test=5Fn?= =?UTF-8?q?onascii():=20sometimes,=20the=20=20=20=20=20=20=20newline=20cha?= =?UTF-8?q?racter=20is=20not=20written=20at=20the=20end,=20so=20don?= =?UTF-8?q?=E2=80=99t=20=20=20=20=20=20=20expect=20it=20in=20the=20output.?= =?UTF-8?q?=20=20=20=20=20bpo-44949:=20Fix=20auto=20history=20tests=20of?= =?UTF-8?q?=20test=5Freadline:=20=20=20=20=20=20=20sometimes,=20the=20newl?= =?UTF-8?q?ine=20character=20is=20not=20written=20at=20the=20end,=20=20=20?= =?UTF-8?q?=20=20=20=20so=20don=E2=80=99t=20expect=20it=20in=20the=20outpu?= =?UTF-8?q?t.=20=20=20=20=20bpo-45405:=20Prevent=20internal=20configure=20?= =?UTF-8?q?error=20when=20running=20=20=20=20=20=20=20configure=20with=20r?= =?UTF-8?q?ecent=20versions=20of=20clang.=20-=20Remove=20upstreamed=20patc?= =?UTF-8?q?hes:=20=20=20-=20support-expat-245.patch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python38?expand=0&rev=85 --- F00102-lib64.patch | 4 +- Python-3.8.12.tar.xz | 3 - Python-3.8.12.tar.xz.asc | 16 ---- Python-3.8.13.tar.xz | 3 + Python-3.8.13.tar.xz.asc | 16 ++++ SUSE-FEDORA-multilib.patch | 4 +- bpo-31046_ensurepip_honours_prefix.patch | 8 +- decimal-3.8.patch | 2 +- python38.changes | 34 ++++++++ python38.spec | 5 +- support-expat-245.patch | 101 ----------------------- 11 files changed, 63 insertions(+), 133 deletions(-) delete mode 100644 Python-3.8.12.tar.xz delete mode 100644 Python-3.8.12.tar.xz.asc create mode 100644 Python-3.8.13.tar.xz create mode 100644 Python-3.8.13.tar.xz.asc delete mode 100644 support-expat-245.patch diff --git a/F00102-lib64.patch b/F00102-lib64.patch index 539c8f7..7475bb1 100644 --- a/F00102-lib64.patch +++ b/F00102-lib64.patch @@ -183,7 +183,7 @@ Co-authored-by: Iryna Shcherbina } --- a/configure +++ b/configure -@@ -15262,9 +15262,9 @@ fi +@@ -15264,9 +15264,9 @@ fi if test x$PLATFORM_TRIPLET = x; then @@ -197,7 +197,7 @@ Co-authored-by: Iryna Shcherbina --- a/configure.ac +++ b/configure.ac -@@ -4720,9 +4720,9 @@ fi +@@ -4722,9 +4722,9 @@ fi dnl define LIBPL after ABIFLAGS and LDVERSION is defined. AC_SUBST(PY_ENABLE_SHARED) if test x$PLATFORM_TRIPLET = x; then diff --git a/Python-3.8.12.tar.xz b/Python-3.8.12.tar.xz deleted file mode 100644 index 5151ab2..0000000 --- a/Python-3.8.12.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea -size 18443568 diff --git a/Python-3.8.12.tar.xz.asc b/Python-3.8.12.tar.xz.asc deleted file mode 100644 index ed5925e..0000000 --- a/Python-3.8.12.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmEtCqkACgkQsmmV4xAl -BWiX4A/+LBc42iF/V8rob0MGnUkLNe0zmfMwk4m0ji7ukH9o+2/Qttt1cWE8Mnhl -VanXlxfctk5v4MIWo+/p3iQqjoDBCQZTuHIJZ06ZXmKvgWABrPImT2NGaWz2jQip -s28VQTax2fQrJk8fiGA59ty5qMyvLefwYMPgvFPpkk+ToBgIDGFSuKYbPQ9X+CE1 -Hwbk1Z0HfEHIMoDJ10uM5I00wX38Dbt6QaSO6v/PSowajOnBE43pjqEINBGHT7/C -il/JecPQj1bamTrZWQy6DA2+WjmNMVlXZv8Nwix9Jw5vPt/BVLLuN6whP4UKvKmc -ib/EI53sDB4WstROMngslfyR4XBg/DtCIOGZfmfnTJKvQTQlOSt1P5w7jh0NKXM4 -syDClByOXkKSf/Buu8vW1hWFgdoXW55s47tusS6ExCuBdQyo9abyq7DjkAyYu88U -bqHQoFIH+ARyr/aWVErWPlfBfVUR2Ch4V1fkszPA7rcdyWVw82R66K7cwN235zcq -oqD23aNMJ26nd5d1Xw2xoybB652S2Q+PmuT0KQn+GHbLLIquTdMYFb80f1rQDRS8 -5bMGjYhlgXB9f2Wcg62m1J1OdKKasQUE8zMVHlArW8TRV7P4xRFzmYgP63Kl9oMP -Ux64wl5hs+LLFWTjH1f8608z70ijsgfaMdVpHzfD8Q0q5mPbE2Y= -=aijj ------END PGP SIGNATURE----- diff --git a/Python-3.8.13.tar.xz b/Python-3.8.13.tar.xz new file mode 100644 index 0000000..a2bfdf0 --- /dev/null +++ b/Python-3.8.13.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f309077012040aa39fe8f0c61db8c0fa1c45136763299d375c9e5756f09cf57 +size 19023016 diff --git a/Python-3.8.13.tar.xz.asc b/Python-3.8.13.tar.xz.asc new file mode 100644 index 0000000..60644c0 --- /dev/null +++ b/Python-3.8.13.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmIx4HAACgkQsmmV4xAl +BWipJQ/9EbtuovqB+22Ol5OWhgC8pUOZaYFSXWFIFCq0I6/SvomdHdU3+Kb95uAL +1YWdC06Su+mz7+d4f0BfGimvSD7AUjvjJXo6HBuhsHxUwYyfB9lqQsgJhn/ZuHc8 +ZXZhee72oSc3u59jChNlPA7OJSToMN38ynHLefwnDl60HX/Vdv/l5Hq3qpA1kZdI +j+J4p+vLo2ez/SZu8G/bl0Gii06et8w96Nv2ffOXyyC+DZsSO3ryxqnFMWQXJnop +GLr1eJqFja80fQ4YGpO7KbEgG+vhRoS4xVTJsl3ooeobBHs45kDOk4ud5DIrs0HH +W1M6vydtweyy/MJbCrZsSQBtW/n3FZk7YhsDE1JQYBEk4IP8iYi5KS4+1Iz6Hv/5 +WBGe6hcMWMSV+Hmb2CC5/CqZof+uZqIffe4xNHqmilQ4m/tIhiklbxrAGbo6D9ER +CseBEAqultlCRp31dIKoJqpfN6hDJW8NGkek8loA1CSEK0egfYVvaInoXaj5rpC7 +456hxAl/cgurybZifoqRZMLaOtJf4pMApdbJqxferCDEYVuKVXwgutVTZc8WfAnk +gCj/3lOrKi3ZVnry6A8uOnCNmgcW8AIC0qEVES+776fWF6K8GrAbXr6/FDTp53ZJ +Hc0h1bkyE2EcA2wVBKdgDlaQp/+8H8ZfNFuBgMzeLgUx8S6DGCc= +=txx+ +-----END PGP SIGNATURE----- diff --git a/SUSE-FEDORA-multilib.patch b/SUSE-FEDORA-multilib.patch index 8c00f5d..20ef979 100644 --- a/SUSE-FEDORA-multilib.patch +++ b/SUSE-FEDORA-multilib.patch @@ -341,7 +341,7 @@ } --- a/configure +++ b/configure -@@ -15262,9 +15262,9 @@ fi +@@ -15264,9 +15264,9 @@ fi if test x$PLATFORM_TRIPLET = x; then @@ -355,7 +355,7 @@ --- a/configure.ac +++ b/configure.ac -@@ -4717,12 +4717,26 @@ else +@@ -4719,12 +4719,26 @@ else LIBPYTHON='' fi diff --git a/bpo-31046_ensurepip_honours_prefix.patch b/bpo-31046_ensurepip_honours_prefix.patch index 95f4cc1..95c473a 100644 --- a/bpo-31046_ensurepip_honours_prefix.patch +++ b/bpo-31046_ensurepip_honours_prefix.patch @@ -55,7 +55,7 @@ Co-Authored-By: Xavier de Gaye .. note:: --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py -@@ -52,27 +52,27 @@ def _disable_pip_configuration_settings( +@@ -50,27 +50,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. """ -@@ -115,6 +115,8 @@ def _bootstrap(*, root=None, upgrade=Fal +@@ -113,6 +113,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: -@@ -187,6 +189,11 @@ def _main(argv=None): +@@ -185,6 +187,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, -@@ -205,6 +212,7 @@ def _main(argv=None): +@@ -203,6 +210,7 @@ def _main(argv=None): return _bootstrap( root=args.root, diff --git a/decimal-3.8.patch b/decimal-3.8.patch index 70051d4..3cf0b30 100644 --- a/decimal-3.8.patch +++ b/decimal-3.8.patch @@ -25,7 +25,7 @@ if (sep == NULL) { --- a/setup.py +++ b/setup.py -@@ -2053,7 +2053,7 @@ class PyBuildExt(build_ext): +@@ -2055,7 +2055,7 @@ class PyBuildExt(build_ext): undef_macros = [] if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): include_dirs = [] diff --git a/python38.changes b/python38.changes index 05ca6bb..45d0af2 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Sat Mar 26 21:59:44 UTC 2022 - Matej Cepl + +- Update to 3.8.13: +Core and Builtins + bpo-46794: Bump up the libexpat version into 2.4.6 + bpo-46985: Upgrade pip wheel bundled with ensurepip (pip 22.0.4) + bpo-46932: Update bundled libexpat to 2.4.7 + bpo-46811: Make test suite support Expat >=2.4.5 + bpo-46784: Fix libexpat symbols collisions with user + dynamically loaded or statically linked libexpat in embedded + Python. + bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4 + bpo-46474: In importlib.metadata.EntryPoint.pattern, avoid + potential REDoS by limiting ambiguity in consecutive + whitespace. + bpo-44849: Fix the os.set_inheritable() function on FreeBSD + 14 for file descriptor opened with the O_PATH flag: ignore + the EBADF error on ioctl(), fallback on the fcntl() + implementation. + bpo-41028: Language and version switchers, previously + maintained in every cpython branches, are now handled by + docsbuild-script. + bpo-45195: Fix test_readline.test_nonascii(): sometimes, the + newline character is not written at the end, so don’t + expect it in the output. + bpo-44949: Fix auto history tests of test_readline: + sometimes, the newline character is not written at the end, + so don’t expect it in the output. + bpo-45405: Prevent internal configure error when running + configure with recent versions of clang. +- Remove upstreamed patches: + - support-expat-245.patch + ------------------------------------------------------------------- Tue Feb 22 05:53:06 UTC 2022 - Steve Kowalik diff --git a/python38.spec b/python38.spec index d24aa17..246729b 100644 --- a/python38.spec +++ b/python38.spec @@ -88,7 +88,7 @@ %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %bcond_without profileopt Name: %{python_pkg_name}%{psuffix} -Version: 3.8.12 +Version: 3.8.13 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -160,8 +160,6 @@ Patch32: sphinx-update-removed-function.patch # Use of 'complex' as a C variable name confuses Sphinx; change it to 'num' # The same goes for 'default', which I had to change to 'def_size' Patch33: bpo44426-complex-keyword-sphinx.patch -# PATCH-FIX-UPSTREAM bpo-46811 gh#python/cpython#d4f5bb912e67299b59b814b89a5afd9a8821a14e -Patch34: support-expat-245.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes @@ -424,7 +422,6 @@ other applications. %patch29 -p1 %patch32 -p1 %patch33 -p1 -%patch34 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac diff --git a/support-expat-245.patch b/support-expat-245.patch deleted file mode 100644 index 3e7445f..0000000 --- a/support-expat-245.patch +++ /dev/null @@ -1,101 +0,0 @@ -From d4f5bb912e67299b59b814b89a5afd9a8821a14e Mon Sep 17 00:00:00 2001 -From: "Miss Islington (bot)" - <31488909+miss-islington@users.noreply.github.com> -Date: Mon, 21 Feb 2022 11:03:08 -0800 -Subject: [PATCH] bpo-46811: Make test suite support Expat >=2.4.5 (GH-31453) - (GH-31471) - -Curly brackets were never allowed in namespace URIs -according to RFC 3986, and so-called namespace-validating -XML parsers have the right to reject them a invalid URIs. - -libexpat >=2.4.5 has become strcter in that regard due to -related security issues; with ET.XML instantiating a -namespace-aware parser under the hood, this test has no -future in CPython. - -References: -- https://datatracker.ietf.org/doc/html/rfc3968 -- https://www.w3.org/TR/xml-names/ - -Also, test_minidom.py: Support Expat >=2.4.5 -(cherry picked from commit 2cae93832f46b245847bdc252456ddf7742ef45e) - -Co-authored-by: Sebastian Pipping ---- - Lib/test/test_minidom.py | 17 +++++++++++++++-- - Lib/test/test_xml_etree.py | 6 ------ - .../2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst | 1 + - 3 files changed, 16 insertions(+), 8 deletions(-) - create mode 100644 Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst - -diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py -index 041a41511314a..0b76f6e87bc50 100644 ---- a/Lib/test/test_minidom.py -+++ b/Lib/test/test_minidom.py -@@ -5,10 +5,12 @@ - from test import support - import unittest - -+import pyexpat - import xml.dom.minidom - - from xml.dom.minidom import parse, Node, Document, parseString - from xml.dom.minidom import getDOMImplementation -+from xml.parsers.expat import ExpatError - - - tstfile = support.findfile("test.xml", subdir="xmltestdata") -@@ -1146,7 +1148,13 @@ def testEncodings(self): - - # Verify that character decoding errors raise exceptions instead - # of crashing -- self.assertRaises(UnicodeDecodeError, parseString, -+ if pyexpat.version_info >= (2, 4, 5): -+ self.assertRaises(ExpatError, parseString, -+ b'') -+ self.assertRaises(ExpatError, parseString, -+ b'Comment \xe7a va ? Tr\xe8s bien ?') -+ else: -+ self.assertRaises(UnicodeDecodeError, parseString, - b'Comment \xe7a va ? Tr\xe8s bien ?') - - doc.unlink() -@@ -1592,7 +1600,12 @@ def testEmptyXMLNSValue(self): - self.confirm(doc2.namespaceURI == xml.dom.EMPTY_NAMESPACE) - - def testExceptionOnSpacesInXMLNSValue(self): -- with self.assertRaisesRegex(ValueError, 'Unsupported syntax'): -+ if pyexpat.version_info >= (2, 4, 5): -+ context = self.assertRaisesRegex(ExpatError, 'syntax error') -+ else: -+ context = self.assertRaisesRegex(ValueError, 'Unsupported syntax') -+ -+ with context: - parseString('') - - def testDocRemoveChild(self): -diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py -index 75c9c25a8b639..5ba0de82cdf9a 100644 ---- a/Lib/test/test_xml_etree.py -+++ b/Lib/test/test_xml_etree.py -@@ -1683,12 +1683,6 @@ def test_issue6233(self): - b"\n" - b'tãg') - -- def test_issue3151(self): -- e = ET.XML('') -- self.assertEqual(e.tag, '{${stuff}}localname') -- t = ET.ElementTree(e) -- self.assertEqual(ET.tostring(e), b'') -- - def test_issue6565(self): - elem = ET.XML("") - self.assertEqual(summarize_list(elem), ['tag']) -diff --git a/Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst b/Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst -new file mode 100644 -index 0000000000000..6969bd1898f65 ---- /dev/null -+++ b/Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst -@@ -0,0 +1 @@ -+Make test suite support Expat >=2.4.5