[packages/python3/PYTHON_3_13] Up to 3.13.13

arekm arekm at pld-linux.org
Sat Apr 11 15:24:16 CEST 2026


commit a3caa662e626359a79ec010a4237bb25c763c8d6
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sat Apr 11 15:24:00 2026 +0200

    Up to 3.13.13

 python3-test-subprocess-userns.patch | 28 ++++++++++++++++++++++++++++
 python3-test-unlink-rofs.patch       | 15 +++++++++++++++
 python3.spec                         |  8 ++++++--
 3 files changed, 49 insertions(+), 2 deletions(-)
---
diff --git a/python3.spec b/python3.spec
index 61dc2cf..c097cde 100644
--- a/python3.spec
+++ b/python3.spec
@@ -48,13 +48,13 @@ Summary(ru.UTF-8):	Язык программирования очень высо
 Summary(tr.UTF-8):	X arayüzlü, yüksek düzeyli, kabuk yorumlayıcı dili
 Summary(uk.UTF-8):	Мова програмування дуже високого рівня з X-інтерфейсом
 Name:		python3
-Version:	%{py_ver}.12
+Version:	%{py_ver}.13
 Release:	1
 Epoch:		1
 License:	PSF
 Group:		Development/Languages/Python
 Source0:	https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
-# Source0-md5:	611a209f36956c9c7f9627c03ce40ea3
+# Source0-md5:	3a19dd420883dd599728c9dd07c141e7
 Source1:	pyconfig.h.in
 # https://peps.python.org/pep-0668/
 Source2:	externally-managed
@@ -70,6 +70,8 @@ Patch11:	%{name}-installcompile.patch
 
 Patch14:	python3-profile-tests.patch
 Patch15:	python3-tests.patch
+Patch16:	python3-test-unlink-rofs.patch
+Patch17:	python3-test-subprocess-userns.patch
 URL:		https://www.python.org/
 BuildRequires:	autoconf >= 2.65
 BuildRequires:	autoconf-archive
@@ -483,6 +485,8 @@ Moduły testowe dla Pythona.
 
 %patch -P 14 -p1
 %patch -P 15 -p1
+%patch -P 16 -p1
+%patch -P 17 -p1
 
 %{__rm} -r Modules/expat
 
diff --git a/python3-test-subprocess-userns.patch b/python3-test-subprocess-userns.patch
new file mode 100644
index 0000000..67079ef
--- /dev/null
+++ b/python3-test-subprocess-userns.patch
@@ -0,0 +1,28 @@
+Make test_subprocess.test_user / test_group tolerate user namespace
+builder sandboxes where setregid / setreuid return EINVAL for unmapped
+uid/gid values instead of EPERM/EACCES.
+
+--- Python-3.13.13/Lib/test/test_subprocess.py.orig	2025-11-10 00:00:00.000000000 +0100
++++ Python-3.13.13/Lib/test/test_subprocess.py	2025-11-10 00:00:00.000000000 +0100
+@@ -2202,6 +2202,10 @@ class POSIXProcessTestCase(BaseTestCase,
+                             self.assertEqual(e.filename, sys.executable)
+                         else:
+                             self.assertIsNone(e.filename)
++                    except OSError as e:
++                        if e.errno != errno.EINVAL:
++                            raise
++                        self.skipTest("setreuid() EINVAL; unmapped uid in user namespace")
+                     else:
+                         if isinstance(user, str):
+                             user_uid = pwd.getpwnam(user).pw_uid
+@@ -2248,6 +2252,10 @@ class POSIXProcessTestCase(BaseTestCase,
+                                 close_fds=close_fds)
+                     except PermissionError as e:  # (EACCES, EPERM)
+                         self.assertIsNone(e.filename)
++                    except OSError as e:
++                        if e.errno != errno.EINVAL:
++                            raise
++                        self.skipTest("setregid() EINVAL; unmapped gid in user namespace")
+                     else:
+                         if isinstance(group, str):
+                             group_gid = grp.getgrnam(group).gr_gid
diff --git a/python3-test-unlink-rofs.patch b/python3-test-unlink-rofs.patch
new file mode 100644
index 0000000..e056d1a
--- /dev/null
+++ b/python3-test-unlink-rofs.patch
@@ -0,0 +1,15 @@
+--- Python-3.13.13/Lib/test/support/os_helper.py.orig	2025-11-10 00:00:00.000000000 +0100
++++ Python-3.13.13/Lib/test/support/os_helper.py	2025-11-10 00:00:00.000000000 +0100
+@@ -345,6 +345,12 @@ def unlink(filename):
+         _unlink(filename)
+     except (FileNotFoundError, NotADirectoryError):
+         pass
++    except OSError as e:
++        # On a read-only filesystem, unlink of a non-existent file may
++        # raise EROFS instead of ENOENT. Treat it like a missing file.
++        if e.errno == errno.EROFS and not os.path.lexists(filename):
++            return
++        raise
+
+
+ if sys.platform.startswith("win"):
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python3.git/commitdiff/a3caa662e626359a79ec010a4237bb25c763c8d6



More information about the pld-cvs-commit mailing list