From 36844da9e7101a99e4e3cb1fd54cab3156647c4594716fc203b4c8b66ae95762 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 26 Mar 2022 22:48:52 +0000 Subject: [PATCH 1/3] - bsc#1195831 Obsolete older "most modern" versions of python packages (python39 for python310 and so forth). For next versions it is necessary just to edit the macro. - Remove second superfluous BR rpm-build-python - Add fix_configure_rst.patch, which removes duplicate link targets and make documentation with old Sphinx in SLE - Skip test_capi (bsc#1195140 and bpo#37169) - Upgrade to 3.10.1 (jsc#SLE-18038): OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python310?expand=0&rev=32 --- fix_configure_rst.patch | 40 ++++++++++++++++++++++++++++++++++++++++ python310.changes | 17 ++++++++++++++++- python310.spec | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 fix_configure_rst.patch diff --git a/fix_configure_rst.patch b/fix_configure_rst.patch new file mode 100644 index 0000000..c377eb3 --- /dev/null +++ b/fix_configure_rst.patch @@ -0,0 +1,40 @@ +--- + Doc/using/configure.rst | 3 --- + Misc/NEWS | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +--- a/Doc/using/configure.rst ++++ b/Doc/using/configure.rst +@@ -42,7 +42,6 @@ General Options + + See :data:`sys.int_info.bits_per_digit `. + +-.. cmdoption:: --with-cxx-main + .. cmdoption:: --with-cxx-main=COMPILER + + Compile the Python ``main()`` function and link Python executable with C++ +@@ -457,13 +456,11 @@ macOS Options + + See ``Mac/README.rst``. + +-.. cmdoption:: --enable-universalsdk + .. cmdoption:: --enable-universalsdk=SDKDIR + + Create a universal binary build. *SDKDIR* specifies which macOS SDK should + be used to perform the build (default is no). + +-.. cmdoption:: --enable-framework + .. cmdoption:: --enable-framework=INSTALLDIR + + Create a Python.framework rather than a traditional Unix install. Optional +--- a/Misc/NEWS ++++ b/Misc/NEWS +@@ -1622,7 +1622,7 @@ C API + ----- + + - bpo-43795: The list in :ref:`stable-abi-list` now shows the public name +- :c:struct:`PyFrameObject` rather than ``_frame``. The non-existing entry ++ :c:type:`PyFrameObject` rather than ``_frame``. The non-existing entry + ``_node`` no longer appears in the list. + + - bpo-44378: :c:func:`Py_IS_TYPE` no longer uses :c:func:`Py_TYPE` to avoid diff --git a/python310.changes b/python310.changes index 4fb34ee..d187727 100644 --- a/python310.changes +++ b/python310.changes @@ -4,11 +4,26 @@ Tue Feb 22 05:53:06 UTC 2022 - Steve Kowalik - Add patch support-expat-245.patch: * Support Expat >= 2.4.5 +------------------------------------------------------------------- +Tue Feb 15 23:05:55 UTC 2022 - Matej Cepl + +- bsc#1195831 Obsolete older "most modern" versions of python + packages (python39 for python310 and so forth). For next + versions it is necessary just to edit the macro. + ------------------------------------------------------------------- Tue Jan 25 16:09:25 UTC 2022 - Matej Cepl - Remove second superfluous BR rpm-build-python +------------------------------------------------------------------- +Tue Jan 25 16:09:25 UTC 2022 - Matej Cepl + +- Remove second superfluous BR rpm-build-python +- Add fix_configure_rst.patch, which removes duplicate link + targets and make documentation with old Sphinx in SLE +- Skip test_capi (bsc#1195140 and bpo#37169) + ------------------------------------------------------------------- Wed Jan 19 22:01:51 UTC 2022 - Matej Cepl @@ -21,7 +36,7 @@ Wed Jan 19 22:01:51 UTC 2022 - Matej Cepl ------------------------------------------------------------------- Wed Dec 8 13:07:25 UTC 2021 - Matej Cepl -- Upgrade to 3.10.1: +- Upgrade to 3.10.1 (jsc#SLE-18038): - PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 – Allow writing union types as X | Y diff --git a/python310.spec b/python310.spec index ec35622..4ea1952 100644 --- a/python310.spec +++ b/python310.spec @@ -35,6 +35,17 @@ %bcond_with base %bcond_without general %endif + +%if 0%{?sle_version} && 0%{?suse_version} < 1550 +# Obsoleting previous "latest" Python versions +# Next versions will get more lines like for older versions +%define obsolete_python_versioned() \ +Obsoletes: python39%{?1:-%{1}} +%else +%define obsolete_python_versioned() %{nil} +%endif + +# Setting up variables %define _version %(c=%{version}; echo ${c/[a-z]*/}) %define tar_suffix %(c=%{_version}; echo ${c#%{_version}}) %define python_version %(echo %{_version}|cut -d. -f1-2) @@ -146,8 +157,11 @@ 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-SLE fix_configure_rst.patch bpo#43774 mcepl@suse.com +# remove duplicate link targets and make documentation with old Sphinx in SLE +Patch35: fix_configure_rst.patch # PATCH-FIX-UPSTREAM bpo-46811 gh#python/cpython#7da97f61816f3cadaa6788804b22a2434b40e8c5 -Patch35: support-expat-245.patch +Patch36: support-expat-245.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes @@ -197,6 +211,7 @@ Requires: %{python_pkg_name}-base = %{version} Recommends: %{python_pkg_name}-curses Recommends: %{python_pkg_name}-dbm Recommends: %{python_pkg_name}-pip +%obsolete_python_versioned %if %{primary_interpreter} Provides: python3 = %{python_version} %endif @@ -219,6 +234,7 @@ development environment (python3-idle). %package -n %{python_pkg_name}-tk Summary: TkInter, a Python Tk Interface Requires: %{python_pkg_name} = %{version} +%obsolete_python_versioned tk %if %{primary_interpreter} Provides: python3-tk = %{version} %endif @@ -229,6 +245,7 @@ Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. %package -n %{python_pkg_name}-curses Summary: Python Interface to the (N)Curses Library Requires: %{python_pkg_name} = %{version} +%obsolete_python_versioned curses %if %{primary_interpreter} Provides: python3-curses %endif @@ -240,6 +257,7 @@ Console User Interface. %package -n %{python_pkg_name}-dbm Summary: Python Interface to the GDBM Library Requires: %{python_pkg_name} = %{version} +%obsolete_python_versioned dbm %if %{primary_interpreter} Provides: python3-dbm %endif @@ -252,6 +270,7 @@ the GNU implementation GDBM. Summary: An Integrated Development Environment for Python Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk +%obsolete_python_versioned idle %if %{primary_interpreter} Provides: python3-idle = %{version} %endif @@ -265,6 +284,7 @@ a debugger. %package -n %{python_pkg_name}-doc Summary: Package Documentation for Python 3 Enhances: %{python_pkg_name} = %{python_version} +%obsolete_python_versioned doc %if %{primary_interpreter} Provides: python3-doc = %{version} %endif @@ -276,6 +296,7 @@ Python, and Macintosh Module Reference in HTML format. %package -n %{python_pkg_name}-doc-devhelp Summary: Additional Package Documentation for Python 3 in devhelp format +%obsolete_python_versioned doc-devhelp %if %{primary_interpreter} Provides: python3-doc-devhelp = %{version} %endif @@ -289,6 +310,7 @@ Python, and Macintosh Module Reference in format for devhelp. Summary: Python 3 Interpreter and Stdlib Core Requires: libpython%{so_version} = %{version} Recommends: %{python_pkg_name} = %{version} +%obsolete_python_versioned base #Recommends: python3-ensurepip # python 3.1 didn't have a separate python-base, so it is wrongly # not a conflict to have python3-3.1 and python3-base > 3.1 @@ -296,8 +318,10 @@ Obsoletes: python3 < 3.2 # no Provides, because python3 is obviously provided by package python3 # python 3.4 provides asyncio Provides: %{python_pkg_name}-asyncio = %{version} +%obsolete_python_versioned asyncio # python 3.6 provides typing Provides: %{python_pkg_name}-typing = %{version} +%obsolete_python_versioned typing # python3-xml was merged into python3, now moved into -base Provides: %{python_pkg_name}-xml = %{version} %if %{primary_interpreter} @@ -327,6 +351,7 @@ Summary: Python Utility and Demonstration Scripts Requires: %{python_pkg_name}-base = %{version} Provides: %{python_pkg_name}-2to3 = %{version} Provides: %{python_pkg_name}-demo = %{version} +%obsolete_python_versioned tools %if %{primary_interpreter} Provides: python3-2to3 = %{version} Provides: python3-demo = %{version} @@ -342,6 +367,7 @@ and a set of demonstration programs. %package -n %{python_pkg_name}-devel Summary: Include Files and Libraries Mandatory for Building Python Modules Requires: %{python_pkg_name}-base = %{version} +%obsolete_python_versioned devel %if %{primary_interpreter} Provides: python3-devel = %{version} %endif @@ -361,6 +387,7 @@ package up to version 2.2.2. Summary: Unit tests for Python and its standard library Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk = %{version} +%obsolete_python_versioned testsuite %if %{primary_interpreter} Provides: python3-testsuite = %{version} %endif @@ -400,6 +427,7 @@ other applications. %patch34 -p1 %endif %patch35 -p1 +%patch36 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac @@ -525,6 +553,9 @@ EXCLUDE="$EXCLUDE test_faulthandler test_multiprocessing_forkserver test_multipr # done have any such interface breaking the uuid module. EXCLUDE="$EXCLUDE test_uuid" +# bsc#1195140 and bpo#37169 - test_capi is failing on openSUSE, and not sure why +EXCLUDE="$EXCLUDE test_capi" + # Limit virtual memory to avoid spurious failures if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then ulimit -v 10000000 || : From afa0c529a5135e7de24bf34876d8c711cfa48139238aab86fc9ce998c60abae3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 26 Mar 2022 22:51:10 +0000 Subject: [PATCH 2/3] Sync with SLE-15-SP4 python310 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python310?expand=0&rev=33 --- support-expat-245.patch | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/support-expat-245.patch b/support-expat-245.patch index de7e1e4..85939a2 100644 --- a/support-expat-245.patch +++ b/support-expat-245.patch @@ -23,17 +23,15 @@ Also, test_minidom.py: Support Expat >=2.4.5 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 + + Lib/test/test_minidom.py | 17 ++++++++-- + Lib/test/test_xml_etree.py | 6 --- + Misc/NEWS.d/next/Library/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 1663b1f1143dd..97620258d82f6 100644 --- a/Lib/test/test_minidom.py +++ b/Lib/test/test_minidom.py -@@ -6,10 +6,12 @@ +@@ -6,10 +6,12 @@ import io from test import support import unittest @@ -46,7 +44,7 @@ index 1663b1f1143dd..97620258d82f6 100644 tstfile = support.findfile("test.xml", subdir="xmltestdata") -@@ -1147,7 +1149,13 @@ def testEncodings(self): +@@ -1147,7 +1149,13 @@ class MinidomTest(unittest.TestCase): # Verify that character decoding errors raise exceptions instead # of crashing @@ -61,7 +59,7 @@ index 1663b1f1143dd..97620258d82f6 100644 b'Comment \xe7a va ? Tr\xe8s bien ?') doc.unlink() -@@ -1609,7 +1617,12 @@ def testEmptyXMLNSValue(self): +@@ -1609,7 +1617,12 @@ class MinidomTest(unittest.TestCase): self.confirm(doc2.namespaceURI == xml.dom.EMPTY_NAMESPACE) def testExceptionOnSpacesInXMLNSValue(self): @@ -75,11 +73,9 @@ index 1663b1f1143dd..97620258d82f6 100644 parseString('') def testDocRemoveChild(self): -diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py -index a25f536134c7b..c5292b5e9ef68 100644 --- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py -@@ -2192,12 +2192,6 @@ def test_issue6233(self): +@@ -2183,12 +2183,6 @@ class BugsTest(unittest.TestCase): b"\n" b'tãg') @@ -92,9 +88,6 @@ index a25f536134c7b..c5292b5e9ef68 100644 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 @@ From 30dacf455e8606b975de5b406648a54d903a69f39e730210d92a51d202040f19 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Sat, 26 Mar 2022 22:57:32 +0000 Subject: [PATCH 3/3] =?UTF-8?q?-=20Update=20to=203.10.4:=20=20=20-=20bpo-4?= =?UTF-8?q?6968:=20Check=20for=20the=20existence=20of=20the=20=E2=80=9Csys?= =?UTF-8?q?/auxv.h=E2=80=9D=20header=20=20=20=20=20in=20faulthandler=20to?= =?UTF-8?q?=20avoid=20compilation=20problems=20in=20systems=20=20=20=20=20?= =?UTF-8?q?where=20this=20header=20doesn=E2=80=99t=20exist.=20Patch=20by?= =?UTF-8?q?=20Pablo=20Galindo=20=20=20-=20bpo-23691:=20Protect=20the=20re.?= =?UTF-8?q?finditer()=20iterator=20from=20=20=20=20=20re-entering.=20=20?= =?UTF-8?q?=20-=20bpo-42369:=20Fix=20thread=20safety=20of=20zipfile.=5FSha?= =?UTF-8?q?redFile.tell()=20to=20=20=20=20=20avoid=20a=20=E2=80=9Czipfile.?= =?UTF-8?q?BadZipFile:=20Bad=20CRC-32=20for=20file=E2=80=9D=20exception=20?= =?UTF-8?q?=20=20=20=20when=20reading=20a=20ZipFile=20from=20multiple=20th?= =?UTF-8?q?reads.=20=20=20-=20bpo-38256:=20Fix=20binascii.crc32()=20when?= =?UTF-8?q?=20it=20is=20compiled=20to=20use=20=20=20=20=20zlib=E2=80=99c?= =?UTF-8?q?=20crc32=20to=20work=20properly=20on=20inputs=204+GiB=20in=20le?= =?UTF-8?q?ngth=20=20=20=20=20instead=20of=20returning=20the=20wrong=20res?= =?UTF-8?q?ult.=20The=20workaround=20prior=20=20=20=20=20to=20this=20was?= =?UTF-8?q?=20to=20always=20feed=20the=20function=20data=20in=20increments?= =?UTF-8?q?=20=20=20=20=20smaller=20than=204GiB=20or=20to=20just=20call=20?= =?UTF-8?q?the=20zlib=20module=20function.=20=20=20-=20bpo-39394:=20A=20wa?= =?UTF-8?q?rning=20about=20inline=20flags=20not=20at=20the=20start=20of=20?= =?UTF-8?q?=20=20=20=20the=20regular=20expression=20now=20contains=20the?= =?UTF-8?q?=20position=20of=20the=20flag.=20=20=20-=20bpo-47061:=20Depreca?= =?UTF-8?q?te=20the=20various=20modules=20listed=20by=20PEP=20594:=20=20?= =?UTF-8?q?=20-=20aifc,=20asynchat,=20asyncore,=20audioop,=20cgi,=20cgitb,?= =?UTF-8?q?=20chunk,=20crypt,=20=20=20=20=20imghdr,=20msilib,=20nntplib,?= =?UTF-8?q?=20nis,=20ossaudiodev,=20pipes,=20smtpd,=20=20=20=20=20sndhdr,?= =?UTF-8?q?=20spwd,=20sunau,=20telnetlib,=20uu,=20xdrlib=20=20=20-=20bpo-2?= =?UTF-8?q?604:=20Fix=20bug=20where=20doctests=20using=20globals=20would?= =?UTF-8?q?=20fail=20=20=20=20=20when=20run=20multiple=20times.=20=20=20-?= =?UTF-8?q?=20bpo-45997:=20Fix=20asyncio.Semaphore=20re-aquiring=20FIFO=20?= =?UTF-8?q?order.=20=20=20-=20bpo-47022:=20The=20asynchat,=20asyncore=20an?= =?UTF-8?q?d=20smtpd=20modules=20have=20been=20=20=20=20=20deprecated=20si?= =?UTF-8?q?nce=20at=20least=20Python=203.6.=20Their=20documentation=20and?= =?UTF-8?q?=20=20=20=20=20deprecation=20warnings=20and=20have=20now=20been?= =?UTF-8?q?=20updated=20to=20note=20they=20=20=20=20=20will=20removed=20in?= =?UTF-8?q?=20Python=203.12=20(PEP=20594).=20=20=20-=20bpo-46421:=20Fix=20?= =?UTF-8?q?a=20unittest=20issue=20where=20if=20the=20command=20was=20=20?= =?UTF-8?q?=20=20=20invoked=20as=20python=20-m=20unittest=20and=20the=20fi?= =?UTF-8?q?lename(s)=20began=20with=20=20=20=20=20a=20dot=20(.),=20a=20Val?= =?UTF-8?q?ueError=20is=20returned.?= 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/python310?expand=0&rev=34 --- Python-3.10.2.tar.xz | 3 - Python-3.10.2.tar.xz.asc | 16 -- Python-3.10.4.tar.xz | 3 + Python-3.10.4.tar.xz.asc | 16 ++ fix_configure_rst.patch | 2 +- python-3.3.0b1-test-posix_fadvise.patch | 2 +- python310.changes | 284 ++++++++++++++++++++++++ python310.spec | 7 +- support-expat-245.patch | 94 -------- 9 files changed, 307 insertions(+), 120 deletions(-) delete mode 100644 Python-3.10.2.tar.xz delete mode 100644 Python-3.10.2.tar.xz.asc create mode 100644 Python-3.10.4.tar.xz create mode 100644 Python-3.10.4.tar.xz.asc delete mode 100644 support-expat-245.patch diff --git a/Python-3.10.2.tar.xz b/Python-3.10.2.tar.xz deleted file mode 100644 index 6fa761e..0000000 --- a/Python-3.10.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:17de3ac7da9f2519aa9d64378c603a73a0e9ad58dffa8812e45160c086de64c7 -size 18780936 diff --git a/Python-3.10.2.tar.xz.asc b/Python-3.10.2.tar.xz.asc deleted file mode 100644 index 75a9123..0000000 --- a/Python-3.10.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAmHgeFkACgkQ/+h0BBaL -2EflWw/9FnfeUkaCFcLI19kqenqF8q7+e3yAD1629A47nRGeU9/drJ++PtBTAzj9 -+savP9BGLHioszJnL3hQRiwip4dGhyyfxUie7FuJMrY8NjH5iLwFwuKULWrcFBhS -rzSHtOOR+CA2ryP3eWfOZ5XHHlojaEDn7H5QmQud3+X4OgXeE4ssbtCccpezRiOB -2rdy4IqwbxNcmIaTA9L8xQOnzkSijjQa3L6KEXtUm0gtiZ9/MjdXHT+UOvhuLig/ -ByRhKxkIl/XbbopWw6RNPjejhB1C6aLrWpEp77o3MQxXf5pNIICCR2JfO+Oq8+4H -71yIAH//GmgLGB/+C0MH8RReeCRtPKos75uvKIexT6aLmUb3OPoY6UvzJDVXxEtn -FR9TocW2IkhNQZByaWeoVosOW9ZsvKXwCR8NRE7ZxZa3AKCMEiz7PRg+ljcynSps -BBvP1cshUN6DELwAqYe44qAWfrUImzxi4T+INgg4RwLpxyPARDFw+uw9uo/M57qV -OgUJ2ViXxRwnIBa3nrvX4/QsBQJyFSjzXZzs1hP6ZUPRnCUZHsEKei0OcThqJ032 -ce7DOUHvjaGqQBNpi9KnFqiVhueojmeo+WLy9EjBpRH9obc7dQaAfOgXTtf0BHZc -wFwzQo3kvth8187RYxWcdh4Vk4MKSMgGZw8BX0Y94+Rwru4RBBI= -=z3td ------END PGP SIGNATURE----- diff --git a/Python-3.10.4.tar.xz b/Python-3.10.4.tar.xz new file mode 100644 index 0000000..c014894 --- /dev/null +++ b/Python-3.10.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80bf925f571da436b35210886cf79f6eb5fa5d6c571316b73568343451f77a19 +size 19342692 diff --git a/Python-3.10.4.tar.xz.asc b/Python-3.10.4.tar.xz.asc new file mode 100644 index 0000000..304c4a3 --- /dev/null +++ b/Python-3.10.4.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAmI7glkACgkQ/+h0BBaL +2EeuBBAAoOCzPJXjt6RoAYMGpKl3f7HNGRR6q5nyLzyJ2EMOFflsJH7HRyE9c5eO +7EsrD3oO9OMkdY6Ffs7m0pfU6evGRaEAu/gY5ia8DVXjp0pLd8KJFKVKBvMLUsoB +WHM8t1MCCmEq7bPXjqnBW56UEMj8Tq/WzVPtC6nHc3zCbegM1GlrTcE4a6wYsILE +6zaSvmMGFNoER3+AzMSy2JEAYvPHZMhlzHgqjFwwQwBNEio7cKd12f8suwlGOnma +bpFpb6MlOyYXiBQtpEnlnkJH+xRrDKCczXVEgR64CHXF7ZOcuYexzLz+hX+1httd +vNmxcbx3Dd+LQ+QD/8oUqxGbQmz91QvcWR3VGweBdrqLykv4BqPQT5sh9pSj7GP4 ++bzIneAlNvbgZ31oWSAAjSyshtYPoKAK47a45UtGspsDONI2vMnVL4hKnYJPRNPQ +rVTjSZZQrTOvr7v3vnux0uvcg63DdmjkLULdyNgFoQzx1BK+/eQSVDqL3UxSifeg +ev1KtaEQvD71ETdpAmAzTxCQm41F6uQFC68JaAF7Bk5UH8PT1zhyAaTnVWBZ9dYu +2RORSFHib9cILdvql4Kde9ZKyzarcXl81+B3zAa3dehx+cpnbfxk2y+TKD+IAPJy +4727aPUgEceIVH3TtrwJF94vyR3UVPi2IudfGOmI/k2RZ+adjWY= +=4vI+ +-----END PGP SIGNATURE----- diff --git a/fix_configure_rst.patch b/fix_configure_rst.patch index c377eb3..063e99a 100644 --- a/fix_configure_rst.patch +++ b/fix_configure_rst.patch @@ -29,7 +29,7 @@ Create a Python.framework rather than a traditional Unix install. Optional --- a/Misc/NEWS +++ b/Misc/NEWS -@@ -1622,7 +1622,7 @@ C API +@@ -2038,7 +2038,7 @@ C API ----- - bpo-43795: The list in :ref:`stable-abi-list` now shows the public name diff --git a/python-3.3.0b1-test-posix_fadvise.patch b/python-3.3.0b1-test-posix_fadvise.patch index bc90d4f..763441e 100644 --- a/python-3.3.0b1-test-posix_fadvise.patch +++ b/python-3.3.0b1-test-posix_fadvise.patch @@ -4,7 +4,7 @@ --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py -@@ -424,7 +424,7 @@ class PosixTester(unittest.TestCase): +@@ -425,7 +425,7 @@ class PosixTester(unittest.TestCase): def test_posix_fadvise(self): fd = os.open(os_helper.TESTFN, os.O_RDONLY) try: diff --git a/python310.changes b/python310.changes index d187727..cac480e 100644 --- a/python310.changes +++ b/python310.changes @@ -1,3 +1,287 @@ +------------------------------------------------------------------- +Sat Mar 26 22:52:45 UTC 2022 - Matej Cepl + +- Update to 3.10.4: + - bpo-46968: Check for the existence of the “sys/auxv.h” header + in faulthandler to avoid compilation problems in systems + where this header doesn’t exist. Patch by Pablo Galindo + - bpo-23691: Protect the re.finditer() iterator from + re-entering. + - bpo-42369: Fix thread safety of zipfile._SharedFile.tell() to + avoid a “zipfile.BadZipFile: Bad CRC-32 for file” exception + when reading a ZipFile from multiple threads. + - bpo-38256: Fix binascii.crc32() when it is compiled to use + zlib’c crc32 to work properly on inputs 4+GiB in length + instead of returning the wrong result. The workaround prior + to this was to always feed the function data in increments + smaller than 4GiB or to just call the zlib module function. + - bpo-39394: A warning about inline flags not at the start of + the regular expression now contains the position of the flag. + - bpo-47061: Deprecate the various modules listed by PEP 594: + - aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, + imghdr, msilib, nntplib, nis, ossaudiodev, pipes, smtpd, + sndhdr, spwd, sunau, telnetlib, uu, xdrlib + - bpo-2604: Fix bug where doctests using globals would fail + when run multiple times. + - bpo-45997: Fix asyncio.Semaphore re-aquiring FIFO order. + - bpo-47022: The asynchat, asyncore and smtpd modules have been + deprecated since at least Python 3.6. Their documentation and + deprecation warnings and have now been updated to note they + will removed in Python 3.12 (PEP 594). + - bpo-46421: Fix a unittest issue where if the command was + invoked as python -m unittest and the filename(s) began with + a dot (.), a ValueError is returned. + - bpo-40296: Fix supporting generic aliases in pydoc. + +- Update to 3.10.3: + - bpo-46940: Avoid overriding AttributeError metadata + information for nested attribute access calls. Patch by Pablo + Galindo. + - bpo-46852: Rename the private undocumented + float.__set_format__() method to float.__setformat__() to fix + a typo introduced in Python 3.7. The method is only used by + test_float. Patch by Victor Stinner. + - bpo-46794: Bump up the libexpat version into 2.4.6 + - bpo-46820: Fix parsing a numeric literal immediately (without + spaces) followed by “not in” keywords, like in 1not in x. Now + the parser only emits a warning, not a syntax error. + - bpo-46762: Fix an assert failure in debug builds when a ‘<’, + ‘>’, or ‘=’ is the last character in an f-string that’s + missing a closing right brace. + - bpo-46724: Make sure that all backwards jumps use the + JUMP_ABSOLUTE instruction, rather than JUMP_FORWARD with an + argument of (2**32)+offset. + - bpo-46732: Correct the docstring for the __bool__() method. + Patch by Jelle Zijlstra. + - bpo-46707: Avoid potential exponential backtracking when + producing some syntax errors involving lots of brackets. + Patch by Pablo Galindo. + - bpo-40479: Add a missing call to va_end() in + Modules/_hashopenssl.c. + - bpo-46615: When iterating over sets internally in + setobject.c, acquire strong references to the resulting items + from the set. This prevents crashes in corner-cases of + various set operations where the set gets mutated. + - bpo-45773: Remove two invalid “peephole” optimizations from + the bytecode compiler. + - bpo-43721: Fix docstrings of getter, setter, and deleter to + clarify that they create a new copy of the property. + - bpo-46503: Fix an assert when parsing some invalid N escape + sequences in f-strings. + - bpo-46417: Fix a race condition on setting a type __bases__ + attribute: the internal function add_subclass() now gets the + PyTypeObject.tp_subclasses member after calling + PyWeakref_NewRef() which can trigger a garbage collection + which can indirectly modify PyTypeObject.tp_subclasses. Patch + by Victor Stinner. + - bpo-46383: Fix invalid signature of _zoneinfo’s module_free + function to resolve a crash on wasm32-emscripten platform. + - bpo-46070: Py_EndInterpreter() now explicitly untracks all + objects currently tracked by the GC. Previously, if an object + was used later by another interpreter, calling + PyObject_GC_UnTrack() on the object crashed if the previous + or the next object of the PyGC_Head structure became + a dangling pointer. Patch by Victor Stinner. + - bpo-46339: Fix a crash in the parser when retrieving the + error text for multi-line f-strings expressions that do not + start in the first line of the string. Patch by Pablo Galindo + - bpo-46240: Correct the error message for unclosed parentheses + when the tokenizer doesn’t reach the end of the source when + the error is reported. Patch by Pablo Galindo + - bpo-46091: Correctly calculate indentation levels for lines + with whitespace character that are ended by line continuation + characters. Patch by Pablo Galindo + - bpo-43253: Fix a crash when closing transports where the + underlying socket handle is already invalid on the Proactor + event loop. + - bpo-47004: Apply bugfixes from importlib_metadata 4.11.3, + including bugfix for EntryPoint.extras, which was returning + match objects and not the extras strings. + - bpo-46985: Upgrade pip wheel bundled with ensurepip (pip + 22.0.4) + - bpo-46968: faulthandler: On Linux 5.14 and newer, dynamically + determine size of signal handler stack size CPython allocates + using getauxval(AT_MINSIGSTKSZ). This changes allows for + Python extension’s request to Linux kernel to use AMX_TILE + instruction set on Sapphire Rapids Xeon processor to succeed, + unblocking use of the ISA in frameworks. + - bpo-46955: Expose asyncio.base_events.Server as + asyncio.Server. Patch by Stefan Zabka. + - bpo-23325: The signal module no longer assumes that SIG_IGN + and SIG_DFL are small int singletons. + - bpo-46932: Update bundled libexpat to 2.4.7 + - bpo-25707: Fixed a file leak in + xml.etree.ElementTree.iterparse() when the iterator is not + exhausted. Patch by Jacob Walls. + - bpo-44886: Inherit asyncio proactor datagram transport from + asyncio.DatagramTransport. + - bpo-46827: Support UDP sockets in asyncio.loop.sock_connect() + for selector-based event loops. Patch by Thomas Grainger. + - bpo-46811: Make test suite support Expat >=2.4.5 + - bpo-46252: Raise TypeError if ssl.SSLSocket is passed to + transport-based APIs. + - bpo-46784: Fix libexpat symbols collisions with user + dynamically loaded or statically linked libexpat in embedded + Python. + - bpo-39327: shutil.rmtree() can now work with VirtualBox + shared folders when running from the guest operating-system. + - bpo-46756: Fix a bug in + urllib.request.HTTPPasswordMgr.find_user_password() and + urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() + which allowed to bypass authorization. For example, access to + URI example.org/foobar was allowed if the user was authorized + for URI example.org/foo. + - bpo-46643: In typing.get_type_hints(), support evaluating + stringified ParamSpecArgs and ParamSpecKwargs annotations. + Patch by Gregory Beauregard. + - bpo-45863: When the tarfile module creates a pax format + archive, it will put an integer representation of timestamps + in the ustar header (if possible) for the benefit of older + unarchivers, in addition to the existing full-precision + timestamps in the pax extended header. + - bpo-46676: Make typing.ParamSpec args and kwargs equal to + themselves. Patch by Gregory Beauregard. + - bpo-46672: Fix NameError in asyncio.gather() when initial + type check fails. + - bpo-46655: In typing.get_type_hints(), support evaluating + bare stringified TypeAlias annotations. Patch by Gregory + Beauregard. + - bpo-45948: Fixed a discrepancy in the C implementation of the + xml.etree.ElementTree module. Now, instantiating an + xml.etree.ElementTree.XMLParser with a target=None keyword + provides a default xml.etree.ElementTree.TreeBuilder target + as the Python implementation does. + - bpo-46521: Fix a bug in the codeop module that was + incorrectly identifying invalid code involving string quotes + as valid code. + - bpo-46581: Brings ParamSpec propagation for GenericAlias in + line with Concatenate (and others). + - bpo-46591: Make the IDLE doc URL on the About IDLE dialog + clickable. + - bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4 + - bpo-46487: Add the get_write_buffer_limits method to + asyncio.transports.WriteTransport and to the SSL transport. + - bpo-45173: Note the configparser deprecations will be removed + in Python 3.12. + - bpo-46539: In typing.get_type_hints(), support evaluating + stringified ClassVar and Final annotations inside Annotated. + Patch by Gregory Beauregard. + - bpo-46491: Allow typing.Annotated to wrap typing.Final and + typing.ClassVar. Patch by Gregory Beauregard. + - bpo-46436: Fix command-line option -d/--directory in module + http.server which is ignored when combined with command-line + option --cgi. Patch by Géry Ogam. + - bpo-41403: Make mock.patch() raise a TypeError with + a relevant error message on invalid arg. Previously it + allowed a cryptic AttributeError to escape. + - bpo-46474: In importlib.metadata.EntryPoint.pattern, avoid + potential REDoS by limiting ambiguity in consecutive + whitespace. + - bpo-46469: asyncio generic classes now return + types.GenericAlias in __class_getitem__ instead of the same + class. + - bpo-46434: pdb now gracefully handles help when __doc__ is + missing, for example when run with pregenerated optimized + .pyc files. + - bpo-46333: The __eq__() and __hash__() methods of + typing.ForwardRef now honor the module parameter of + typing.ForwardRef. Forward references from different modules + are now differentiated. + - bpo-46246: Add missing __slots__ to + importlib.metadata.DeprecatedList. Patch by Arie Bovenberg. + - bpo-46266: Improve day constants in calendar. + - Now all constants (MONDAY … SUNDAY) are documented, tested, + and added to __all__. + - bpo-46232: The ssl module now handles certificates with bit + strings in DN correctly. + - bpo-43118: Fix a bug in inspect.signature() that was causing + it to fail on some subclasses of classes with + a __text_signature__ referencing module globals. Patch by + Weipeng Hong. + - bpo-26552: Fixed case where failing asyncio.ensure_future() + did not close the coroutine. Patch by Kumar Aditya. + - bpo-21987: Fix an issue with tarfile.TarFile.getmember() + getting a directory name with a trailing slash. + - bpo-20392: Fix inconsistency with uppercase file extensions + in MimeTypes.guess_type(). Patch by Kumar Aditya. + - bpo-46080: Fix exception in argparse help text generation if + a argparse.BooleanOptionalAction argument’s default is + argparse.SUPPRESS and it has help specified. Patch by Felix + Fontein. + - bpo-44439: Fix .write() method of a member file in ZipFile, + when the input data is an object that supports the buffer + protocol, the file length may be wrong. + - bpo-45703: When a namespace package is imported before + another module from the same namespace is created/installed + in a different sys.path location while the program is + running, calling the importlib.invalidate_caches() function + will now also guarantee the new module is noticed. + - bpo-24959: Fix bug where unittest sometimes drops frames from + tracebacks of exceptions raised in tests. + - bpo-44791: Fix substitution of ParamSpec in Concatenate with + different parameter expressions. Substitution with a list of + types returns now a tuple of types. Substitution with + Concatenate returns now a Concatenate with concatenated lists + of arguments. + - bpo-14156: argparse.FileType now supports an argument of ‘-’ + in binary mode, returning the .buffer attribute of + sys.stdin/sys.stdout as appropriate. Modes including ‘x’ and + ‘a’ are treated equivalently to ‘w’ when argument is ‘-’. + Patch contributed by Josh Rosenberg + - bpo-46463: Fixes escape4chm.py script used when building the + CHM documentation file + - bpo-46913: Fix test_faulthandler.test_sigfpe() if Python is + built with undefined behavior sanitizer (UBSAN): disable + UBSAN on the faulthandler_sigfpe() function. Patch by Victor + Stinner. + - bpo-46708: Prevent default asyncio event loop policy + modification warning after test_asyncio execution. + - bpo-46678: The function make_legacy_pyc in + Lib/test/support/import_helper.py no longer fails when + PYTHONPYCACHEPREFIX is set to a directory on a different + device from where tempfiles are stored. + - bpo-46616: Ensures test_importlib.test_windows cleans up + registry keys after completion. + - bpo-44359: test_ftplib now silently ignores socket errors to + prevent logging unhandled threading exceptions. Patch by + Victor Stinner. + - bpo-46542: Fix a Python crash in test_lib2to3 when using + Python built in debug mode: limit the recursion limit. Patch + by Victor Stinner. + - bpo-46576: test_peg_generator now disables compiler + optimization when testing compilation of its own C extensions + to significantly speed up the testing on non-debug builds of + CPython. + - bpo-46542: Fix test_json tests checking for RecursionError: + modify these tests to use support.infinite_recursion(). Patch + by Victor Stinner. + - bpo-13886: Skip test_builtin PTY tests on non-ASCII + characters if the readline module is loaded. The readline + module changes input() behavior, but test_builtin is not + intented to test the readline module. Patch by Victor + Stinner. + - bpo-38472: Fix GCC detection in setup.py when + cross-compiling. The C compiler is now run with LC_ALL=C. + Previously, the detection failed with a German locale. + - bpo-46513: configure no longer uses AC_C_CHAR_UNSIGNED macro + and pyconfig.h no longer defines reserved symbol + __CHAR_UNSIGNED__. + - bpo-45296: Clarify close, quit, and exit in IDLE. In the File + menu, ‘Close’ and ‘Exit’ are now ‘Close Window’ (the current + one) and ‘Exit’ is now ‘Exit IDLE’ (by closing all windows). + In Shell, ‘quit()’ and ‘exit()’ mean ‘close Shell’. If there + are no other windows, this also exits IDLE. + - bpo-45447: Apply IDLE syntax highlighting to pyi files. Patch + by Alex Waygood and Terry Jan Reedy. + - bpo-46433: The internal function _PyType_GetModuleByDef now + correctly handles inheritance patterns involving static + types. + - bpo-14916: Fixed bug in the tokenizer that prevented + PyRun_InteractiveOne from parsing from the provided FD. + +- Remove upstreamed patches: + - support-expat-245.patch + ------------------------------------------------------------------- Tue Feb 22 05:53:06 UTC 2022 - Steve Kowalik diff --git a/python310.spec b/python310.spec index 4ea1952..079b906 100644 --- a/python310.spec +++ b/python310.spec @@ -64,7 +64,7 @@ Obsoletes: python39%{?1:-%{1}} # 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.10.2 +%define folderversion 3.10.4 %define tarname Python-%{tarversion} %define sitedir %{_libdir}/python%{python_version} # three possible ABI kinds: m - pymalloc, d - debug build; see PEP 3149 @@ -100,7 +100,7 @@ Obsoletes: python39%{?1:-%{1}} %define dynlib() %{sitedir}/lib-dynload/%{1}.cpython-%{abi_tag}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}.so %bcond_without profileopt Name: %{python_pkg_name}%{psuffix} -Version: 3.10.2 +Version: 3.10.4 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -160,8 +160,6 @@ Patch34: skip-test_pyobject_freed_is_freed.patch # PATCH-FIX-SLE fix_configure_rst.patch bpo#43774 mcepl@suse.com # remove duplicate link targets and make documentation with old Sphinx in SLE Patch35: fix_configure_rst.patch -# PATCH-FIX-UPSTREAM bpo-46811 gh#python/cpython#7da97f61816f3cadaa6788804b22a2434b40e8c5 -Patch36: support-expat-245.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes @@ -427,7 +425,6 @@ other applications. %patch34 -p1 %endif %patch35 -p1 -%patch36 -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 85939a2..0000000 --- a/support-expat-245.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 7da97f61816f3cadaa6788804b22a2434b40e8c5 Mon Sep 17 00:00:00 2001 -From: "Miss Islington (bot)" - <31488909+miss-islington@users.noreply.github.com> -Date: Mon, 21 Feb 2022 08:16:09 -0800 -Subject: [PATCH] bpo-46811: Make test suite support Expat >=2.4.5 (GH-31453) - (GH-31472) - -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 --- - Misc/NEWS.d/next/Library/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 - ---- a/Lib/test/test_minidom.py -+++ b/Lib/test/test_minidom.py -@@ -6,10 +6,12 @@ import io - 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") -@@ -1147,7 +1149,13 @@ class MinidomTest(unittest.TestCase): - - # 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() -@@ -1609,7 +1617,12 @@ class MinidomTest(unittest.TestCase): - 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): ---- a/Lib/test/test_xml_etree.py -+++ b/Lib/test/test_xml_etree.py -@@ -2183,12 +2183,6 @@ class BugsTest(unittest.TestCase): - 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']) ---- /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