summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2024-01-16 12:08:14 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-01-19 12:21:22 +0000
commit78e30d940d1a931c65a14d864494d92f0889035e (patch)
tree32e87ef22610ef937dd5e1b9a604d0deacf39107
parent375ac472d848eb6bdd17656cfe005c905025ffab (diff)
downloadpoky-78e30d940d1a931c65a14d864494d92f0889035e.tar.gz
python: update 3.11.5 -> 3.12.1
Drop distutils and smtpd modules from packaging, as both are gone in 3.12. Rebase: 0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch (drop setup.py chunk as the file is gone) Drop patches: 0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch (setup.py gone, lib/termcap not mentioned anywhere else) 0001-Don-t-search-system-for-headers-libraries.patch (setup.py gone, usr/lib64 not mentioned anywhere else) 0001-Makefile-do-not-compile-.pyc-in-parallel.patch (replaced with COMPILEALL_OPTS= in EXTRA_OEMAKE) 0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch (setup.py gone, add_multiarch_paths not mentioned anywhere else) 0017-setup.py-do-not-report-missing-dependencies-for-disa.patch (has been superseded by Setup.local tweak in do_configure:prepend) 12-distutils-prefix-is-inside-staging-area.patch (distutils has been removed upstream, so this old, unplesant hack can be finally dropped) avoid_warning_about_tkinter.patch (setup.py gone, tkinter detection logic performed in configure.ac) (From OE-Core rev: 716d82352545d3667a658b69d65d6127678dd150) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes-recipe/python3-dir.bbclass2
-rw-r--r--meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch8
-rw-r--r--meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch25
-rw-r--r--meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch27
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch6
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch30
-rw-r--r--meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch65
-rw-r--r--meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch16
-rw-r--r--meta/recipes-devtools/python/python3/0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch24
-rw-r--r--meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch10
-rw-r--r--meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch44
-rw-r--r--meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch42
-rw-r--r--meta/recipes-devtools/python/python3/0001-skip-no_stdout_fileno-test-due-to-load-variability.patch10
-rw-r--r--meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch6
-rw-r--r--meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch10
-rw-r--r--meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch6
-rw-r--r--meta/recipes-devtools/python/python3/0001-test_storlines-skip-due-to-load-variability.patch10
-rw-r--r--meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch38
-rw-r--r--meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch37
-rw-r--r--meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch58
-rw-r--r--meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch30
-rw-r--r--meta/recipes-devtools/python/python3/cgi_py.patch4
-rw-r--r--meta/recipes-devtools/python/python3/crosspythonpath.patch6
-rw-r--r--meta/recipes-devtools/python/python3/deterministic_imports.patch18
-rw-r--r--meta/recipes-devtools/python/python3/makerace.patch10
-rw-r--r--meta/recipes-devtools/python/python3/python3-manifest.json100
-rw-r--r--meta/recipes-devtools/python/python3_3.12.1.bb (renamed from meta/recipes-devtools/python/python3_3.11.5.bb)27
27 files changed, 154 insertions, 515 deletions
diff --git a/meta/classes-recipe/python3-dir.bbclass b/meta/classes-recipe/python3-dir.bbclass
index d93d337f76..3d07de99b8 100644
--- a/meta/classes-recipe/python3-dir.bbclass
+++ b/meta/classes-recipe/python3-dir.bbclass
@@ -4,7 +4,7 @@
4# SPDX-License-Identifier: MIT 4# SPDX-License-Identifier: MIT
5# 5#
6 6
7PYTHON_BASEVERSION = "3.11" 7PYTHON_BASEVERSION = "3.12"
8PYTHON_ABI = "" 8PYTHON_ABI = ""
9PYTHON_DIR = "python${PYTHON_BASEVERSION}" 9PYTHON_DIR = "python${PYTHON_BASEVERSION}"
10PYTHON_PN = "python3" 10PYTHON_PN = "python3"
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 db08435004..03ecda98c2 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
@@ -1,4 +1,4 @@
1From 78f482b91d94b44a02e02c4580166757119061ea Mon Sep 17 00:00:00 2001 1From 33bf96f31c4873032ace2cc9afacc3785997527a Mon Sep 17 00:00:00 2001
2From: Paulo Neves <ptsneves@gmail.com> 2From: Paulo Neves <ptsneves@gmail.com>
3Date: Tue, 7 Jun 2022 16:16:41 +0200 3Date: Tue, 7 Jun 2022 16:16:41 +0200
4Subject: [PATCH] Avoid shebang overflow on python-config.py 4Subject: [PATCH] Avoid shebang overflow on python-config.py
@@ -17,13 +17,13 @@ Upstream-Status: Denied [distribution]
17 1 file changed, 2 insertions(+) 17 1 file changed, 2 insertions(+)
18 18
19diff --git a/Makefile.pre.in b/Makefile.pre.in 19diff --git a/Makefile.pre.in b/Makefile.pre.in
20index 55c7c46..1f6500a 100644 20index fb0b525..75d2e73 100644
21--- a/Makefile.pre.in 21--- a/Makefile.pre.in
22+++ b/Makefile.pre.in 22+++ b/Makefile.pre.in
23@@ -2115,6 +2115,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh 23@@ -2335,6 +2335,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
24 @ # Substitution happens here, as the completely-expanded BINDIR 24 @ # Substitution happens here, as the completely-expanded BINDIR
25 @ # is not available in configure 25 @ # is not available in configure
26 sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py 26 sed -e "s,@EXENAME@,$(EXENAME)," < $(srcdir)/Misc/python-config.in >python-config.py
27+ @ # Otherwise we might get huge shebangs with native paths 27+ @ # Otherwise we might get huge shebangs with native paths
28+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py 28+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py
29 @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} 29 @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
deleted file mode 100644
index 16a4185704..0000000000
--- a/meta/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 93ae2ed3fc8be0245e35063c4f63626792f4cd0c Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 25 Jan 2019 19:04:13 +0100
4Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host
5 contamination
6
7Upstream-Status: Inappropriate [oe-core specific]
8Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9
10---
11 setup.py | 1 -
12 1 file changed, 1 deletion(-)
13
14diff --git a/setup.py b/setup.py
15index 15d0d45..37ed244 100644
16--- a/setup.py
17+++ b/setup.py
18@@ -1109,7 +1109,6 @@ class PyBuildExt(build_ext):
19 'termcap'):
20 readline_libs.append('termcap')
21 self.add(Extension('readline', ['readline.c'],
22- library_dirs=['/usr/lib/termcap'],
23 libraries=readline_libs))
24 else:
25 self.missing.append('readline')
diff --git a/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
deleted file mode 100644
index 222a567dd5..0000000000
--- a/meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From aa8f1709c54557d2b51a9a37d15ccc3de62e90cb Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Wed, 4 Mar 2020 00:06:42 +0000
4Subject: [PATCH] Don't search system for headers/libraries
5
6Upstream-Status: Inappropriate [oe-core specific]
7Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
8
9---
10 setup.py | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/setup.py b/setup.py
14index 6811951..65ae476 100644
15--- a/setup.py
16+++ b/setup.py
17@@ -877,8 +877,8 @@ class PyBuildExt(build_ext):
18 add_dir_to_list(self.compiler.include_dirs,
19 sysconfig.get_config_var("INCLUDEDIR"))
20
21- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']
22- system_include_dirs = ['/usr/include']
23+ system_lib_dirs = []
24+ system_include_dirs = []
25 # lib_dirs and inc_dirs are used to search for files;
26 # if a file is found in one of those directories, it can
27 # be assumed that no additional -I,-L directives are needed.
diff --git a/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch b/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
index 07c6aef9b9..026150f0e2 100644
--- a/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
+++ b/meta/recipes-devtools/python/python3/0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch
@@ -1,4 +1,4 @@
1From 7b0a14e7320078ac891d415cab9b7568e3f52ad8 Mon Sep 17 00:00:00 2001 1From f8a664cf1fc73e381d57d6927207286059744837 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de> 2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 16 Sep 2021 16:35:37 +0200 3Date: Thu, 16 Sep 2021 16:35:37 +0200
4Subject: [PATCH] Lib/pty.py: handle stdin I/O errors same way as master I/O 4Subject: [PATCH] Lib/pty.py: handle stdin I/O errors same way as master I/O
@@ -30,10 +30,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
30 1 file changed, 4 insertions(+), 1 deletion(-) 30 1 file changed, 4 insertions(+), 1 deletion(-)
31 31
32diff --git a/Lib/pty.py b/Lib/pty.py 32diff --git a/Lib/pty.py b/Lib/pty.py
33index fefb63a..4cef056 100644 33index 1d97994..fa8821b 100644
34--- a/Lib/pty.py 34--- a/Lib/pty.py
35+++ b/Lib/pty.py 35+++ b/Lib/pty.py
36@@ -184,7 +184,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read): 36@@ -178,7 +178,10 @@ def _copy(master_fd, master_read=_read, stdin_read=_read):
37 i_buf = i_buf[n:] 37 i_buf = i_buf[n:]
38 38
39 if stdin_avail and STDIN_FILENO in rfds: 39 if stdin_avail and STDIN_FILENO in rfds:
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 a0f3d72992..680254fab9 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
@@ -1,6 +1,6 @@
1From 512c617bd00b74b30a80dd56a12391de46e2b6cf Mon Sep 17 00:00:00 2001 1From 71c194077bb907bfe423d3f3275f33a6c8ca0e74 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de> 2From: Alexander Kanavin <alex@linutronix.de>
3Date: Fri, 10 Sep 2021 12:28:31 +0200 3Date: Fri, 17 Nov 2023 14:26:32 +0100
4Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration 4Subject: [PATCH] Lib/sysconfig.py: use prefix value from build configuration
5 file 5 file
6 6
@@ -15,18 +15,18 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
15 1 file changed, 5 insertions(+) 15 1 file changed, 5 insertions(+)
16 16
17diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py 17diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
18index 93c6f73..ff399e2 100644 18index 79c0510..91ebcb6 100644
19--- a/Lib/sysconfig.py 19--- a/Lib/sysconfig.py
20+++ b/Lib/sysconfig.py 20+++ b/Lib/sysconfig.py
21@@ -668,6 +668,11 @@ def get_config_vars(*args): 21@@ -668,6 +668,11 @@ def _init_config_vars():
22 _CONFIG_VARS['VPATH'] = sys._vpath 22 _CONFIG_VARS['VPATH'] = sys._vpath
23 if os.name == 'posix': 23 if os.name == 'posix':
24 _init_posix(_CONFIG_VARS) 24 _init_posix(_CONFIG_VARS)
25+ _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix'] 25+ _CONFIG_VARS['installed_base'] = _CONFIG_VARS['prefix']
26+ _CONFIG_VARS['base'] = _CONFIG_VARS['prefix'] 26+ _CONFIG_VARS['base'] = _CONFIG_VARS['prefix']
27+ _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix'] 27+ _CONFIG_VARS['installed_platbase'] = _CONFIG_VARS['prefix']
28+ _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix'] 28+ _CONFIG_VARS['platbase'] = _CONFIG_VARS['prefix']
29+ _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR'] 29+ _CONFIG_VARS['platlibdir'] = _CONFIG_VARS['PLATLIBDIR']
30 if _HAS_USER_BASE: 30 if _HAS_USER_BASE:
31 # Setting 'userbase' is done below the call to the 31 # Setting 'userbase' is done below the call to the
32 # init function to enable using 'get_config_var' in 32 # init function to enable using 'get_config_var' in
diff --git a/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch b/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
deleted file mode 100644
index 2f037ecb09..0000000000
--- a/meta/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From c960837b8fd83074bab5148236f3d0595468cea4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 16 Jan 2020 12:34:20 +0100
4Subject: [PATCH] Makefile: do not compile .pyc in parallel
5
6This was found to lock up builds, break reproducibility, and produce strange file ownership
7races.
8
9The upstream commit introducing the change was:
10https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
11
12The build lock up issue is reported here:
13https://bugs.python.org/issue45945
14
15The repro failures are documented here:
16https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/
17
18Upstream-Status: Inappropriate [see issues above]
19Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
20
21---
22 Makefile.pre.in | 12 ++++++------
23 1 file changed, 6 insertions(+), 6 deletions(-)
24
25diff --git a/Makefile.pre.in b/Makefile.pre.in
26index edd70d4..5e13ba2 100644
27--- a/Makefile.pre.in
28+++ b/Makefile.pre.in
29@@ -1601,30 +1601,30 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c
30 fi
31 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
32 $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
33- -j0 -d $(LIBDEST) -f \
34+ -d $(LIBDEST) -f \
35 -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
36 $(DESTDIR)$(LIBDEST)
37 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
38 $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
39- -j0 -d $(LIBDEST) -f \
40+ -d $(LIBDEST) -f \
41 -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
42 $(DESTDIR)$(LIBDEST)
43 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
44 $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
45- -j0 -d $(LIBDEST) -f \
46+ -d $(LIBDEST) -f \
47 -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
48 $(DESTDIR)$(LIBDEST)
49 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
50 $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
51- -j0 -d $(LIBDEST)/site-packages -f \
52+ -d $(LIBDEST)/site-packages -f \
53 -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
54 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
55 $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
56- -j0 -d $(LIBDEST)/site-packages -f \
57+ -d $(LIBDEST)/site-packages -f \
58 -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
59 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
60 $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
61- -j0 -d $(LIBDEST)/site-packages -f \
62+ -d $(LIBDEST)/site-packages -f \
63 -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
64 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
65 $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
diff --git a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
index e1dabc92a3..158cbf8ee0 100644
--- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
+++ b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -1,4 +1,4 @@
1From 9f85089cc3a21d5ff235bb37c6c9758f2b70497d Mon Sep 17 00:00:00 2001 1From ea8e486a416b90c562f3b33faa91d9d1d030be0e Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 30 Jan 2019 12:41:04 +0100 3Date: Wed, 30 Jan 2019 12:41:04 +0100
4Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data 4Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data
@@ -11,16 +11,16 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11 1 file changed, 1 insertion(+), 2 deletions(-) 11 1 file changed, 1 insertion(+), 2 deletions(-)
12 12
13diff --git a/Makefile.pre.in b/Makefile.pre.in 13diff --git a/Makefile.pre.in b/Makefile.pre.in
14index f0aedb7..edd70d4 100644 14index 7af1845..fc7ab79 100644
15--- a/Makefile.pre.in 15--- a/Makefile.pre.in
16+++ b/Makefile.pre.in 16+++ b/Makefile.pre.in
17@@ -519,8 +519,7 @@ build_all_generate_profile: 17@@ -656,8 +656,7 @@ profile-run-stamp:
18 $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)" 18 # enabled.
19 19 $(MAKE) profile-gen-stamp
20 run_profile_task: 20 # Next, run the profile task to generate the profile information.
21- @ # FIXME: can't run for a cross build 21- @ # FIXME: can't run for a cross build
22- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true 22- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
23+ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true 23+ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true
24
25 build_all_merge_profile:
26 $(LLVM_PROF_MERGER) 24 $(LLVM_PROF_MERGER)
25 # Remove profile generation binary since we are done with it.
26 $(MAKE) clean-retain-profile
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 a7d37266ef..edb85395ff 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
@@ -1,4 +1,4 @@
1From 0c8002d12149fdfbbcd9a9215876d474f157eb9c Mon Sep 17 00:00:00 2001 1From bafdd769330c9d49a066fb1427f451b8d253262d Mon Sep 17 00:00:00 2001
2From: Yi Fan Yu <yifan.yu@windriver.com> 2From: Yi Fan Yu <yifan.yu@windriver.com>
3Date: Thu, 1 Apr 2021 13:08:37 -0700 3Date: Thu, 1 Apr 2021 13:08:37 -0700
4Subject: [PATCH] Skip failing tests due to load variability on YP AB 4Subject: [PATCH] Skip failing tests due to load variability on YP AB
@@ -17,24 +17,25 @@ Skip two additional tests due to suspected load variability failures.
17[YOCTO #15177] 17[YOCTO #15177]
18 18
19Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> 19Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
20
20--- 21---
21 Lib/test/_test_multiprocessing.py | 3 +++ 22 Lib/test/_test_multiprocessing.py | 3 +++
22 Lib/test/test_time.py | 2 ++ 23 Lib/test/test_time.py | 2 ++
23 2 files changed, 5 insertions(+) 24 2 files changed, 5 insertions(+)
24 25
25diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py 26diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
26index b50a154320..b8b2c4204d 100644 27index d52b10c..5f0e4e3 100644
27--- a/Lib/test/_test_multiprocessing.py 28--- a/Lib/test/_test_multiprocessing.py
28+++ b/Lib/test/_test_multiprocessing.py 29+++ b/Lib/test/_test_multiprocessing.py
29@@ -618,6 +618,7 @@ def test_close(self): 30@@ -682,6 +682,7 @@ class _TestProcess(BaseTestCase):
30
31 close_queue(q) 31 close_queue(q)
32 32
33 @support.requires_resource('walltime')
33+ @unittest.skip('timing related test, dependent on load') 34+ @unittest.skip('timing related test, dependent on load')
34 def test_many_processes(self): 35 def test_many_processes(self):
35 if self.TYPE == 'threads': 36 if self.TYPE == 'threads':
36 self.skipTest('test not appropriate for {}'.format(self.TYPE)) 37 self.skipTest('test not appropriate for {}'.format(self.TYPE))
37@@ -2003,6 +2004,7 @@ def _test_timeout_f(cls, barrier, results): 38@@ -2066,6 +2067,7 @@ class _TestBarrier(BaseTestCase):
38 except threading.BrokenBarrierError: 39 except threading.BrokenBarrierError:
39 results.append(True) 40 results.append(True)
40 41
@@ -42,19 +43,19 @@ index b50a154320..b8b2c4204d 100644
42 def test_timeout(self): 43 def test_timeout(self):
43 """ 44 """
44 Test wait(timeout) 45 Test wait(timeout)
45@@ -4890,6 +4892,7 @@ def signal_and_sleep(cls, sem, period): 46@@ -4992,6 +4994,7 @@ class TestWait(unittest.TestCase):
46 sem.release()
47 time.sleep(period) 47 time.sleep(period)
48 48
49 @support.requires_resource('walltime')
49+ @unittest.skip('timing related test, dependent on load') 50+ @unittest.skip('timing related test, dependent on load')
50 def test_wait_integer(self): 51 def test_wait_integer(self):
51 from multiprocessing.connection import wait 52 from multiprocessing.connection import wait
52 53
53diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py 54diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
54index 884b14231f..8f0638c0d7 100644 55index 02cc3f4..51a4548 100644
55--- a/Lib/test/test_time.py 56--- a/Lib/test/test_time.py
56+++ b/Lib/test/test_time.py 57+++ b/Lib/test/test_time.py
57@@ -492,6 +492,7 @@ def test_perf_counter(self): 58@@ -492,6 +492,7 @@ class TimeTestCase(unittest.TestCase):
58 @unittest.skipIf( 59 @unittest.skipIf(
59 support.is_wasi, "process_time not available on WASI" 60 support.is_wasi, "process_time not available on WASI"
60 ) 61 )
@@ -62,7 +63,7 @@ index 884b14231f..8f0638c0d7 100644
62 def test_process_time(self): 63 def test_process_time(self):
63 # process_time() should not include time spend during a sleep 64 # process_time() should not include time spend during a sleep
64 start = time.process_time() 65 start = time.process_time()
65@@ -505,6 +506,7 @@ def test_process_time(self): 66@@ -505,6 +506,7 @@ class TimeTestCase(unittest.TestCase):
66 self.assertTrue(info.monotonic) 67 self.assertTrue(info.monotonic)
67 self.assertFalse(info.adjustable) 68 self.assertFalse(info.adjustable)
68 69
@@ -70,6 +71,3 @@ index 884b14231f..8f0638c0d7 100644
70 def test_thread_time(self): 71 def test_thread_time(self):
71 if not hasattr(time, 'thread_time'): 72 if not hasattr(time, 'thread_time'):
72 if sys.platform.startswith(('linux', 'win')): 73 if sys.platform.startswith(('linux', 'win')):
73--
742.41.0
75
diff --git a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
index 5e113415c2..b6c6ac5a28 100644
--- a/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
+++ b/meta/recipes-devtools/python/python3/0001-Update-test_sysconfig-for-posix_user-purelib.patch
@@ -1,4 +1,4 @@
1From b9f825b298b555c4770024d1f68ef1df65aad20a Mon Sep 17 00:00:00 2001 1From 37d058e841ba3bd89b5746cc5381afb014b11581 Mon Sep 17 00:00:00 2001
2From: Wentao Zhang <wentao.zhang@windriver.com> 2From: Wentao Zhang <wentao.zhang@windriver.com>
3Date: Mon, 20 Mar 2023 13:39:52 +0800 3Date: Mon, 20 Mar 2023 13:39:52 +0800
4Subject: [PATCH] Update test_sysconfig for posix_user purelib 4Subject: [PATCH] Update test_sysconfig for posix_user purelib
@@ -17,15 +17,16 @@ Update test_sysconfig.test_user_similar() for the posix_user scheme:
17 17
18Upstream-Status: Inappropriate [oe-core specific] 18Upstream-Status: Inappropriate [oe-core specific]
19Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com> 19Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
20
20--- 21---
21 Lib/test/test_sysconfig.py | 2 +- 22 Lib/test/test_sysconfig.py | 2 +-
22 1 file changed, 1 insertion(+), 1 deletion(-) 23 1 file changed, 1 insertion(+), 1 deletion(-)
23 24
24diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py 25diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
25index d96371d..20aea4b 100644 26index b6dbf3d..5672590 100644
26--- a/Lib/test/test_sysconfig.py 27--- a/Lib/test/test_sysconfig.py
27+++ b/Lib/test/test_sysconfig.py 28+++ b/Lib/test/test_sysconfig.py
28@@ -373,7 +373,7 @@ class TestSysConfig(unittest.TestCase): 29@@ -372,7 +372,7 @@ class TestSysConfig(unittest.TestCase):
29 expected = os.path.normpath(global_path.replace(base, user, 1)) 30 expected = os.path.normpath(global_path.replace(base, user, 1))
30 # bpo-44860: platlib of posix_user doesn't use sys.platlibdir, 31 # bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
31 # whereas posix_prefix does. 32 # whereas posix_prefix does.
@@ -34,6 +35,3 @@ index d96371d..20aea4b 100644
34 # Replace "/lib64/python3.11/site-packages" suffix 35 # Replace "/lib64/python3.11/site-packages" suffix
35 # with "/lib/python3.11/site-packages". 36 # with "/lib/python3.11/site-packages".
36 py_version_short = sysconfig.get_python_version() 37 py_version_short = sysconfig.get_python_version()
37--
382.25.1
39
diff --git a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
index ef8edca51f..d668858066 100644
--- a/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
+++ b/meta/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch
@@ -1,4 +1,4 @@
1From 4ba40ee527f844a804be571e52d9dc5447ae4cdd Mon Sep 17 00:00:00 2001 1From 0558745601cc72c8d6d79cd691f4b82330b29d58 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com> 2From: Changqing Li <changqing.li@windriver.com>
3Date: Mon, 22 Oct 2018 15:19:51 +0800 3Date: Mon, 22 Oct 2018 15:19:51 +0800
4Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler 4Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler
@@ -27,27 +27,27 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
27 1 file changed, 10 insertions(+), 9 deletions(-) 27 1 file changed, 10 insertions(+), 9 deletions(-)
28 28
29diff --git a/configure.ac b/configure.ac 29diff --git a/configure.ac b/configure.ac
30index 90008bc..bf56195 100644 30index bd2be94..cb9e198 100644
31--- a/configure.ac 31--- a/configure.ac
32+++ b/configure.ac 32+++ b/configure.ac
33@@ -134,6 +134,7 @@ AC_CONFIG_HEADERS([pyconfig.h]) 33@@ -137,6 +137,7 @@ AC_CONFIG_HEADERS([pyconfig.h])
34 AC_CANONICAL_HOST 34 AC_CANONICAL_HOST
35 AC_SUBST(build) 35 AC_SUBST([build])
36 AC_SUBST(host) 36 AC_SUBST([host])
37+LT_INIT 37+LT_INIT
38 38
39 AS_VAR_IF([cross_compiling], [maybe], 39 AS_VAR_IF([cross_compiling], [maybe],
40 [AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])] 40 [AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])]
41@@ -887,7 +888,7 @@ AC_MSG_RESULT($with_cxx_main) 41@@ -896,7 +897,7 @@ AC_SUBST([CXX])
42 preset_cxx="$CXX" 42 preset_cxx="$CXX"
43 if test -z "$CXX" 43 if test -z "$CXX"
44 then 44 then
45- case "$CC" in 45- case "$CC" in
46+ case "$cc_basename" in 46+ case "$cc_basename" in
47 gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;; 47 gcc) AC_PATH_TOOL([CXX], [g++], [g++], [notfound]) ;;
48 cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;; 48 cc) AC_PATH_TOOL([CXX], [c++], [c++], [notfound]) ;;
49 clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;; 49 clang|*/clang) AC_PATH_TOOL([CXX], [clang++], [clang++], [notfound]) ;;
50@@ -1300,7 +1301,7 @@ rmdir CaseSensitiveTestDir 50@@ -1328,7 +1329,7 @@ rmdir CaseSensitiveTestDir
51 51
52 case $ac_sys_system in 52 case $ac_sys_system in
53 hp*|HP*) 53 hp*|HP*)
@@ -56,16 +56,16 @@ index 90008bc..bf56195 100644
56 cc|*/cc) CC="$CC -Ae";; 56 cc|*/cc) CC="$CC -Ae";;
57 esac;; 57 esac;;
58 esac 58 esac
59@@ -1834,7 +1835,7 @@ esac 59@@ -1854,7 +1855,7 @@ esac
60 ], 60 ],
61 [AC_MSG_RESULT(no)]) 61 [AC_MSG_RESULT([no])])
62 if test "$Py_LTO" = 'true' ; then 62 if test "$Py_LTO" = 'true' ; then
63- case $CC in 63- case $CC in
64+ case $cc_basename in 64+ case $cc_basename in
65 *clang*) 65 *clang*)
66 LDFLAGS_NOLTO="-fno-lto" 66 LDFLAGS_NOLTO="-fno-lto"
67 dnl Clang linker requires -flto in order to link objects with LTO information. 67 dnl Clang linker requires -flto in order to link objects with LTO information.
68@@ -1955,7 +1956,7 @@ then 68@@ -1983,7 +1984,7 @@ then
69 fi 69 fi
70 fi 70 fi
71 LLVM_PROF_ERR=no 71 LLVM_PROF_ERR=no
@@ -74,7 +74,7 @@ index 90008bc..bf56195 100644
74 *clang*) 74 *clang*)
75 # Any changes made here should be reflected in the GCC+Darwin case below 75 # Any changes made here should be reflected in the GCC+Darwin case below
76 PGO_PROF_GEN_FLAG="-fprofile-instr-generate" 76 PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
77@@ -2016,7 +2017,7 @@ esac 77@@ -2147,7 +2148,7 @@ AC_MSG_RESULT([$BOLT_APPLY_FLAGS])
78 # compiler and platform. BASECFLAGS tweaks need to be made even if the 78 # compiler and platform. BASECFLAGS tweaks need to be made even if the
79 # user set OPT. 79 # user set OPT.
80 80
@@ -83,7 +83,7 @@ index 90008bc..bf56195 100644
83 *clang*) 83 *clang*)
84 cc_is_clang=1 84 cc_is_clang=1
85 ;; 85 ;;
86@@ -2235,7 +2236,7 @@ yes) 86@@ -2419,7 +2420,7 @@ yes)
87 87
88 # ICC doesn't recognize the option, but only emits a warning 88 # ICC doesn't recognize the option, but only emits a warning
89 ## XXX does it emit an unused result warning and can it be disabled? 89 ## XXX does it emit an unused result warning and can it be disabled?
@@ -92,16 +92,16 @@ index 90008bc..bf56195 100644
92 [*icc*], [ac_cv_disable_unused_result_warning=no] 92 [*icc*], [ac_cv_disable_unused_result_warning=no]
93 [PY_CHECK_CC_WARNING([disable], [unused-result])]) 93 [PY_CHECK_CC_WARNING([disable], [unused-result])])
94 AS_VAR_IF([ac_cv_disable_unused_result_warning], [yes], 94 AS_VAR_IF([ac_cv_disable_unused_result_warning], [yes],
95@@ -2477,7 +2478,7 @@ yes) 95@@ -2665,7 +2666,7 @@ yes)
96 ;; 96 ;;
97 esac 97 esac
98 98
99-case "$CC" in 99-case "$CC" in
100+case "$cc_basename" in 100+case "$cc_basename" in
101 *icc*) 101 *mpicc*)
102 # ICC needs -fp-model strict or floats behave badly 102 CFLAGS_NODIST="$CFLAGS_NODIST"
103 CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" 103 ;;
104@@ -3319,7 +3320,7 @@ then 104@@ -3482,7 +3483,7 @@ then
105 then 105 then
106 LINKFORSHARED="-Wl,--export-dynamic" 106 LINKFORSHARED="-Wl,--export-dynamic"
107 fi;; 107 fi;;
@@ -110,12 +110,12 @@ index 90008bc..bf56195 100644
110 *gcc*) 110 *gcc*)
111 if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null 111 if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null
112 then 112 then
113@@ -6410,7 +6411,7 @@ if test "$ac_cv_gcc_asm_for_x87" = yes; then 113@@ -6802,7 +6803,7 @@ if test "$ac_cv_gcc_asm_for_x87" = yes; then
114 # Some versions of gcc miscompile inline asm: 114 # Some versions of gcc miscompile inline asm:
115 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 115 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491
116 # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html 116 # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html
117- case $CC in 117- case $CC in
118+ case $cc_basename in 118+ case $cc_basename in
119 *gcc*) 119 *gcc*)
120 AC_MSG_CHECKING(for gcc ipa-pure-const bug) 120 AC_MSG_CHECKING([for gcc ipa-pure-const bug])
121 saved_cflags="$CFLAGS" 121 saved_cflags="$CFLAGS"
diff --git a/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch b/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch
deleted file mode 100644
index 1844e0efa3..0000000000
--- a/meta/recipes-devtools/python/python3/0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From dc966f1278c1077938626d682666767d2c8d0c72 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 9 Apr 2022 18:29:47 +0000
4Subject: [PATCH] setup.py: Do not detect multiarch paths when cross-compiling
5
6add_multiarch_paths() function relies on host tools like dpkg-configure
7to operate, which is not good when cross compiling, since it ends up
8adding native paths in includes in certain cases, e.g. when building
9for aarch64 targets using aarch64 build hosts running debian-like
10distributions e.g. ubuntu, it ends up adding native multiarch paths
11-I/usr/include/aarch64-linux-gnu during cross compile and since arches
12are so similar, cross compiler (epecially clang) is inhererently configured
13with multiarch ends up adding these paths to compiler cmdline which
14works ok with gcc since headers are similar but clang barfs on some gcc
15extentions and build fails due to missing gnu extentions but it silently
16compiles when using cross gcc.
17
18Fixes python3 cross build by not running this funciton when cross compiling
19
20Upstream-Status: Inappropriate [OE-Specific]
21Signed-off-by: Khem Raj <raj.khem@gmail.com>
22---
23 setup.py | 3 ++-
24 1 file changed, 2 insertions(+), 1 deletion(-)
25
26diff --git a/setup.py b/setup.py
27index 2e7f263..f7a3d39 100644
28--- a/setup.py
29+++ b/setup.py
30@@ -840,7 +840,8 @@ class PyBuildExt(build_ext):
31 # only change this for cross builds for 3.3, issues on Mageia
32 if CROSS_COMPILING:
33 self.add_cross_compiling_paths()
34- self.add_multiarch_paths()
35+ if not CROSS_COMPILING:
36+ self.add_multiarch_paths()
37 self.add_ldflags_cppflags()
38
39 def init_inc_lib_dirs(self):
40--
412.25.1
42
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 ff695a4091..cd112c06a8 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
@@ -1,4 +1,4 @@
1From 564d8f117fec7e573cbc10323655acefb12d143f Mon Sep 17 00:00:00 2001 1From 23184742b009ef1a8b2c0c2d79515334d4450cb9 Mon Sep 17 00:00:00 2001
2From: Trevor Gamblin <tgamblin@baylibre.com> 2From: Trevor Gamblin <tgamblin@baylibre.com>
3Date: Fri, 15 Sep 2023 08:48:33 -0400 3Date: Fri, 15 Sep 2023 08:48:33 -0400
4Subject: [PATCH] skip no_stdout_fileno test due to load variability 4Subject: [PATCH] skip no_stdout_fileno test due to load variability
@@ -11,15 +11,16 @@ Upstream-Status: Inappropriate [OE-Specific]
11[YOCTO #15210] 11[YOCTO #15210]
12 12
13Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> 13Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
14
14--- 15---
15 Lib/test/test_builtin.py | 1 + 16 Lib/test/test_builtin.py | 1 +
16 1 file changed, 1 insertion(+) 17 1 file changed, 1 insertion(+)
17 18
18diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py 19diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
19index 9078c409cc..615955c057 100644 20index de83b52..ba98fe8 100644
20--- a/Lib/test/test_builtin.py 21--- a/Lib/test/test_builtin.py
21+++ b/Lib/test/test_builtin.py 22+++ b/Lib/test/test_builtin.py
22@@ -2247,6 +2247,7 @@ def test_input_tty_non_ascii_unicode_errors(self): 23@@ -2300,6 +2300,7 @@ class PtyTests(unittest.TestCase):
23 # Check stdin/stdout error handler is used when invoking PyOS_Readline() 24 # Check stdin/stdout error handler is used when invoking PyOS_Readline()
24 self.check_input_tty("prompté", b"quux\xe9", "ascii") 25 self.check_input_tty("prompté", b"quux\xe9", "ascii")
25 26
@@ -27,6 +28,3 @@ index 9078c409cc..615955c057 100644
27 def test_input_no_stdout_fileno(self): 28 def test_input_no_stdout_fileno(self):
28 # Issue #24402: If stdin is the original terminal but stdout.fileno() 29 # Issue #24402: If stdin is the original terminal but stdout.fileno()
29 # fails, do not use the original stdout file descriptor 30 # fails, do not use the original stdout file descriptor
30--
312.41.0
32
diff --git a/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch b/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
index 4fb63a9b7a..fc52fdac26 100644
--- a/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
+++ b/meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
@@ -1,4 +1,4 @@
1From 9162460d81ccc725fb04a14b27d0bf4afcfb69c9 Mon Sep 17 00:00:00 2001 1From a5d429a0e1a4809c1ded7be7e45dcabeb82c53d8 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de> 2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sun, 12 Sep 2021 21:44:36 +0200 3Date: Sun, 12 Sep 2021 21:44:36 +0200
4Subject: [PATCH] sysconfig.py: use platlibdir also for purelib 4Subject: [PATCH] sysconfig.py: use platlibdir also for purelib
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py 16diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
17index daf9f00..e64bcdc 100644 17index 122d441..79c0510 100644
18--- a/Lib/sysconfig.py 18--- a/Lib/sysconfig.py
19+++ b/Lib/sysconfig.py 19+++ b/Lib/sysconfig.py
20@@ -27,7 +27,7 @@ _INSTALL_SCHEMES = { 20@@ -28,7 +28,7 @@ _INSTALL_SCHEMES = {
21 'posix_prefix': { 21 'posix_prefix': {
22 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}', 22 'stdlib': '{installed_base}/{platlibdir}/python{py_version_short}',
23 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}', 23 'platstdlib': '{platbase}/{platlibdir}/python{py_version_short}',
diff --git a/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch b/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
index 97150f2038..b4fe946cba 100644
--- a/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
+++ b/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch
@@ -1,4 +1,4 @@
1From 13aa6449c47980c7270dad2527c3911517bf34e6 Mon Sep 17 00:00:00 2001 1From b64c131a576a4b4f821514e711ab91b1394fb4ff Mon Sep 17 00:00:00 2001
2From: Tim Orling <timothy.t.orling@intel.com> 2From: Tim Orling <timothy.t.orling@intel.com>
3Date: Fri, 18 Jun 2021 11:56:50 -0700 3Date: Fri, 18 Jun 2021 11:56:50 -0700
4Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk 4Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk
@@ -12,13 +12,13 @@ Upstream-Status: Inappropriate [oe-specific]
12Signed-off-by: Tim Orling <timothy.t.orling@intel.com> 12Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
13 13
14--- 14---
15 Lib/ctypes/test/test_find.py | 2 ++ 15 Lib/test/test_ctypes/test_find.py | 2 ++
16 1 file changed, 2 insertions(+) 16 1 file changed, 2 insertions(+)
17 17
18diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py 18diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
19index 1ff9d01..59def26 100644 19index 1ff9d01..59def26 100644
20--- a/Lib/ctypes/test/test_find.py 20--- a/Lib/test/test_ctypes/test_find.py
21+++ b/Lib/ctypes/test/test_find.py 21+++ b/Lib/test/test_ctypes/test_find.py
22@@ -113,10 +113,12 @@ class FindLibraryLinux(unittest.TestCase): 22@@ -113,10 +113,12 @@ class FindLibraryLinux(unittest.TestCase):
23 # LD_LIBRARY_PATH) 23 # LD_LIBRARY_PATH)
24 self.assertEqual(find_library(libname), 'lib%s.so' % libname) 24 self.assertEqual(find_library(libname), 'lib%s.so' % libname)
diff --git a/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
index c762f98307..410a9fc7f1 100644
--- a/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
+++ b/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
@@ -1,4 +1,4 @@
1From 46856e692377d21be3562f6f90c242f5c9594ae2 Mon Sep 17 00:00:00 2001 1From ef5728f0af14da5c9f80b0f038fe5bf6d44cb0e9 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com> 2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Mon, 5 Aug 2019 15:57:39 +0800 3Date: Mon, 5 Aug 2019 15:57:39 +0800
4Subject: [PATCH] test_locale.py: correct the test output format 4Subject: [PATCH] test_locale.py: correct the test output format
@@ -32,10 +32,10 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
32 1 file changed, 1 insertion(+), 1 deletion(-) 32 1 file changed, 1 insertion(+), 1 deletion(-)
33 33
34diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py 34diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
35index f844e62..04df0c2 100644 35index b0d7998..cb12153 100644
36--- a/Lib/test/test_locale.py 36--- a/Lib/test/test_locale.py
37+++ b/Lib/test/test_locale.py 37+++ b/Lib/test/test_locale.py
38@@ -564,7 +564,7 @@ class TestMiscellaneous(unittest.TestCase): 38@@ -557,7 +557,7 @@ class TestMiscellaneous(unittest.TestCase):
39 self.skipTest('test needs Turkish locale') 39 self.skipTest('test needs Turkish locale')
40 loc = locale.getlocale(locale.LC_CTYPE) 40 loc = locale.getlocale(locale.LC_CTYPE)
41 if verbose: 41 if verbose:
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 199031d42a..0d0eb08459 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
@@ -1,4 +1,4 @@
1From 013ff01fdf2aa6ca69a7c80a2a2996630877e4ea Mon Sep 17 00:00:00 2001 1From dc69a1afdb3ba619705ff71e14f19ed3142e422f Mon Sep 17 00:00:00 2001
2From: Trevor Gamblin <tgamblin@baylibre.com> 2From: Trevor Gamblin <tgamblin@baylibre.com>
3Date: Fri, 6 Oct 2023 10:59:44 -0400 3Date: Fri, 6 Oct 2023 10:59:44 -0400
4Subject: [PATCH] test_storlines: skip due to load variability 4Subject: [PATCH] test_storlines: skip due to load variability
@@ -11,15 +11,16 @@ Upstream-Status: Inappropriate [OE-Specific]
11[YOCTO #14933] 11[YOCTO #14933]
12 12
13Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> 13Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
14
14--- 15---
15 Lib/test/test_ftplib.py | 1 + 16 Lib/test/test_ftplib.py | 1 +
16 1 file changed, 1 insertion(+) 17 1 file changed, 1 insertion(+)
17 18
18diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py 19diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
19index 082a90d46b..508814d56a 100644 20index 2f191ea..dc29346 100644
20--- a/Lib/test/test_ftplib.py 21--- a/Lib/test/test_ftplib.py
21+++ b/Lib/test/test_ftplib.py 22+++ b/Lib/test/test_ftplib.py
22@@ -629,6 +629,7 @@ def test_storbinary_rest(self): 23@@ -626,6 +626,7 @@ class TestFTPClass(TestCase):
23 self.client.storbinary('stor', f, rest=r) 24 self.client.storbinary('stor', f, rest=r)
24 self.assertEqual(self.server.handler_instance.rest, str(r)) 25 self.assertEqual(self.server.handler_instance.rest, str(r))
25 26
@@ -27,6 +28,3 @@ index 082a90d46b..508814d56a 100644
27 def test_storlines(self): 28 def test_storlines(self):
28 data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding) 29 data = RETR_DATA.replace('\r\n', '\n').encode(self.client.encoding)
29 f = io.BytesIO(data) 30 f = io.BytesIO(data)
30--
312.41.0
32
diff --git a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
deleted file mode 100644
index 041a03b0cd..0000000000
--- a/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 311cf9abc213fcd76795cc3a25814a15fb552065 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 7 Oct 2019 13:22:14 +0200
4Subject: [PATCH] setup.py: do not report missing dependencies for disabled
5 modules
6
7Reporting those missing dependencies is misleading as the modules would not
8have been built anyway. This particularly matters in oe-core's automated
9build completeness checker which relies on the report.
10
11Upstream-Status: Inappropriate [oe-core specific]
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
14Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
15
16---
17 setup.py | 8 ++++++++
18 1 file changed, 8 insertions(+)
19
20diff --git a/setup.py b/setup.py
21index 934cf2e..ccf83b4 100644
22--- a/setup.py
23+++ b/setup.py
24@@ -517,6 +517,14 @@ class PyBuildExt(build_ext):
25 print("%-*s %-*s %-*s" % (longest, e, longest, f,
26 longest, g))
27
28+ # There is no need to report missing module dependencies,
29+ # if the modules have been disabled in the first place.
30+ # cannot use mods_disabled here, because remove_configured_extensions adds
31+ # only disabled extensions into it (doesn't cover _dbm, _gdbm, readline
32+ # we support disabling through PACKAGECONFIG)
33+ sysconf_dis = sysconfig.get_config_var('MODDISABLED_NAMES').split()
34+ self.missing = list(set(self.missing) - set(sysconf_dis))
35+
36 if self.missing:
37 print()
38 print("The necessary bits to build these optional modules were not "
diff --git a/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch b/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
index 30d2906439..ed1c1b9975 100644
--- a/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
+++ b/meta/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch
@@ -1,8 +1,7 @@
1From 788cd0464ee2b175493a0167ceee8c0045ce323c Mon Sep 17 00:00:00 2001 1From 1438c3694665961aa9c478727846343ad31fa133 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sun, 16 Feb 2020 17:50:25 +0100 3Date: Fri, 17 Nov 2023 14:16:40 +0100
4Subject: [PATCH] configure.ac, setup.py: do not add a curses include path from 4Subject: [PATCH] configure.ac: do not add a curses include path from the host
5 the host
6 5
7This leads to host contamination, and particularly can cause 6This leads to host contamination, and particularly can cause
8curses modules to fail at runtime if the host curses is configured 7curses modules to fail at runtime if the host curses is configured
@@ -14,16 +13,15 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14 13
15--- 14---
16 configure.ac | 6 ------ 15 configure.ac | 6 ------
17 setup.py | 2 -- 16 1 file changed, 6 deletions(-)
18 2 files changed, 8 deletions(-)
19 17
20diff --git a/configure.ac b/configure.ac 18diff --git a/configure.ac b/configure.ac
21index e5e3df8..bfdd987 100644 19index d81c19a..b15b765 100644
22--- a/configure.ac 20--- a/configure.ac
23+++ b/configure.ac 21+++ b/configure.ac
24@@ -5092,12 +5092,6 @@ then 22@@ -6507,12 +6507,6 @@ AS_VAR_IF([have_panel], [no], [
25 [Define if you have struct stat.st_mtimensec]) 23 AC_MSG_RESULT([$have_panel (CFLAGS: $PANEL_CFLAGS, LIBS: $PANEL_LIBS)])
26 fi 24 ])
27 25
28-# first curses header check 26-# first curses header check
29-ac_save_cppflags="$CPPFLAGS" 27-ac_save_cppflags="$CPPFLAGS"
@@ -31,19 +29,6 @@ index e5e3df8..bfdd987 100644
31- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" 29- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"
32-fi 30-fi
33- 31-
34 AC_CHECK_HEADERS(curses.h ncurses.h)
35
36 # On Solaris, term.h requires curses.h 32 # On Solaris, term.h requires curses.h
37diff --git a/setup.py b/setup.py 33 AC_CHECK_HEADERS([term.h], [], [], [
38index 62f0e18..c190002 100644 34 #ifdef HAVE_CURSES_H
39--- a/setup.py
40+++ b/setup.py
41@@ -1169,8 +1169,6 @@ class PyBuildExt(build_ext):
42 panel_library = 'panel'
43 if curses_library == 'ncursesw':
44 curses_defines.append(('HAVE_NCURSESW', '1'))
45- if not CROSS_COMPILING:
46- curses_includes.append('/usr/include/ncursesw')
47 # Bug 1464056: If _curses.so links with ncursesw,
48 # _curses_panel.so must link with panelw.
49 panel_library = 'panelw'
diff --git a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
deleted file mode 100644
index bbdd8b586e..0000000000
--- a/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From 843574d5a5b0818e83e20f8c0389d567bd4733fb Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 14 May 2013 15:00:26 -0700
4Subject: [PATCH] python3: Add target and native recipes
5
6Upstream-Status: Inappropriate [embedded specific]
7
802/2015 Rebased for Python 3.4.2
9
10The proper prefix is inside our staging area.
11Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de>
12Signed-off-by: Phil Blundell <philb@gnu.org>
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
15
16---
17 Lib/distutils/sysconfig.py | 14 +++++++++++---
18 1 file changed, 11 insertions(+), 3 deletions(-)
19
20diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
21index 03b8558..57d193d 100644
22--- a/Lib/distutils/sysconfig.py
23+++ b/Lib/distutils/sysconfig.py
24@@ -272,7 +272,9 @@ def get_python_inc(plat_specific=0, prefix=None):
25 If 'prefix' is supplied, use it instead of sys.base_prefix or
26 sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
27 """
28- if prefix is None:
29+ if prefix is None and os.environ.get('STAGING_INCDIR', ""):
30+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
31+ elif prefix is None:
32 prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
33 if os.name == "posix":
34 if python_build:
35@@ -315,7 +317,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
36 If 'prefix' is supplied, use it instead of sys.base_prefix or
37 sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
38 """
39- if prefix is None:
40+ if os.environ.get('STAGING_LIBDIR', ""):
41+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
42+ else:
43+ lib_basename = "lib"
44+ if prefix is None and os.environ.get('STAGING_LIBDIR', ""):
45+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
46+ elif prefix is None:
47 if standard_lib:
48 prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
49 else:
50@@ -329,7 +337,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
51 else:
52 # Pure Python
53 libdir = "lib"
54- libpython = os.path.join(prefix, libdir,
55+ libpython = os.path.join(prefix, lib_basename,
56 "python" + get_python_version())
57 if standard_lib:
58 return libpython
diff --git a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
deleted file mode 100644
index 5a6cfc9572..0000000000
--- a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 627b8fe6b3c11e8bb1bb1ad1d6b816b79b8dd2ce Mon Sep 17 00:00:00 2001
2From: Andrei Gherzan <andrei@gherzan.ro>
3Date: Mon, 28 Jan 2019 15:57:54 +0000
4Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet
5 integrated in yocto so we skip the check for this module. Avoid a warning by
6 not adding this module to missing variable.
7
8Upstream-Status: Inappropriate [distribution]
9
10Also simply disable the tk module since its not in DEPENDS.
11Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
12---
13 setup.py | 1 -
14 1 file changed, 1 deletion(-)
15
16diff --git a/setup.py b/setup.py
17index 7555dcd..f29ac86 100644
18--- a/setup.py
19+++ b/setup.py
20@@ -1364,7 +1364,6 @@ class PyBuildExt(build_ext):
21 self.detect_decimal()
22 self.detect_ctypes()
23 self.detect_multiprocessing()
24- self.detect_tkinter()
25 self.detect_uuid()
26
27 # Uncomment the next line if you want to play with xxmodule.c
28--
292.30.2
30
diff --git a/meta/recipes-devtools/python/python3/cgi_py.patch b/meta/recipes-devtools/python/python3/cgi_py.patch
index 81e6099cfb..8262c88e73 100644
--- a/meta/recipes-devtools/python/python3/cgi_py.patch
+++ b/meta/recipes-devtools/python/python3/cgi_py.patch
@@ -1,4 +1,4 @@
1From 5b0d1212d661e9a8a36738279fc9109f96eebd25 Mon Sep 17 00:00:00 2001 1From a56778372fe8dc7c42f5ffd911d89498c22dd064 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@windriver.com> 2From: Mark Hatle <mark.hatle@windriver.com>
3Date: Wed, 21 Sep 2011 20:55:33 -0500 3Date: Wed, 21 Sep 2011 20:55:33 -0500
4Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment 4Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment
@@ -12,7 +12,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
12 1 file changed, 1 insertion(+), 10 deletions(-) 12 1 file changed, 1 insertion(+), 10 deletions(-)
13 13
14diff --git a/Lib/cgi.py b/Lib/cgi.py 14diff --git a/Lib/cgi.py b/Lib/cgi.py
15index 6cb8cf2..a873ff3 100755 15index 8787567..ebe8652 100755
16--- a/Lib/cgi.py 16--- a/Lib/cgi.py
17+++ b/Lib/cgi.py 17+++ b/Lib/cgi.py
18@@ -1,13 +1,4 @@ 18@@ -1,13 +1,4 @@
diff --git a/meta/recipes-devtools/python/python3/crosspythonpath.patch b/meta/recipes-devtools/python/python3/crosspythonpath.patch
index 2fbb17f118..2c4aef0511 100644
--- a/meta/recipes-devtools/python/python3/crosspythonpath.patch
+++ b/meta/recipes-devtools/python/python3/crosspythonpath.patch
@@ -1,4 +1,4 @@
1From 7d5fc6a86103d9bd4a274e9fd31b6987e39998a1 Mon Sep 17 00:00:00 2001 1From 5b66463c10fec1440e977d5a21a0167862d6d79c Mon Sep 17 00:00:00 2001
2From: Ricardo Ribalda <ricardo@ribalda.com> 2From: Ricardo Ribalda <ricardo@ribalda.com>
3Date: Tue, 18 Nov 2014 03:35:33 -0500 3Date: Tue, 18 Nov 2014 03:35:33 -0500
4Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for 4Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for
@@ -20,10 +20,10 @@ Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
20 1 file changed, 1 insertion(+), 1 deletion(-) 20 1 file changed, 1 insertion(+), 1 deletion(-)
21 21
22diff --git a/configure.ac b/configure.ac 22diff --git a/configure.ac b/configure.ac
23index 085fc0b..22790d7 100644 23index cb9e198..d81c19a 100644
24--- a/configure.ac 24--- a/configure.ac
25+++ b/configure.ac 25+++ b/configure.ac
26@@ -163,7 +163,7 @@ AC_ARG_WITH( 26@@ -165,7 +165,7 @@ AC_ARG_WITH([build-python],
27 dnl Build Python interpreter is used for regeneration and freezing. 27 dnl Build Python interpreter is used for regeneration and freezing.
28 ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python 28 ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python
29 PYTHON_FOR_FREEZE="$with_build_python" 29 PYTHON_FOR_FREEZE="$with_build_python"
diff --git a/meta/recipes-devtools/python/python3/deterministic_imports.patch b/meta/recipes-devtools/python/python3/deterministic_imports.patch
index 296b413cab..104df94964 100644
--- a/meta/recipes-devtools/python/python3/deterministic_imports.patch
+++ b/meta/recipes-devtools/python/python3/deterministic_imports.patch
@@ -1,3 +1,8 @@
1From 039d5e652796b55f1132afa568c7432b6ed89afd Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Fri, 27 May 2022 17:05:44 +0100
4Subject: [PATCH] python3: Ensure stale empty python module directories don't
5
1There are two issues here. Firstly, the modules are accessed in on disk order. This 6There are two issues here. Firstly, the modules are accessed in on disk order. This
2means behaviour seen on one system might not reproduce on another and is a real headache. 7means behaviour seen on one system might not reproduce on another and is a real headache.
3 8
@@ -9,12 +14,15 @@ As a result, patch this to a behaviour which works for us.
9Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes] 14Upstream-Status: Pending [need to talk to upstream to see if they'll take one or both fixes]
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 15Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11 16
17---
18 Lib/importlib/metadata/__init__.py | 9 ++++++++-
19 1 file changed, 8 insertions(+), 1 deletion(-)
12 20
13Index: Python-3.10.4/Lib/importlib/metadata/__init__.py 21diff --git a/Lib/importlib/metadata/__init__.py b/Lib/importlib/metadata/__init__.py
14=================================================================== 22index 82e0ce1..969cac4 100644
15--- Python-3.10.4.orig/Lib/importlib/metadata/__init__.py 23--- a/Lib/importlib/metadata/__init__.py
16+++ Python-3.10.4/Lib/importlib/metadata/__init__.py 24+++ b/Lib/importlib/metadata/__init__.py
17@@ -819,7 +819,14 @@ class Lookup: 25@@ -710,7 +710,14 @@ class Lookup:
18 self.infos = FreezableDefaultDict(list) 26 self.infos = FreezableDefaultDict(list)
19 self.eggs = FreezableDefaultDict(list) 27 self.eggs = FreezableDefaultDict(list)
20 28
diff --git a/meta/recipes-devtools/python/python3/makerace.patch b/meta/recipes-devtools/python/python3/makerace.patch
index c71c1e15de..c813b3975b 100644
--- a/meta/recipes-devtools/python/python3/makerace.patch
+++ b/meta/recipes-devtools/python/python3/makerace.patch
@@ -1,4 +1,4 @@
1From dde5cb74f55b6dd39d25cff639d16940d9dad505 Mon Sep 17 00:00:00 2001 1From c1badb04004c78f376f77f8c41718d51947bf873 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org> 2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 13 Jul 2021 23:19:29 +0100 3Date: Tue, 13 Jul 2021 23:19:29 +0100
4Subject: [PATCH] python3: Fix make race 4Subject: [PATCH] python3: Fix make race
@@ -18,13 +18,13 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
19 19
20diff --git a/Makefile.pre.in b/Makefile.pre.in 20diff --git a/Makefile.pre.in b/Makefile.pre.in
21index c6d7e85..205af6c 100644 21index fc7ab79..fb0b525 100644
22--- a/Makefile.pre.in 22--- a/Makefile.pre.in
23+++ b/Makefile.pre.in 23+++ b/Makefile.pre.in
24@@ -2045,7 +2045,7 @@ TESTSUBDIRS= ctypes/test \ 24@@ -2246,7 +2246,7 @@ COMPILEALL_OPTS=-j0
25 unittest/test/testmock
26
27 TEST_MODULES=@TEST_MODULES@ 25 TEST_MODULES=@TEST_MODULES@
26
27 .PHONY: libinstall
28-libinstall: all $(srcdir)/Modules/xxmodule.c 28-libinstall: all $(srcdir)/Modules/xxmodule.c
29+libinstall: all $(srcdir)/Modules/xxmodule.c libainstall 29+libinstall: all $(srcdir)/Modules/xxmodule.c libainstall
30 @for i in $(SCRIPTDIR) $(LIBDEST); \ 30 @for i in $(SCRIPTDIR) $(LIBDEST); \
diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
index 766f083ae4..771551cfc9 100644
--- a/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -201,17 +201,18 @@
201 "compression": { 201 "compression": {
202 "summary": "Python high-level compression support", 202 "summary": "Python high-level compression support",
203 "rdepends": [ 203 "rdepends": [
204 "core" 204 "core",
205 "shell"
205 ], 206 ],
206 "files": [ 207 "files": [
207 "${libdir}/python${PYTHON_MAJMIN}/gzip.py", 208 "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
208 "${libdir}/python${PYTHON_MAJMIN}/tarfile.py", 209 "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
209 "${libdir}/python${PYTHON_MAJMIN}/zipfile.py" 210 "${libdir}/python${PYTHON_MAJMIN}/zipfile",
211 "${libdir}/python${PYTHON_MAJMIN}/zipfile/_path"
210 ], 212 ],
211 "cached": [ 213 "cached": [
212 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc", 214 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
213 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc", 215 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc"
214 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc"
215 ] 216 ]
216 }, 217 },
217 "core": { 218 "core": {
@@ -271,6 +272,7 @@
271 "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py", 272 "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py",
272 "${libdir}/python${PYTHON_MAJMIN}/inspect.py", 273 "${libdir}/python${PYTHON_MAJMIN}/inspect.py",
273 "${libdir}/python${PYTHON_MAJMIN}/io.py", 274 "${libdir}/python${PYTHON_MAJMIN}/io.py",
275 "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
274 "${libdir}/python${PYTHON_MAJMIN}/keyword.py", 276 "${libdir}/python${PYTHON_MAJMIN}/keyword.py",
275 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so", 277 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so",
276 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so", 278 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so",
@@ -378,6 +380,7 @@
378 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc", 380 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc",
379 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc", 381 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc",
380 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc", 382 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc",
383 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
381 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc", 384 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
382 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc", 385 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
383 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc", 386 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
@@ -452,9 +455,8 @@
452 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so", 455 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
453 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so", 456 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
454 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so", 457 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
455 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so", 458 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha2.*.so",
456 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so", 459 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so"
457 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so"
458 ], 460 ],
459 "cached": [ 461 "cached": [
460 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc", 462 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc",
@@ -550,8 +552,7 @@
550 "${libdir}/pkgconfig" 552 "${libdir}/pkgconfig"
551 ], 553 ],
552 "rdepends": [ 554 "rdepends": [
553 "core", 555 "core"
554 "distutils"
555 ], 556 ],
556 "summary": "Python development package" 557 "summary": "Python development package"
557 }, 558 },
@@ -567,27 +568,6 @@
567 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc" 568 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc"
568 ] 569 ]
569 }, 570 },
570 "distutils-windows": {
571 "summary": "Python distribution utilities (Windows installer stubs)",
572 "rdepends": [
573 "core"
574 ],
575 "files": [],
576 "cached": []
577 },
578 "distutils": {
579 "summary": "Python Distribution Utilities",
580 "rdepends": [
581 "compression",
582 "core",
583 "email",
584 "stringold"
585 ],
586 "files": [
587 "${libdir}/python${PYTHON_MAJMIN}/distutils"
588 ],
589 "cached": []
590 },
591 "doctest": { 571 "doctest": {
592 "summary": "Python framework for running examples in docstrings", 572 "summary": "Python framework for running examples in docstrings",
593 "rdepends": [ 573 "rdepends": [
@@ -630,24 +610,12 @@
630 "ensurepip": { 610 "ensurepip": {
631 "summary": "Support for bootstrapping the pip installer", 611 "summary": "Support for bootstrapping the pip installer",
632 "rdepends": [ 612 "rdepends": [
633 "asyncio", 613 "core"
634 "compile",
635 "core",
636 "ctypes",
637 "image",
638 "io",
639 "mmap",
640 "plistlib",
641 "pprint",
642 "unixadmin",
643 "xmlrpc"
644 ], 614 ],
645 "files": [ 615 "files": [
646 "${libdir}/python${PYTHON_MAJMIN}/ensurepip/" 616 "${libdir}/python${PYTHON_MAJMIN}/ensurepip/"
647 ], 617 ],
648 "cached": [ 618 "cached": []
649 "${libdir}/python${PYTHON_MAJMIN}/ensurepip/_uninstall.*.pyc"
650 ]
651 }, 619 },
652 "fcntl": { 620 "fcntl": {
653 "summary": "Python's fcntl interface", 621 "summary": "Python's fcntl interface",
@@ -715,7 +683,6 @@
715 ], 683 ],
716 "files": [ 684 "files": [
717 "${libdir}/python${PYTHON_MAJMIN}/_pyio.py", 685 "${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
718 "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
719 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so", 686 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so",
720 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so", 687 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so",
721 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so", 688 "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so",
@@ -726,7 +693,6 @@
726 ], 693 ],
727 "cached": [ 694 "cached": [
728 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc", 695 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc",
729 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
730 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc", 696 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc",
731 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc", 697 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc",
732 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc", 698 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc",
@@ -836,7 +802,6 @@
836 "db", 802 "db",
837 "debugger", 803 "debugger",
838 "difflib", 804 "difflib",
839 "distutils",
840 "doctest", 805 "doctest",
841 "email", 806 "email",
842 "ensurepip", 807 "ensurepip",
@@ -863,15 +828,14 @@
863 "pydoc", 828 "pydoc",
864 "resource", 829 "resource",
865 "shell", 830 "shell",
866 "smtpd",
867 "sqlite3", 831 "sqlite3",
868 "statistics", 832 "statistics",
869 "stringold", 833 "stringold",
870 "syslog", 834 "syslog",
871 "terminal", 835 "terminal",
872 "tomllib",
873 "threading", 836 "threading",
874 "tkinter", 837 "tkinter",
838 "tomllib",
875 "unittest", 839 "unittest",
876 "unixadmin", 840 "unixadmin",
877 "venv", 841 "venv",
@@ -879,9 +843,6 @@
879 "xmlrpc", 843 "xmlrpc",
880 "zoneinfo" 844 "zoneinfo"
881 ], 845 ],
882 "rrecommends": [
883 "distutils-windows"
884 ],
885 "summary": "All Python modules" 846 "summary": "All Python modules"
886 }, 847 },
887 "multiprocessing": { 848 "multiprocessing": {
@@ -1104,31 +1065,6 @@
1104 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc" 1065 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
1105 ] 1066 ]
1106 }, 1067 },
1107 "smtpd": {
1108 "summary": "Python Simple Mail Transport Daemon",
1109 "rdepends": [
1110 "core",
1111 "crypt",
1112 "datetime",
1113 "email",
1114 "io",
1115 "math",
1116 "mime",
1117 "netclient",
1118 "stringold"
1119 ],
1120 "files": [
1121 "${bindir}/smtpd.py",
1122 "${libdir}/python${PYTHON_MAJMIN}/asynchat.py",
1123 "${libdir}/python${PYTHON_MAJMIN}/asyncore.py",
1124 "${libdir}/python${PYTHON_MAJMIN}/smtpd.py"
1125 ],
1126 "cached": [
1127 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asynchat.*.pyc",
1128 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asyncore.*.pyc",
1129 "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtpd.*.pyc"
1130 ]
1131 },
1132 "sqlite3": { 1068 "sqlite3": {
1133 "summary": "Python Sqlite3 database support", 1069 "summary": "Python Sqlite3 database support",
1134 "rdepends": [ 1070 "rdepends": [
@@ -1223,18 +1159,12 @@
1223 "tomllib": { 1159 "tomllib": {
1224 "summary": "Provides an interface for parsing TOML", 1160 "summary": "Provides an interface for parsing TOML",
1225 "rdepends": [ 1161 "rdepends": [
1226 "core", 1162 "core"
1227 "datetime",
1228 "stringold"
1229 ], 1163 ],
1230 "files": [ 1164 "files": [
1231 "${libdir}/python${PYTHON_MAJMIN}/tomllib/" 1165 "${libdir}/python${PYTHON_MAJMIN}/tomllib/"
1232 ], 1166 ],
1233 "cached": [ 1167 "cached": []
1234 "${libdir}/python${PYTHON_MAJMIN}/tomllib/_re.*.pyc",
1235 "${libdir}/python${PYTHON_MAJMIN}/tomllib/_types.*.pyc",
1236 "${libdir}/python${PYTHON_MAJMIN}/tomllib/_parser.*.pyc"
1237 ]
1238 }, 1168 },
1239 "turtle": { 1169 "turtle": {
1240 "summary": "Turtle graphics is a popular way for introducing programming to kids.", 1170 "summary": "Turtle graphics is a popular way for introducing programming to kids.",
diff --git a/meta/recipes-devtools/python/python3_3.11.5.bb b/meta/recipes-devtools/python/python3_3.12.1.bb
index e7b2b08f7f..ece7539c51 100644
--- a/meta/recipes-devtools/python/python3_3.11.5.bb
+++ b/meta/recipes-devtools/python/python3_3.12.1.bb
@@ -14,21 +14,16 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
14 file://check_build_completeness.py \ 14 file://check_build_completeness.py \
15 file://reformat_sysconfig.py \ 15 file://reformat_sysconfig.py \
16 file://cgi_py.patch \ 16 file://cgi_py.patch \
17 file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
18 ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
19 file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ 17 file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
20 file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ 18 file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
21 file://crosspythonpath.patch \ 19 file://crosspythonpath.patch \
22 file://0001-test_locale.py-correct-the-test-output-format.patch \ 20 file://0001-test_locale.py-correct-the-test-output-format.patch \
23 file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
24 file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
25 file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ 21 file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
26 file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ 22 file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \
27 file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \ 23 file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
28 file://makerace.patch \ 24 file://makerace.patch \
29 file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \ 25 file://0001-sysconfig.py-use-platlibdir-also-for-purelib.patch \
30 file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \ 26 file://0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch \
31 file://0001-setup.py-Do-not-detect-multiarch-paths-when-cross-co.patch \
32 file://deterministic_imports.patch \ 27 file://deterministic_imports.patch \
33 file://0001-Avoid-shebang-overflow-on-python-config.py.patch \ 28 file://0001-Avoid-shebang-overflow-on-python-config.py.patch \
34 file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \ 29 file://0001-Update-test_sysconfig-for-posix_user-purelib.patch \
@@ -38,10 +33,9 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
38 33
39SRC_URI:append:class-native = " \ 34SRC_URI:append:class-native = " \
40 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ 35 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
41 file://12-distutils-prefix-is-inside-staging-area.patch \
42 file://0001-Don-t-search-system-for-headers-libraries.patch \
43 " 36 "
44SRC_URI[sha256sum] = "85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f" 37
38SRC_URI[sha256sum] = "8dfb8f426fcd226657f9e2bd5f1e96e53264965176fa17d32658e873591aeb21"
45 39
46# exclude pre-releases for both python 2.x and 3.x 40# exclude pre-releases for both python 2.x and 3.x
47UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" 41UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -57,7 +51,7 @@ CVE_STATUS[CVE-2022-26488] = "not-applicable-platform: Issue only applies on Win
57CVE_STATUS[CVE-2015-20107] = "upstream-wontfix: The mailcap module is insecure by design, so this can't be fixed in a meaningful way" 51CVE_STATUS[CVE-2015-20107] = "upstream-wontfix: The mailcap module is insecure by design, so this can't be fixed in a meaningful way"
58CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour" 52CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour"
59 53
60PYTHON_MAJMIN = "3.11" 54PYTHON_MAJMIN = "3.12"
61 55
62S = "${WORKDIR}/Python-${PV}" 56S = "${WORKDIR}/Python-${PV}"
63 57
@@ -118,15 +112,30 @@ do_configure:prepend () {
118*disabled* 112*disabled*
119${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} 113${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)}
120${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} 114${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)}
115${@bb.utils.contains('PACKAGECONFIG', 'tk', '', '_tkinter', d)}
121EOF 116EOF
122} 117}
123 118
124CPPFLAGS:append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" 119CPPFLAGS:append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
125 120
121# COMPILEALL_OPTS= ensures that .pyc are not compiled in parallel
122# This was found to lock up builds, break reproducibility, and produce strange file ownership
123# races.
124#
125# The upstream commit introducing the change was:
126# https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504
127#
128# The build lock up issue is reported here:
129# https://bugs.python.org/issue45945
130#
131# The repro failures are documented here:
132# https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20211130-yr_o1a8d/packages/diff-html/
133
126EXTRA_OEMAKE = '\ 134EXTRA_OEMAKE = '\
127 STAGING_LIBDIR=${STAGING_LIBDIR} \ 135 STAGING_LIBDIR=${STAGING_LIBDIR} \
128 STAGING_INCDIR=${STAGING_INCDIR} \ 136 STAGING_INCDIR=${STAGING_INCDIR} \
129 LIB=${baselib} \ 137 LIB=${baselib} \
138 COMPILEALL_OPTS= \
130' 139'
131 140
132# Generate a Profile Guided Optimisation wrapper script that uses qemu-user for 141# Generate a Profile Guided Optimisation wrapper script that uses qemu-user for