From 403af99cf1fb50fb4e8dba402222334db2ba083bcc9f865807dc43716e9f07c8 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Wed, 26 Oct 2022 21:24:53 +0000 Subject: [PATCH] Accepting request 1031401 from home:mcepl:branches:devel:languages:python:Factory - Update to 3.11.0 (overall changes from 3.10.*): - General changes - PEP 657 -- Include Fine-Grained Error Locations in Tracebacks - PEP 654 -- Exception Groups and except* - PEP 680 -- tomllib: Support for Parsing TOML in the Standard Library - gh-90908 -- Introduce task groups to asyncio - gh-34627 -- Atomic grouping ((?>...)) and possessive quantifiers (*+, ++, ?+, {m,n}+) are now supported in regular expressions. - The Faster CPython Project is already yielding some exciting results. Python 3.11 is up to 10-60% faster than Python 3.10. On average, we measured a 1.22x speedup on the standard benchmark suite. See Faster CPython for details. - Typing and typing language changes - PEP 673 -- Self Type - PEP 646 -- Variadic Generics - PEP 675 -- Arbitrary Literal String Type - PEP 655 -- Marking individual TypedDict items as required or potentially-missing - PEP 681 -- Data Class Transforms - (just changes from 3.11.0rc2): - Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. Issue reported by Jordan Limor. Patch by Victor Stinner. - On Linux the multiprocessing module returns to using filesystem backed unix domain sockets for communication with the forkserver process instead of the Linux abstract OBS-URL: https://build.opensuse.org/request/show/1031401 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=34 --- ...nx.locale._-as-gettext-in-pyspecific.patch | 54 +++++++++++++ Python-3.11.0.tar.xz | 3 + Python-3.11.0.tar.xz.asc | 16 ++++ Python-3.11.0rc2.tar.xz | 3 - Python-3.11.0rc2.tar.xz.asc | 16 ---- fix_configure_rst.patch | 2 +- python311.changes | 80 +++++++++++++++++++ python311.spec | 6 +- 8 files changed, 159 insertions(+), 21 deletions(-) create mode 100644 98437-sphinx.locale._-as-gettext-in-pyspecific.patch create mode 100644 Python-3.11.0.tar.xz create mode 100644 Python-3.11.0.tar.xz.asc delete mode 100644 Python-3.11.0rc2.tar.xz delete mode 100644 Python-3.11.0rc2.tar.xz.asc diff --git a/98437-sphinx.locale._-as-gettext-in-pyspecific.patch b/98437-sphinx.locale._-as-gettext-in-pyspecific.patch new file mode 100644 index 0000000..773e87f --- /dev/null +++ b/98437-sphinx.locale._-as-gettext-in-pyspecific.patch @@ -0,0 +1,54 @@ +From 5775f51691d7d64fb676586e008b41261ce64ac2 Mon Sep 17 00:00:00 2001 +From: "Matt.Wang" +Date: Wed, 19 Oct 2022 14:49:08 +0800 +Subject: [PATCH 1/2] fix(doc-tools): use sphinx.locale._ as gettext() for + backward-compatibility in pyspecific.py + +[why] spinix 5.3 changed locale.translators from a defaultdict(gettext.NullTranslations) to a dict, which leads to failure of pyspecific.py. Use sphinx.locale._ as gettext to fix the issue. +--- + Doc/tools/extensions/pyspecific.py | 8 ++++---- + Misc/NEWS.d/next/Documentation/2022-10-19-07-15-52.gh-issue-98366.UskMXF.rst | 1 + + 2 files changed, 5 insertions(+), 4 deletions(-) + +--- a/Doc/tools/extensions/pyspecific.py ++++ b/Doc/tools/extensions/pyspecific.py +@@ -26,7 +26,7 @@ try: + from sphinx.errors import NoUri + except ImportError: + from sphinx.environment import NoUri +-from sphinx.locale import translators ++from sphinx.locale import _ as sphinx_gettext + from sphinx.util import status_iterator, logging + from sphinx.util.nodes import split_explicit_title + from sphinx.writers.text import TextWriter, TextTranslator +@@ -109,7 +109,7 @@ class ImplementationDetail(Directive): + def run(self): + self.assert_has_content() + pnode = nodes.compound(classes=['impl-detail']) +- label = translators['sphinx'].gettext(self.label_text) ++ label = sphinx_gettext(self.label_text) + content = self.content + add_text = nodes.strong(label, label) + self.state.nested_parse(content, self.content_offset, pnode) +@@ -257,7 +257,7 @@ class AuditEvent(Directive): + else: + args = [] + +- label = translators['sphinx'].gettext(self._label[min(2, len(args))]) ++ label = sphinx_gettext(self._label[min(2, len(args))]) + text = label.format(name="``{}``".format(name), + args=", ".join("``{}``".format(a) for a in args if a)) + +@@ -436,7 +436,7 @@ class DeprecatedRemoved(Directive): + else: + label = self._removed_label + +- label = translators['sphinx'].gettext(label) ++ label = sphinx_gettext(label) + text = label.format(deprecated=self.arguments[0], removed=self.arguments[1]) + if len(self.arguments) == 3: + inodes, messages = self.state.inline_text(self.arguments[2], +--- /dev/null ++++ b/Misc/NEWS.d/next/Documentation/2022-10-19-07-15-52.gh-issue-98366.UskMXF.rst +@@ -0,0 +1 @@ ++Use sphinx.locale._ as the gettext function in pyspecific.py. diff --git a/Python-3.11.0.tar.xz b/Python-3.11.0.tar.xz new file mode 100644 index 0000000..26bc1fb --- /dev/null +++ b/Python-3.11.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a57dc82d77358617ba65b9841cee1e3b441f386c3789ddc0676eca077f2951c3 +size 19819768 diff --git a/Python-3.11.0.tar.xz.asc b/Python-3.11.0.tar.xz.asc new file mode 100644 index 0000000..0044430 --- /dev/null +++ b/Python-3.11.0.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAmNW0BsACgkQ/+h0BBaL +2EfljQ//YbRPRLgFEqbUYDoA65Hy5+ztg2bD6UUAVHS29G7exX9hNqAuk2uQZnlF +3CIz7NjtJFb7a8Bxg6j/OjYnwTojZKeNR/wwZa7MRJlZv7YZGKdjYlt21eCQMbjN +SHlmZ/P1jTHifb/9x2l6XRqn8IXwvJq1NduNoiuNzSQ16oX3TwbLC+vFRBxFqv48 +E6qJlpplzQz0HxgWD+R3jHx2YQzD/Bc+kA+l4NIP2CWX5yK2R3Q63sFi8GmzP6gZ +auFNDGz5pGuwTsblr8Ps0LeqnPtX2UqzAIM5AK5kXW6yn0bn93EXNT0OGF+zzccV +8dit/0C1gqg6iPNRCijWpyIzXUF22Wn8+32E77Xfr+uSPW5e0yuA9VWoO5D2Bf/i +sna98iE3wLJHGgrn1quAdFjCEPSAr9rNaEyvqF9QEjuCoa5giqwk+HIjEiLwNYcy +5MsfFxj5OQT1wB1zWs08qij4wXO0bPylnIK1a6t8OlGF3M4FKX8PK0zK4HsKPcje +DiyjdM3ylrODWk2BjvxUp48gMvmibeSZydKKJDjflHr7MDaJPInZk24LQXw6ZrVH +g+E726C1q69sWSbZ2Wvc70CGcIfzeSFX0rQMGYvyJAQHTo4kixOjRJQpTxGw2VkE +aQrgQC/JGhV+mNWfK+/QiypF8povzlwaQwpoyOczvg83rAvNLAs= +=LZQi +-----END PGP SIGNATURE----- diff --git a/Python-3.11.0rc2.tar.xz b/Python-3.11.0rc2.tar.xz deleted file mode 100644 index 52f72f9..0000000 --- a/Python-3.11.0rc2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25b35cc7d82c5ad34d867b179a1c1695d129be5ed14a21e46b6b7f2350a8b490 -size 19828340 diff --git a/Python-3.11.0rc2.tar.xz.asc b/Python-3.11.0rc2.tar.xz.asc deleted file mode 100644 index 3060388..0000000 --- a/Python-3.11.0rc2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAmMeOSQACgkQ/+h0BBaL -2EcrTA//USzDkebYcAJ1jcb1diiV9JJd7Znm4l7rwb/TKimY82gN1ev9R1/fkmOk -KaRhn5Ss23lm5IdwbJNL1dhrx9DdtsW3oBzaT+pchSVXu0qVokQ0XFVvWzEqwiit -2K6JOlcVyMV8QnBBJPAC+/HN1pjZGQESk/HoP7ESqQUytRkieddjO/cnJ/m36oMJ -YUVoHS1sQVrRHQU3C1RSZ+DF1sdCjzy1ZxfKMVz73gBjLRQ5MiWYIp7ryDtNMZ7F -Ws8m+5WXVhWE2hniMvCVDN25vHIan+9l4hjT01kLh7Ei/QJ6t2GrOtHagMDhFcS1 -Lhq/7flMGpLjhpNNtzAXSPhMZDDxIpyIZu4XwxmQAXFkhCm6H2RBo6OrGWDaOT+V -6kfVCUky+v7oKHs19xm+UilNBIzd4DMNKP2Q9MYcqnR+aI/ggMG7k7KZ3gpPKrQI -x8u6PGFl9vUsRHiUxXYuIM+FO9LAYIFskpWy/CW7fZ29iAkeMjRzhcyS/A8exaae -YA+z4dqgnYLQqMUX3aK3kzAreKAncFkYdNmnv7YMUUSM5J5fvIN2bG/oJ2oti0sk -o1WhVr3ygizeqAOhw0bd2N84xqee+ky18fl+FkauyzEPh7vdI+OQWrBAuJF7YZKR -sHTSxdzPBjaXijLXriZIo1YRXc7N7jd05Cq8R95dzxC9BZjOOfI= -=KvNZ ------END PGP SIGNATURE----- diff --git a/fix_configure_rst.patch b/fix_configure_rst.patch index ce566cd..ae6b9a3 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 -@@ -6636,7 +6636,7 @@ C API +@@ -6768,7 +6768,7 @@ C API - bpo-40939: Removed documentation for the removed ``PyParser_*`` C API. - bpo-43795: The list in :ref:`stable-abi-list` now shows the public name diff --git a/python311.changes b/python311.changes index 128d145..025047b 100644 --- a/python311.changes +++ b/python311.changes @@ -1,3 +1,83 @@ +------------------------------------------------------------------- +Tue Oct 25 08:39:47 UTC 2022 - Matej Cepl + +- Update to 3.11.0 (overall changes from 3.10.*): + - General changes + - PEP 657 -- Include Fine-Grained Error Locations in + Tracebacks + - PEP 654 -- Exception Groups and except* + - PEP 680 -- tomllib: Support for Parsing TOML in the + Standard Library + - gh-90908 -- Introduce task groups to asyncio + - gh-34627 -- Atomic grouping ((?>...)) and possessive + quantifiers (*+, ++, ?+, {m,n}+) are now supported in + regular expressions. + - The Faster CPython Project is already yielding some + exciting results. Python 3.11 is up to 10-60% faster than + Python 3.10. On average, we measured a 1.22x speedup on the + standard benchmark suite. See Faster CPython for details. + - Typing and typing language changes + - PEP 673 -- Self Type + - PEP 646 -- Variadic Generics + - PEP 675 -- Arbitrary Literal String Type + - PEP 655 -- Marking individual TypedDict items as required + or potentially-missing + - PEP 681 -- Data Class Transforms +- (just changes from 3.11.0rc2): + - Fix multiplying a list by an integer (list *= int): detect + the integer overflow when the new allocated length is close + to the maximum size. Issue reported by Jordan Limor. Patch by + Victor Stinner. + - On Linux the multiprocessing module returns to using + filesystem backed unix domain sockets for communication + with the forkserver process instead of the Linux abstract + socket namespace. Only code that chooses to use the + “forkserver” start method is affected. Abstract sockets have + no permissions and could allow any user on the system in the + same network namespace (often the whole system) to inject + code into the multiprocessing forkserver process. This was + a potential privilege escalation. Filesystem based socket + permissions restrict this to the forkserver process user as + was the default in Python 3.8 and earlier. This prevents + Linux CVE-2022-42919. + - Fix an issue where several frame objects could be backed by + the same interpreter frame, possibly leading to corrupted + memory and hard crashes of the interpreter. + - Fix possible data corruption or crashes when accessing the + f_back member of newly-created generator or coroutine frames. + - Fix a crash occurring when PyEval_GetFrame() is called while + the topmost Python frame is in a partially-initialized state. + - Fix command line parsing: reject -X int_max_str_digits option + with no value (invalid) when the PYTHONINTMAXSTRDIGITS + environment variable is set to a valid limit. Patch by Victor + Stinner. + - Fix undefined behaviour in _testcapimodule.c. + - When ValueError is raised if an integer is larger than the + limit, mention the sys.set_int_max_str_digits() function in + the error message. Patch by Victor Stinner. + - Correctly raise SyntaxError on exception groups (PEP 654) on + python versions prior to 3.11 + - Document some places where an assignment expression needs + parentheses. + - Update the bundled copies of pip and setuptools to versions + 22.3 and 65.5.0 respectively. + - fix Flag to use boundary CONFORM + - This restores previous Flag behavior of allowing flags with + non-sequential values to be combined; e.g. + - class Skip(Flag): TWO = 2 EIGHT = 8 + - Skip.TWO | Skip.EIGHT -> + - Fix ! in c domain ref target syntax via a conf.py patch, so + it works as intended to disable ref target resolution. + - Update tutorial introduction output to use 3.10+ SyntaxError + invalid range. + +------------------------------------------------------------------- +Fri Oct 21 10:14:03 UTC 2022 - Matej Cepl + +- Add 98437-sphinx.locale._-as-gettext-in-pyspecific.patch to + allow building of documentation with the latest Sphinx 5.3.0 + (gh#python/cpython#98366). + ------------------------------------------------------------------- Thu Sep 15 08:43:07 UTC 2022 - Matej Cepl diff --git a/python311.spec b/python311.spec index 84717f0..2d3cba8 100644 --- a/python311.spec +++ b/python311.spec @@ -103,7 +103,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.11.0rc2 +Version: 3.11.0 Release: 0 Summary: Python 3 Interpreter License: Python-2.0 @@ -166,6 +166,9 @@ Patch35: fix_configure_rst.patch # PATCH-FIX-UPSTREAM support-expat-CVE-2022-25236-patched.patch jsc#SLE-21253 mcepl@suse.com # Makes Python resilient to changes of API of libexpat Patch36: support-expat-CVE-2022-25236-patched.patch +# PATCH-FIX-UPSTREAM 98437-sphinx.locale._-as-gettext-in-pyspecific.patch gh#python/cpython#98366 mcepl@suse.com +# this patch makes things totally awesome +Patch37: 98437-sphinx.locale._-as-gettext-in-pyspecific.patch BuildRequires: autoconf-archive BuildRequires: automake BuildRequires: fdupes @@ -432,6 +435,7 @@ other applications. %endif %patch35 -p1 %patch36 -p1 +%patch37 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac