public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Karolina Surma <ksurma@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/python3.13] f45: Update to Python 3.13.15
Date: Wed, 12 Aug 2026 08:37:30 GMT [thread overview]
Message-ID: <178652385052.1.5706550722298040790.rpms-python3.13-b93f3ee7d7c8@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/python3.13
Branch : f45
Commit : b93f3ee7d7c859567d3f017a008ec6c7fc83fe5b
Author : Karolina Surma <ksurma@redhat.com>
Date : 2026-08-11T10:32:30+02:00
Stats : +35/-91 in 6 file(s)
URL : https://src.fedoraproject.org/rpms/python3.13/c/b93f3ee7d7c859567d3f017a008ec6c7fc83fe5b?branch=f45
Log:
Update to Python 3.13.15
---
diff --git a/00466-downstream-only-skip-tests-not-working-with-older-expat-version.patch b/00466-downstream-only-skip-tests-not-working-with-older-expat-version.patch
index 7105bf4..349deeb 100644
--- a/00466-downstream-only-skip-tests-not-working-with-older-expat-version.patch
+++ b/00466-downstream-only-skip-tests-not-working-with-older-expat-version.patch
@@ -15,10 +15,10 @@ which is tested as working.
3 files changed, 10 insertions(+)
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
-index ebd8c955dc..678815596b 100644
+index ae7cec6540..4770c5cc4f 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
-@@ -1013,6 +1013,8 @@ def start_element(name, _):
+@@ -1033,6 +1033,8 @@ def start_element(name, _):
self.assertEqual(started, ['doc'])
@@ -41,7 +41,7 @@ index 9b3014a94a..90401e0d8f 100644
result = BytesIO()
xmlgen = XMLGenerator(result)
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
-index c306b7d036..476e6f7956 100644
+index 4a76a5be1e..d740e30123 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -1599,9 +1599,13 @@ def test_simple_xml(self, chunk_size=None, flush=False):
diff --git a/00474-cve-2025-15366.patch b/00474-cve-2025-15366.patch
deleted file mode 100644
index d055956..0000000
--- a/00474-cve-2025-15366.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Seth Michael Larson <seth@python.org>
-Date: Tue, 20 Jan 2026 14:45:42 -0600
-Subject: 00474: CVE-2025-15366
-
-Reject control characters in IMAP commands
----
- Lib/imaplib.py | 4 +++-
- Lib/test/test_imaplib.py | 6 ++++++
- .../Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst | 1 +
- 3 files changed, 10 insertions(+), 1 deletion(-)
- create mode 100644 Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
-
-diff --git a/Lib/imaplib.py b/Lib/imaplib.py
-index db16f3c802..e7fc0b55fd 100644
---- a/Lib/imaplib.py
-+++ b/Lib/imaplib.py
-@@ -132,7 +132,7 @@
- # We compile these in _mode_xxx.
- _Literal = br'.*{(?P<size>\d+)}$'
- _Untagged_status = br'\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?'
--
-+_control_chars = re.compile(b'[\x00-\x1F\x7F]')
-
-
- class IMAP4:
-@@ -1000,6 +1000,8 @@ def _command(self, name, *args):
- if arg is None: continue
- if isinstance(arg, str):
- arg = bytes(arg, self._encoding)
-+ if _control_chars.search(arg):
-+ raise ValueError("Control characters not allowed in commands")
- data = data + b' ' + arg
-
- literal = self.literal
-diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
-index 6573b4e7f3..bc01ce9f13 100644
---- a/Lib/test/test_imaplib.py
-+++ b/Lib/test/test_imaplib.py
-@@ -525,6 +525,12 @@ def test_login(self):
- self.assertEqual(data[0], b'LOGIN completed')
- self.assertEqual(client.state, 'AUTH')
-
-+ def test_control_characters(self):
-+ client, _ = self._setup(SimpleIMAPHandler)
-+ for c0 in support.control_characters_c0():
-+ with self.assertRaises(ValueError):
-+ client.login(f'user{c0}', 'pass')
-+
- def test_logout(self):
- client, _ = self._setup(SimpleIMAPHandler)
- typ, data = client.login('user', 'pass')
-diff --git a/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst b/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
-new file mode 100644
-index 0000000000..4e13fe92bc
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2026-01-16-11-41-06.gh-issue-143921.AeCOor.rst
-@@ -0,0 +1 @@
-+Reject control characters in IMAP commands.
diff --git a/00477-raise-an-error-when-importing-stdlib-modules-compiled-for-a-different-python-version.patch b/00477-raise-an-error-when-importing-stdlib-modules-compiled-for-a-different-python-version.patch
index 51fbe50..f860aa1 100644
--- a/00477-raise-an-error-when-importing-stdlib-modules-compiled-for-a-different-python-version.patch
+++ b/00477-raise-an-error-when-importing-stdlib-modules-compiled-for-a-different-python-version.patch
@@ -81,10 +81,10 @@ index 2a17c891dd..64017c666c 100644
}
#endif
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 8589a28b72..9aaeb5e5b4 100644
+index 2363b99a25..f1a07645f0 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -3153,3 +3153,6 @@ MODULE__MULTIBYTECODEC_DEPS=$(srcdir)/Modules/cjkcodecs/multibytecodec.h
+@@ -3159,3 +3159,6 @@ MODULE__MULTIBYTECODEC_DEPS=$(srcdir)/Modules/cjkcodecs/multibytecodec.h
# Local Variables:
# mode: makefile
# End:
@@ -92,10 +92,10 @@ index 8589a28b72..9aaeb5e5b4 100644
+# Fedora-specific, downstream only
+PY_STDMODULE_CFLAGS += -D_PyHack_check_version_on_modinit=1
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
-index e6b5271357..e536ab51af 100644
+index 1996488a0e..cfdffd8ec4 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
-@@ -4783,6 +4783,12 @@ curses_destructor(PyObject *op)
+@@ -5011,6 +5011,12 @@ curses_destructor(PyObject *op)
PyMODINIT_FUNC
PyInit__curses(void)
{
@@ -109,10 +109,10 @@ index e6b5271357..e536ab51af 100644
/* Initialize object type */
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
-index de93994aa0..10f95215bd 100644
+index 4e8d75e8e1..32e58755aa 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
-@@ -3432,6 +3432,12 @@ static struct PyModuleDef _tkintermodule = {
+@@ -3499,6 +3499,12 @@ static struct PyModuleDef _tkintermodule = {
PyMODINIT_FUNC
PyInit__tkinter(void)
{
diff --git a/plan.fmf b/plan.fmf
index 9c9afb8..71d0124 100644
--- a/plan.fmf
+++ b/plan.fmf
@@ -24,10 +24,11 @@ discover:
test: "PYTHON=python${pybasever}d TOX=false VERSION=${pybasever} CYTHON=false ./venv.sh"
- name: selftest
path: /selftest
- test: "VERSION=${pybasever} X='-i test_check_probes' ./parallel.sh"
+ # test_subparser_inherits_reparse_deferral fails on EPEL9: https://github.com/python/cpython/issues/155485
+ test: "VERSION=${pybasever} X='-i test_check_probes -i test_subparser_inherits_reparse_deferral' ./parallel.sh"
- name: debugtest
path: /selftest
- test: "VERSION=${pybasever} PYTHON=python${pybasever}d X='-i test_check_probes' ./parallel.sh"
+ test: "VERSION=${pybasever} PYTHON=python${pybasever}d X='-i test_check_probes -i test_subparser_inherits_reparse_deferral' ./parallel.sh"
- name: optimizedflags
path: /flags
test: "python${pybasever} ./assertflags.py -O3 CFLAGS PY_BUILTIN_MODULE_CFLAGS PY_CFLAGS PY_CORE_CFLAGS PY_CFLAGS_NODIST PY_STDMODULE_CFLAGS"
diff --git a/python3.13.spec b/python3.13.spec
index 0c163a2..0879de7 100644
--- a/python3.13.spec
+++ b/python3.13.spec
@@ -45,11 +45,11 @@ URL: https://www.python.org/
# WARNING When rebasing to a new Python version,
# remember to update the python3-docs package as well
-%global general_version %{pybasever}.14
+%global general_version %{pybasever}.15
#global prerel ...
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
-Release: 2%{?dist}
+Release: 1%{?dist}
License: Python-2.0.1
@@ -109,30 +109,30 @@ License: Python-2.0.1
# This needs to be manually updated when we update Python.
# Explore the sources tarball (you need the version before %%prep is executed):
# $ tar -tf Python-%%{upstream_version}.tar.xz | grep whl
-%global pip_version 26.1.2
+%global pip_version 26.2.1
%global setuptools_version 79.0.1
# All of those also include a list of indirect bundled libs:
# pip
# $ %%{_rpmconfigdir}/pythonbundles.py <(unzip -p Lib/ensurepip/_bundled/pip-*.whl pip/_vendor/vendor.txt)
%global pip_bundled_provides %{expand:
Provides: bundled(python3dist(cachecontrol)) = 0.14.4
-Provides: bundled(python3dist(certifi)) = 2026.2.25
-Provides: bundled(python3dist(distlib)) = 0.4
+Provides: bundled(python3dist(certifi)) = 2026.6.17
+Provides: bundled(python3dist(distlib)) = 0.4.2
Provides: bundled(python3dist(distro)) = 1.9
-Provides: bundled(python3dist(idna)) = 3.11
+Provides: bundled(python3dist(idna)) = 3.18
Provides: bundled(python3dist(msgpack)) = 1.1.2
Provides: bundled(python3dist(packaging)) = 26.2
-Provides: bundled(python3dist(platformdirs)) = 4.5.1
-Provides: bundled(python3dist(pygments)) = 2.19.2
+Provides: bundled(python3dist(platformdirs)) = 4.10
+Provides: bundled(python3dist(pygments)) = 2.20
Provides: bundled(python3dist(pyproject-hooks)) = 1.2
-Provides: bundled(python3dist(requests)) = 2.33.1
+Provides: bundled(python3dist(requests)) = 2.34.2
Provides: bundled(python3dist(resolvelib)) = 1.2.1
Provides: bundled(python3dist(rich)) = 14.2
Provides: bundled(python3dist(setuptools)) = 70.3
-Provides: bundled(python3dist(tomli)) = 2.3.1
+Provides: bundled(python3dist(tomli)) = 2.4.1
Provides: bundled(python3dist(tomli-w)) = 1.2
Provides: bundled(python3dist(truststore)) = 0.10.4
-Provides: bundled(python3dist(urllib3)) = 2.6.3
+Provides: bundled(python3dist(urllib3)) = 2.7
}
# setuptools
# vendor.txt not in .whl
@@ -379,12 +379,6 @@ Patch251: 00251-change-user-install-location.patch
# which is tested as working.
Patch466: 00466-downstream-only-skip-tests-not-working-with-older-expat-version.patch
-# 00474 # 837ddca0372fa87ff9cee47142200caa21e77def
-# CVE-2025-15366
-#
-# Reject control characters in IMAP commands
-Patch474: 00474-cve-2025-15366.patch
-
# 00475 # d44fac01037662db286449a78c8fb819788f764c
# CVE-2025-15367
#
@@ -530,7 +524,7 @@ Summary: Python runtime libraries
# Combined manually from https://docs.python.org/3.13/license.html
# Hash of Doc/license.rst which is compared in %%prep, generated with:
# $ sha256sum Doc/license.rst | cut -f1 -d" "
-%global license_file_hash 62f2c9c2c75d511170eb464ad5f83b78cc1f37eb2eb49c2846c9aa6c4557ee99
+%global license_file_hash 952ac05720d7f1dcb63589b35eb0931b1442eb250230a4ad31198eddf0ad6abc
# Licenses of incorporated software:
# Mersenne Twister in _random C extension contains code under BSD-3-Clause
# socket.getaddrinfo() and socket.getnameinfo() are BSD-3-Clause
@@ -553,10 +547,11 @@ Summary: Python runtime libraries
# mimalloc is MIT
# parts of asyncio from uvloop are MIT
# Python/qsbr.c is adapted from code under BSD-2-Clause
+# An extract of the `Unicode Character Database` converted to an internal format is Unicode-3.0
# Bundled libb2 is not declared in the upstream document, but it's:
# CC0-1.0, covered by grandfathering exception
# We don't query upstream for changes, as 3.13 is the last Python version containing it.
-%global libs_license Python-2.0.1 AND CC0-1.0 AND MIT AND BSD-3-Clause AND MIT-CMU AND HPND-SMC AND BSD-2-Clause AND dtoa
+%global libs_license Python-2.0.1 AND CC0-1.0 AND MIT AND BSD-3-Clause AND MIT-CMU AND HPND-SMC AND BSD-2-Clause AND dtoa AND Unicode-3.0
%if %{with rpmwheels}
Requires: %{python_wheel_pkg_prefix}-pip-wheel >= 23.1.2
License: %{libs_license}
@@ -1364,6 +1359,7 @@ CheckPython() {
# test.test_concurrent_futures.test_deadlock tends to time out on s390x and ppc64le in
# freethreading{,-debug} build, skipping it to shorten the build time
# see: https://github.com/python/cpython/issues/121719
+ # test_subparser_inherits_reparse_deferral: https://github.com/python/cpython/issues/155485
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \
-wW --slowest %{_smp_mflags} \
%ifarch riscv64
@@ -1380,6 +1376,9 @@ CheckPython() {
-x test_signal \
-i test_deadlock \
%endif
+ %if 0%{?rhel} == 9
+ -i test_subparser_inherits_reparse_deferral \
+ %endif
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
@@ -1811,6 +1810,9 @@ CheckPython freethreading
# ======================================================
%changelog
+* Mon Aug 10 2026 Karolina Surma <ksurma@redhat.com> - 3.13.15-1
+- Update to Python 3.13.15
+
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
diff --git a/sources b/sources
index 69e5ac7..d6a2436 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (Python-3.13.14.tar.xz) = 0790da65f8ce88a13b06d3b287ace5a1f36b0a8f630a3af00fbbdf93b6ef0944dea05173a20c9e1336d280ef9a97ae2b95a44a4b487a7bbb71fda53b6331c0eb
-SHA512 (Python-3.13.14.tar.xz.asc) = a5cfab862ac03447838d13c4d1a9b085a8c8a947c958fd42cecb42929817b1448c1b23a124c87456abd43a1cadfcfb427f394eead9eaf0b84f3296fa263dba6c
+SHA512 (Python-3.13.15.tar.xz) = b0ab766a3de0b4cfdbf0b93300d7330c734d3f7057577bb03e95e39da4cdade81993e769c7fa6dfdcc13b9d43a3b399d9cd89b5477b413662e9e691c1b7886b8
+SHA512 (Python-3.13.15.tar.xz.asc) = 662c00be95f62e80db43cf42099fef91f764ff7a4433cadf7eb19dedb5e4775adb12878d5ed2295fcea187731de186163ad9672ab72cde62a2335ca58ec1ad86
reply other threads:[~2026-08-12 8:37 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178652385052.1.5706550722298040790.rpms-python3.13-b93f3ee7d7c8@fedoraproject.org \
--to=ksurma@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox