summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Marko <peter.marko@siemens.com>2025-06-08 23:43:27 +0200
committerSteve Sakoman <steve@sakoman.com>2025-06-13 08:58:01 -0700
commitc4f82e3fd561ac83c8c836e43d701cff36ca2f42 (patch)
tree27711273b06a4a06364b1e56b0392f3df8a1856d
parent82e8f8c2e08c48229154ce3fbc599e4112b72d58 (diff)
downloadpoky-c4f82e3fd561ac83c8c836e43d701cff36ca2f42.tar.gz
python3: upgrade 3.12.9 -> 3.12.11
Drop upstreamed patch and refresh remaining patches. * https://www.python.org/downloads/release/python-31210/ Python 3.12.10 is the latest maintenance release of Python 3.12, and the last full maintenance release. Subsequent releases of 3.12 will be security-fixes only. * https://www.python.org/downloads/release/python-31211/ Security content in this release * gh-135034: [CVE 2024-12718] [CVE 2025-4138] [CVE 2025-4330] [CVE 2025-4435] [CVE 2025-4517] Fixes multiple issues that allowed tarfile extraction filters (filter="data" and filter="tar") to be bypassed using crafted symlinks and hard links. * gh-133767: Fix use-after-free in the “unicode-escape” decoder with a non-“strict” error handler. * gh-128840: Short-circuit the processing of long IPv6 addresses early in ipaddress to prevent excessive memory consumption and a minor denial-of-service. gh-133767 got meawhile CVE-2025-4516 assigned. (From OE-Core rev: 6cca08b2857efd5481e837ecd6bb295cb8a99ee1) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch6
-rw-r--r--meta/recipes-devtools/python/python3/0001-ctypes-correct-gcc-check-in-test.patch53
-rw-r--r--meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch2
-rw-r--r--meta/recipes-devtools/python/python3/makerace.patch2
-rw-r--r--meta/recipes-devtools/python/python3_3.12.11.bb (renamed from meta/recipes-devtools/python/python3_3.12.9.bb)3
9 files changed, 10 insertions, 64 deletions
diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
index 6e4930b9ec..a8f98d873e 100644
--- a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
+++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
@@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
19index 2d235d2..1ac2263 100644 19index 2d235d2..1ac2263 100644
20--- a/Makefile.pre.in 20--- a/Makefile.pre.in
21+++ b/Makefile.pre.in 21+++ b/Makefile.pre.in
22@@ -2355,6 +2355,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh 22@@ -2356,6 +2356,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
23 @ # Substitution happens here, as the completely-expanded BINDIR 23 @ # Substitution happens here, as the completely-expanded BINDIR
24 @ # is not available in configure 24 @ # is not available in configure
25 sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py 25 sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py
diff --git a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
index 1b9f3565d3..c42a56bcb3 100644
--- a/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
+++ b/meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
@@ -17,7 +17,7 @@ diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
17index 6258b68..d59ec6e 100644 17index 6258b68..d59ec6e 100644
18--- a/Lib/sysconfig.py 18--- a/Lib/sysconfig.py
19+++ b/Lib/sysconfig.py 19+++ b/Lib/sysconfig.py
20@@ -668,6 +668,11 @@ def _init_config_vars(): 20@@ -675,6 +675,11 @@ def _init_config_vars():
21 _CONFIG_VARS['VPATH'] = sys._vpath 21 _CONFIG_VARS['VPATH'] = sys._vpath
22 if os.name == 'posix': 22 if os.name == 'posix':
23 _init_posix(_CONFIG_VARS) 23 _init_posix(_CONFIG_VARS)
diff --git a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
index ec3bb9cbbd..051ec2c635 100644
--- a/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
+++ b/meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
@@ -26,7 +26,7 @@ diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.
26index 3b4415b..1f94dec 100644 26index 3b4415b..1f94dec 100644
27--- a/Lib/test/_test_multiprocessing.py 27--- a/Lib/test/_test_multiprocessing.py
28+++ b/Lib/test/_test_multiprocessing.py 28+++ b/Lib/test/_test_multiprocessing.py
29@@ -688,6 +688,7 @@ class _TestProcess(BaseTestCase): 29@@ -692,6 +692,7 @@ class _TestProcess(BaseTestCase):
30 close_queue(q) 30 close_queue(q)
31 31
32 @support.requires_resource('walltime') 32 @support.requires_resource('walltime')
@@ -34,7 +34,7 @@ index 3b4415b..1f94dec 100644
34 def test_many_processes(self): 34 def test_many_processes(self):
35 if self.TYPE == 'threads': 35 if self.TYPE == 'threads':
36 self.skipTest('test not appropriate for {}'.format(self.TYPE)) 36 self.skipTest('test not appropriate for {}'.format(self.TYPE))
37@@ -2211,6 +2212,7 @@ class _TestBarrier(BaseTestCase): 37@@ -2223,6 +2224,7 @@ class _TestBarrier(BaseTestCase):
38 except threading.BrokenBarrierError: 38 except threading.BrokenBarrierError:
39 results.append(True) 39 results.append(True)
40 40
@@ -42,7 +42,7 @@ index 3b4415b..1f94dec 100644
42 def test_timeout(self): 42 def test_timeout(self):
43 """ 43 """
44 Test wait(timeout) 44 Test wait(timeout)
45@@ -5208,6 +5210,7 @@ class TestWait(unittest.TestCase): 45@@ -5220,6 +5222,7 @@ class TestWait(unittest.TestCase):
46 time.sleep(period) 46 time.sleep(period)
47 47
48 @support.requires_resource('walltime') 48 @support.requires_resource('walltime')
diff --git a/meta/recipes-devtools/python/python3/0001-ctypes-correct-gcc-check-in-test.patch b/meta/recipes-devtools/python/python3/0001-ctypes-correct-gcc-check-in-test.patch
deleted file mode 100644
index 3dd762e519..0000000000
--- a/meta/recipes-devtools/python/python3/0001-ctypes-correct-gcc-check-in-test.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From 2e2a0c8593a38f2020cc2baeeaa7972eb86773f9 Mon Sep 17 00:00:00 2001
2From: Peter Marko <peter.marko@siemens.com>
3Date: Sat, 8 Feb 2025 23:57:17 +0100
4Subject: [PATCH] ctypes: correct gcc check in test
5
6In case gcc is not available, it will throw exception and test fails.
7So chatch the exception to skip the test correctly.
8
9======================================================================
10ERROR: test_null_dlsym (test.test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym)
11----------------------------------------------------------------------
12Traceback (most recent call last):
13 File "/usr/lib/python3.12/test/test_ctypes/test_dlerror.py", line 61, in test_null_dlsym
14 retcode = subprocess.call(["gcc", "--version"],
15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16 File "/usr/lib/python3.12/subprocess.py", line 391, in call
17 with Popen(*popenargs, **kwargs) as p:
18 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
19 File "/usr/lib/python3.12/subprocess.py", line 1028, in __init__
20 self._execute_child(args, executable, preexec_fn, close_fds,
21 File "/usr/lib/python3.12/subprocess.py", line 1963, in _execute_child
22 raise child_exception_type(errno_num, err_msg, err_filename)
23FileNotFoundError: [Errno 2] No such file or directory: 'gcc'
24
25Upstream-Status: Submitted [https://github.com/python/cpython/pull/129872]
26Signed-off-by: Peter Marko <peter.marko@siemens.com>
27---
28 Lib/test/test_ctypes/test_dlerror.py | 11 +++++++----
29 1 file changed, 7 insertions(+), 4 deletions(-)
30
31diff --git a/Lib/test/test_ctypes/test_dlerror.py b/Lib/test/test_ctypes/test_dlerror.py
32index 6bf492399cb..56eb7622b4d 100644
33--- a/Lib/test/test_ctypes/test_dlerror.py
34+++ b/Lib/test/test_ctypes/test_dlerror.py
35@@ -58,11 +58,14 @@ def test_null_dlsym(self):
36 import subprocess
37 import tempfile
38
39- retcode = subprocess.call(["gcc", "--version"],
40- stdout=subprocess.DEVNULL,
41- stderr=subprocess.DEVNULL)
42- if retcode != 0:
43+ try:
44+ retcode = subprocess.call(["gcc", "--version"],
45+ stdout=subprocess.DEVNULL,
46+ stderr=subprocess.DEVNULL)
47+ except:
48 self.skipTest("gcc is missing")
49+ if retcode != 0:
50+ self.skipTest("gcc is not working")
51
52 pipe_r, pipe_w = os.pipe()
53 self.addCleanup(os.close, pipe_r)
diff --git a/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch b/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch
index 5c74443e62..1cffdd6e05 100644
--- a/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch
+++ b/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch
@@ -16,7 +16,7 @@ diff --git a/Lib/tarfile.py b/Lib/tarfile.py
16index 0a0f31e..4dfb67d 100755 16index 0a0f31e..4dfb67d 100755
17--- a/Lib/tarfile.py 17--- a/Lib/tarfile.py
18+++ b/Lib/tarfile.py 18+++ b/Lib/tarfile.py
19@@ -2590,7 +2590,8 @@ class TarFile(object): 19@@ -2685,7 +2685,8 @@ class TarFile(object):
20 os.lchown(targetpath, u, g) 20 os.lchown(targetpath, u, g)
21 else: 21 else:
22 os.chown(targetpath, u, g) 22 os.chown(targetpath, u, g)
diff --git a/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch b/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
index e105f36eca..4920cb9ad9 100644
--- a/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
+++ b/meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch
@@ -19,7 +19,7 @@ diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
19index c71c568..e41ab5e 100644 19index c71c568..e41ab5e 100644
20--- a/Lib/test/test_builtin.py 20--- a/Lib/test/test_builtin.py
21+++ b/Lib/test/test_builtin.py 21+++ b/Lib/test/test_builtin.py
22@@ -2352,6 +2352,7 @@ class PtyTests(unittest.TestCase): 22@@ -2375,6 +2375,7 @@ class PtyTests(unittest.TestCase):
23 # Check stdin/stdout error handler is used when invoking PyOS_Readline() 23 # Check stdin/stdout error handler is used when invoking PyOS_Readline()
24 self.check_input_tty("prompté", b"quux\xe9", "ascii") 24 self.check_input_tty("prompté", b"quux\xe9", "ascii")
25 25
diff --git a/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch b/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
index 22aabbb2ed..88cd93a51f 100644
--- a/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
+++ b/meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch
@@ -19,7 +19,7 @@ diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
19index 4c4a449..b8c79a4 100644 19index 4c4a449..b8c79a4 100644
20--- a/Lib/test/test_ftplib.py 20--- a/Lib/test/test_ftplib.py
21+++ b/Lib/test/test_ftplib.py 21+++ b/Lib/test/test_ftplib.py
22@@ -626,6 +626,7 @@ class TestFTPClass(TestCase): 22@@ -629,6 +629,7 @@ class TestFTPClass(TestCase):
23 self.client.storbinary('stor', f, rest=r) 23 self.client.storbinary('stor', f, rest=r)
24 self.assertEqual(self.server.handler_instance.rest, str(r)) 24 self.assertEqual(self.server.handler_instance.rest, str(r))
25 25
diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch
index 862b648685..fbe12a5fca 100644
--- a/meta/recipes-devtools/python/python3/makerace.patch
+++ b/meta/recipes-devtools/python/python3/makerace.patch
@@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in
20index dce36a5..2d235d2 100644 20index dce36a5..2d235d2 100644
21--- a/Makefile.pre.in 21--- a/Makefile.pre.in
22+++ b/Makefile.pre.in 22+++ b/Makefile.pre.in
23@@ -2266,7 +2266,7 @@ COMPILEALL_OPTS=-j0 23@@ -2267,7 +2267,7 @@ COMPILEALL_OPTS=-j0
24 TEST_MODULES=@TEST_MODULES@ 24 TEST_MODULES=@TEST_MODULES@
25 25
26 .PHONY: libinstall 26 .PHONY: libinstall
diff --git a/meta/recipes-devtools/python/python3_3.12.9.bb b/meta/recipes-devtools/python/python3_3.12.11.bb
index 8e03ff5f2b..706dabb5cd 100644
--- a/meta/recipes-devtools/python/python3_3.12.9.bb
+++ b/meta/recipes-devtools/python/python3_3.12.11.bb
@@ -34,14 +34,13 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
34 file://0001-test_deadlock-skip-problematic-test.patch \ 34 file://0001-test_deadlock-skip-problematic-test.patch \
35 file://0001-test_active_children-skip-problematic-test.patch \ 35 file://0001-test_active_children-skip-problematic-test.patch \
36 file://0001-test_readline-skip-limited-history-test.patch \ 36 file://0001-test_readline-skip-limited-history-test.patch \
37 file://0001-ctypes-correct-gcc-check-in-test.patch \
38 " 37 "
39 38
40SRC_URI:append:class-native = " \ 39SRC_URI:append:class-native = " \
41 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ 40 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
42 " 41 "
43 42
44SRC_URI[sha256sum] = "7220835d9f90b37c006e9842a8dff4580aaca4318674f947302b8d28f3f81112" 43SRC_URI[sha256sum] = "c30bb24b7f1e9a19b11b55a546434f74e739bb4c271a3e3a80ff4380d49f7adb"
45 44
46# exclude pre-releases for both python 2.x and 3.x 45# exclude pre-releases for both python 2.x and 3.x
47UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" 46UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"