diff --git a/Python-3.9.12.tar.xz b/Python-3.9.12.tar.xz deleted file mode 100644 index b9404f4..0000000 --- a/Python-3.9.12.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2cd94b20670e4159c6d9ab57f91dbf255b97d8c1a1451d1c35f4ec1968adf971 -size 19740524 diff --git a/Python-3.9.12.tar.xz.asc b/Python-3.9.12.tar.xz.asc deleted file mode 100644 index 32d901f..0000000 --- a/Python-3.9.12.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmI7k3sACgkQsmmV4xAl -BWjA7g/+KOCcopdD/n5DPko/icuTArjMX/uqiCWjInaJ3w4weN36PhU0BaU/DHuM -Yl1Xc28Kb5FtwlSoVfOhTuCJexvWl4fGtBYZHrArplDic38y7pbmsAlaazeYkMsw -VX+jhuyRM9k9B3tgO4pCRjhfTwBEJ33+Gd6dOvCfqlIHPik1OSgb1cSZIhicMgds -Mx88zmkwB/FCIBla098z6pKKna5affScHzVhx9cCASjs6QnUmmHjbsf3+KFe8FZQ -iA5AJ/sBTysf9Xq7vAz0GHcdrqdMngLHfI7BzRAbxkdpbfOTpTtDgUW+5OWBZdLE -RpmbHCfC5z+EnnC4VRMyf0mX7FpY1FVc7zcblBTEYugLQ2UI1lPWON1OhQR7RVqJ -1d/z1SbK5npyfkqoWYO7mezHGxzslgZMYIjLJ/AMQWNyi4X6fbejP6OFQl7Sr2vw -3yYKmAIYnJfe2nVT+JkhlGraglcZPe+86Z/lbqQQY0mrCbp2K4jeoZuZVC5Y3uoF -I56gp3ltk3s0rM5+yWWArdgX3OVuPwbi2yLmzfjT9gf2ZNI3dcUr3b4yzMVnIxin -SLz6COy/0V6/IRb2wiUVOlxyaZi6nCjXB13m0SRtqIzpUe3IJYyQE8fmzPZX0Lzv -H0ANUeudQUQT2LinAZA5kOZ5/d6Th9AItNyE0w06Uyr9FncgNQQ= -=rytF ------END PGP SIGNATURE----- diff --git a/Python-3.9.13.tar.xz b/Python-3.9.13.tar.xz new file mode 100644 index 0000000..8ea0920 --- /dev/null +++ b/Python-3.9.13.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:125b0c598f1e15d2aa65406e83f792df7d171cdf38c16803b149994316a3080f +size 19754368 diff --git a/Python-3.9.13.tar.xz.asc b/Python-3.9.13.tar.xz.asc new file mode 100644 index 0000000..1e85b64 --- /dev/null +++ b/Python-3.9.13.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAmKDr+sACgkQsmmV4xAl +BWib8A/+I+Gm2Gjf1lTFasrDIQb68gus7q9MjgjWG7HRY64gGqDBq6VcNrhVg+3g +lGL0Xr6QHkFCIJVlobDAL4UgmNkO0+I2fNhUybKPGT6BOVa4IXHkuWlJX0OBRjY+ +uOw7nCEyLzEA/FbwZXb+0PKJm74s3opjUbu9/9uY7QIqWIiD77UfQ61SDsnRLaQW +oEULPWFNLbdpMhTn7M/WVUwcxbyrCzjeFJ8rDiEbux3C1AhagTW49NTxOVW722yS +3mzjuYeyfXBIfaaU9ZHW6Z7B1hbuNVF0AvOcI3nKFUjHYs5hhchM7QnZhdFG6mMN +7REmBhssGkzWBtsWVbyChHhgVIqv81qUv6tywYMWaZtKfmrgzx2UNg9rx609c5gs +1dzXWBrh2PFWLUf8U1noSOEz/Q6/fbgdHFj4AUsr+c3zr74FNABbH5VOHS6QP79X +ic0a9+zBirrSVnLlsHkEO+aXju9ITcU/DUxPIUZxgmOImL4Vx1lsjYaw00csMzA3 +YItkoMwp4Hi7+Tvr/jGaTpKpmW+r00LyQfTfQmst7STDVY9EjlC3Mk2hzqgtFx5Z +hzb4EtMQNSjwPCvSXVWFFZWsLRu70n81uWfnXRBX7tRAWZoxC44jiOGjEhTJwzs4 +sZAhimk17t3agM0Jf0fTFMPly0mVLQMjbE7OK8GIgv/q4O5R5lc= +=RYbS +-----END PGP SIGNATURE----- diff --git a/python39.changes b/python39.changes index 76b4c01..9ae1c83 100644 --- a/python39.changes +++ b/python39.changes @@ -1,3 +1,174 @@ +------------------------------------------------------------------- +Fri May 20 14:18:15 UTC 2022 - Matej Cepl + +- Update to 3.9.13: + - Core and Builtins + - gh-92311: Fixed a bug where setting frame.f_lineno to jump + over a list comprehension could misbehave or crash. + - gh-92112: Fix crash triggered by an evil custom mro() on + a metaclass. + - gh-92036: Fix a crash in subinterpreters related to the + garbage collector. When a subinterpreter is deleted, + untrack all objects tracked by its GC. To prevent a crash + in deallocator functions expecting objects to be tracked by + the GC, leak a strong reference to these objects on + purpose, so they are never deleted and their deallocator + functions are not called. Patch by Victor Stinner. + - gh-91421: Fix a potential integer overflow in + _Py_DecodeUTF8Ex. + - bpo-46775: Some Windows system error codes(>= 10000) are + now mapped into the correct errno and may now raise + a subclass of OSError. Patch by Dong-hee Na. + - bpo-46962: Classes and functions that unconditionally + declared their docstrings ignoring the + --without-doc-strings compilation flag no longer do so. + - The classes affected are pickle.PickleBuffer, + testcapi.RecursingInfinitelyError, and types.GenericAlias. + - The functions affected are 24 methods in ctypes. + - Patch by Oleg Iarygin. + - bpo-36819: Fix crashes in built-in encoders with error + handlers that return position less or equal than the + starting position of non-encodable characters. + - Library + - gh-91581: utcfromtimestamp() no longer attempts to resolve + fold in the pure Python implementation, since the fold is + never 1 in UTC. In addition to being slightly faster in the + common case, this also prevents some errors when the + timestamp is close to datetime.min. Patch by Paul Ganssle. + - gh-92530: Fix an issue that occurred after interrupting + threading.Condition.notify(). + - gh-92049: Forbid pickling constants re._constants.SUCCESS + etc. Previously, pickling did not fail, but the result + could not be unpickled. + - bpo-47029: Always close the read end of the pipe used by + multiprocessing.Queue after the last write of buffered data + to the write end of the pipe to avoid BrokenPipeError at + garbage collection and at multiprocessing.Queue.close() + calls. Patch by Géry Ogam. + - gh-91910: Add missing f prefix to f-strings in error + messages from the multiprocessing and asyncio modules. + - gh-91810: ElementTree method write() and function + tostring() now use the text file’s encoding (“UTF-8” if not + available) instead of locale encoding in XML declaration + when encoding="unicode" is specified. + - gh-91832: Add required attribute to argparse.Action repr + output. + - gh-91734: Fix OSS audio support on Solaris. + - gh-91700: Compilation of regular expression containing + a conditional expression (?(group)...) now raises an + appropriate re.error if the group number refers to not + defined group. Previously an internal RuntimeError was + raised. + - gh-91676: Fix unittest.IsolatedAsyncioTestCase to shutdown + the per test event loop executor before returning from its + run method so that a not yet stopped or garbage collected + executor state does not persist beyond the test. + - gh-90568: Parsing \N escapes of Unicode Named Character + Sequences in a regular expression raises now re.error + instead of TypeError. + - gh-91595: Fix the comparison of character and integer + inside Tools.gdb.libpython.write_repr(). Patch by Yu Liu. + - gh-90622: Worker processes for + concurrent.futures.ProcessPoolExecutor are no longer + spawned on demand (a feature added in 3.9) when the + multiprocessing context start method is "fork" as that can + lead to deadlocks in the child processes due to a fork + happening while threads are running. + - gh-91575: Update case-insensitive matching in the re module + to the latest Unicode version. + - gh-91581: Remove an unhandled error case in the + C implementation of calls to datetime.fromtimestamp with no + time zone (i.e. getting a local time from an epoch + timestamp). This should have no user-facing effect other + than giving a possibly more accurate error message when + called with timestamps that fall on 10000-01-01 in the + local time. Patch by Paul Ganssle. + - bpo-34480: Fix a bug where _markupbase raised an + UnboundLocalError when an invalid keyword was found in + marked section. Patch by Marek Suscak. + - bpo-27929: Fix asyncio.loop.sock_connect() to only resolve + names for socket.AF_INET or socket.AF_INET6 families. + Resolution may not make sense for other families, like + socket.AF_BLUETOOTH and socket.AF_UNIX. + - bpo-43323: Fix errors in the email module if the charset + itself contains undecodable/unencodable characters. + - bpo-46787: Fix concurrent.futures.ProcessPoolExecutor + exception memory leak + - bpo-46415: Fix ipaddress.ip_{address,interface,network} + raising TypeError instead of ValueError if given invalid + tuple as address parameter. + - bpo-44911: IsolatedAsyncioTestCase will no longer throw an + exception while cancelling leaked tasks. Patch by Bar + Harel. + - bpo-44493: Add missing terminated NUL in sockaddr_un’s + length + - This was potentially observable when using non-abstract + AF_UNIX datagram sockets to processes written in another + programming language. + - bpo-42627: Fix incorrect parsing of Windows registry proxy + settings + - bpo-36073: Raise ProgrammingError instead of segfaulting on + recursive usage of cursors in sqlite3 converters. Patch by + Sergey Fedoseev. + - Documentation + - gh-91888: Add a new gh role to the documentation to link to + GitHub issues. + - gh-91783: Document security issues concerning the use of + the function shutil.unpack_archive() + - gh-91547: Remove “Undocumented modules” page. + - bpo-44347: Clarify the meaning of dirs_exist_ok, a kwarg of + shutil.copytree(). + - bpo-38668: Update the introduction to documentation for + os.path to remove warnings that became irrelevant after the + implementations of PEP 383 and PEP 529. + - bpo-47138: Pin Jinja to a version compatible with Sphinx + version 2.4.4. + - bpo-46962: All docstrings in code snippets are now wrapped + into PyDoc_STR() to follow the guideline of PEP 7’s + Documentation Strings paragraph. Patch by Oleg Iarygin. + - bpo-26792: Improve the docstrings of runpy.run_module() and + runpy.run_path(). Original patch by Andrew Brezovsky. + - bpo-45790: Adjust inaccurate phrasing in Defining Extension + Types: Tutorial about the ob_base field and the macros used + to access its contents. + - bpo-42340: Document that in some circumstances + KeyboardInterrupt may cause the code to enter an + inconsistent state. Provided a sample workaround to avoid + it if needed. + - bpo-41233: Link the errnos referenced in + Doc/library/exceptions.rst to their respective section in + Doc/library/errno.rst, and vice versa. Previously this was + only done for EINTR and InterruptedError. Patch by Yan + “yyyyyyyan” Orestes. + - bpo-38056: Overhaul the Error Handlers documentation in + codecs. + - bpo-13553: Document tkinter.Tk args. + - Tests + - gh-91607: Fix test_concurrent_futures to test the correct + multiprocessing start method context in several cases where + the test logic mixed this up. + - bpo-47205: Skip test for sched_getaffinity() and + sched_setaffinity() error case on FreeBSD. + - bpo-29890: Add tests for ipaddress.IPv4Interface and + ipaddress.IPv6Interface construction with tuple arguments. + Original patch and tests by louisom. + - Build + - bpo-47103: Windows PGInstrument builds now copy a required + DLL into the output directory, making it easier to run the + profile stage of a PGO build. + - Windows + - bpo-47194: Update zlib to v1.2.12 to resolve + CVE-2018-25032. + - bpo-46785: Fix race condition between os.stat() and + unlinking a file on Windows, by using errors codes returned + by FindFirstFileW() when appropriate in win32_xstat_impl. + - bpo-40859: Update Windows build to use xz-5.2.5 + - Tools/Demos + - gh-91583: Fix regression in the code generated by Argument + Clinic for functions with the defining_class parameter. +- Add patch support-expat-245.patch: + * Support Expat >= 2.4.4 (jsc#SLE-21253) + ------------------------------------------------------------------- Sat Mar 26 22:22:24 UTC 2022 - Matej Cepl diff --git a/python39.spec b/python39.spec index 2475361..50a5254 100644 --- a/python39.spec +++ b/python39.spec @@ -53,7 +53,7 @@ # Will do the /usr/bin/python3 and all the core links %define primary_interpreter 0 # We don't process beta signs well -%define folderversion 3.9.12 +%define folderversion 3.9.13 %define tarname Python-%{tarversion} %define sitedir %{_libdir}/python%{python_version} # three possible ABI kinds: m - pymalloc, d - debug build; see PEP 3149 @@ -89,7 +89,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.9.12 +Version: 3.9.13 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -151,6 +151,9 @@ Patch33: no-skipif-doctests.patch # PATCH-FIX-SLE skip-test_pyobject_freed_is_freed.patch mcepl@suse.com # skip a test failing on SLE-15 Patch34: skip-test_pyobject_freed_is_freed.patch +# PATCH-FIX-UPSTREAM support-expat-245.patch jsc#SLE-21253 mcepl@suse.com +# Makes Python resilient to changes of API of libexpat +Patch35: support-expat-245.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes @@ -410,6 +413,7 @@ other applications. %if %{with mpdecimal} %patch05 -p1 %endif +%patch35 -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 new file mode 100644 index 0000000..f4761ee --- /dev/null +++ b/support-expat-245.patch @@ -0,0 +1,75 @@ +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 | 13 ++++------ + Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) + create mode 100644 Misc/NEWS.d/next/Library/2022-02-20-21-03-31.bpo-46811.8BxgdQ.rst + +--- a/Lib/test/test_minidom.py ++++ b/Lib/test/test_minidom.py +@@ -6,12 +6,11 @@ import io + from test import support + import unittest + +-import pyexpat ++import xml.parsers.expat + 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") +@@ -1149,10 +1148,10 @@ class MinidomTest(unittest.TestCase): + + # Verify that character decoding errors raise exceptions instead + # of crashing +- if pyexpat.version_info >= (2, 4, 5): +- self.assertRaises(ExpatError, parseString, ++ if xml.parsers.expat.version_info >= (2, 4, 4): ++ self.assertRaises(xml.parsers.expat.ExpatError, parseString, + b'') +- self.assertRaises(ExpatError, parseString, ++ self.assertRaises(xml.parsers.expat.ExpatError, parseString, + b'Comment \xe7a va ? Tr\xe8s bien ?') + else: + self.assertRaises(UnicodeDecodeError, parseString, +@@ -1617,8 +1616,8 @@ class MinidomTest(unittest.TestCase): + self.confirm(doc2.namespaceURI == xml.dom.EMPTY_NAMESPACE) + + def testExceptionOnSpacesInXMLNSValue(self): +- if pyexpat.version_info >= (2, 4, 5): +- context = self.assertRaisesRegex(ExpatError, 'syntax error') ++ if xml.parsers.expat.version_info >= (2, 4, 4): ++ context = self.assertRaisesRegex(xml.parsers.expat.ExpatError, 'syntax error') + else: + context = self.assertRaisesRegex(ValueError, 'Unsupported syntax') + +--- /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