summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorTrevor Gamblin <tgamblin@baylibre.com>2024-12-23 11:20:52 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-01-03 11:05:03 +0000
commitd832ee79631ac1502b107091cdcfd8f88237d533 (patch)
tree5dfb709b0338a7e58ba9dcdbcd7312b5bf1dc7e3 /meta/recipes-devtools
parent418235f06803c901184d5c4a3883c0dbecee1f06 (diff)
downloadpoky-d832ee79631ac1502b107091cdcfd8f88237d533.tar.gz
python3: upgrade 3.13.0 -> 3.13.1
Changelog: https://docs.python.org/3/whatsnew/changelog.html#python-3-13-1-final - Patch 'fix-armv5.patch' is in 3.13.1, so no longer needed: |tgamblin@megalith ~/workspace/git/pythonsrc/cpython ((HEAD detached from v3.13.1))$ git tag --contains 18b9079ddbc149d6b99c922630c246812e4d8ae7 |v3.13.1 - While patch 'crosspythonpath.patch' is listed as 'Inappropriate [OE-Core integration specific]' specific in the commit message, it is now breaking the build, while removing it allows python3 to build OK. It appears that there is a similar change in upstream 3.13.1: https://github.com/python/cpython/commit/909d5ac2959e - gcc-symlinks had to be added to ptest RDEPENDS so that 'gcc' could be found on the path for the test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym test. - Also reformat the DEPENDS and RDEPENDS lists to be alphabetical and one-per-line, since that's easier to read and modify. - buildall-qemu output: |BUILDALL-QEMU LOG FOR python3 |START TIME: 2024-12-18_20:38:01 |HOSTNAME: megalith |HOST OS: Debian GNU/Linux 12 (bookworm) |HOST KERNEL: 6.1.0-28-amd64 |=============== |BUILD RESULTS: |[glibc] |FAIL: qemuloongarch64 |PASS: qemuriscv32 |PASS: qemuarmv5 |PASS: qemuppc |PASS: qemumips64 |PASS: qemuriscv64 |PASS: qemuarm64 |PASS: qemuarm |PASS: qemux86-64 |PASS: qemuppc64 |PASS: qemux86 |PASS: qemumips |[musl] |FAIL: qemuloongarch64 |FAIL: qemuriscv32 |PASS: qemuarmv5 |PASS: qemuppc |PASS: qemumips64 |PASS: qemuriscv64 |PASS: qemuarm64 |PASS: qemuarm |PASS: qemux86-64 |PASS: qemuppc64 |PASS: qemux86 |PASS: qemumips |=============== |PASSED: 21 |FAILED: 3 (From OE-Core rev: 08c44d3b140b220ead6334db26097b28612d445a) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/python/python3/crosspythonpath.patch33
-rw-r--r--meta/recipes-devtools/python/python3/fix-armv5.patch65
-rw-r--r--meta/recipes-devtools/python/python3_3.13.1.bb (renamed from meta/recipes-devtools/python/python3_3.13.0.bb)58
3 files changed, 45 insertions, 111 deletions
diff --git a/meta/recipes-devtools/python/python3/crosspythonpath.patch b/meta/recipes-devtools/python/python3/crosspythonpath.patch
deleted file mode 100644
index f18898e4c4..0000000000
--- a/meta/recipes-devtools/python/python3/crosspythonpath.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 8840438e73e43b99bc9c83896a5f950e4259738f Mon Sep 17 00:00:00 2001
2From: Ricardo Ribalda <ricardo@ribalda.com>
3Date: Tue, 18 Nov 2014 03:35:33 -0500
4Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for
5 PYTHON_FOR_BUILD
6
7When building x86->x86 the system will try to execute .so and related items
8from the default PYTHONPATH. This will fail if the target CPU contains
9instructions that the host CPU does not have, add CROSSPYTHONPATH
10into PYTHONPATH so we can prepend the list to find correct libs.
11
12Upstream-Status: Inappropriate [OE-Core integration specific]
13
14Credits-to: Mark Hatle <mark.hatle@windriver.com>
15Credits-to: Jackie Huang <jackie.huang@windriver.com>
16Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com>
17---
18 configure.ac | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/configure.ac b/configure.ac
22index 58f5407..5101806 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -164,7 +164,7 @@ AC_ARG_WITH([build-python],
26 dnl Build Python interpreter is used for regeneration and freezing.
27 ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python
28 PYTHON_FOR_FREEZE="$with_build_python"
29- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python
30+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python
31 AC_MSG_RESULT([$with_build_python])
32 ], [
33 AS_VAR_IF([cross_compiling], [yes],
diff --git a/meta/recipes-devtools/python/python3/fix-armv5.patch b/meta/recipes-devtools/python/python3/fix-armv5.patch
deleted file mode 100644
index 961404b24f..0000000000
--- a/meta/recipes-devtools/python/python3/fix-armv5.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From 18b9079ddbc149d6b99c922630c246812e4d8ae7 Mon Sep 17 00:00:00 2001
2From: "Miss Islington (bot)"
3 <31488909+miss-islington@users.noreply.github.com>
4Date: Wed, 16 Oct 2024 16:48:40 +0200
5Subject: [PATCH] [3.13] gh-125444: Fix illegal instruction for older Arm
6 architectures (GH-125574) (GH-125595)
7MIME-Version: 1.0
8Content-Type: text/plain; charset=UTF-8
9Content-Transfer-Encoding: 8bit
10
11On Arm v5 it is not possible to get the thread ID via c13 register
12hence the illegal instruction. The c13 register started to provide
13thread ID since Arm v6K architecture variant. Other variants of
14Arm v6 (T2, Z and base) don’t provide the thread ID via c13.
15For the sake of simplicity we group v5 and v6 together and
16consider that instructions for Arm v7 only.
17(cherry picked from commit feda9aa73ab95d17a291db22c416146f8e70edeb)
18
19Co-authored-by: Diego Russo <diego.russo@arm.com>
20
21Upstream-Status: Backport [https://github.com/python/cpython/commit/18b9079ddbc149d6b99c922630c246812e4d8ae7]
22Signed-off-by: Alexander Kanavin <alex@linutronix.de>
23---
24 Include/internal/mimalloc/mimalloc/prim.h | 4 ++--
25 Include/object.h | 2 +-
26 .../2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst | 1 +
27 3 files changed, 4 insertions(+), 3 deletions(-)
28 create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
29
30diff --git a/Include/internal/mimalloc/mimalloc/prim.h b/Include/internal/mimalloc/mimalloc/prim.h
31index 8a60d528458e6c..322ab29e6b41c2 100644
32--- a/Include/internal/mimalloc/mimalloc/prim.h
33+++ b/Include/internal/mimalloc/mimalloc/prim.h
34@@ -151,9 +151,9 @@ static inline mi_threadid_t _mi_prim_thread_id(void) mi_attr_noexcept {
35 // If you test on another platform and it works please send a PR :-)
36 // see also https://akkadia.org/drepper/tls.pdf for more info on the TLS register.
37 #elif defined(__GNUC__) && ( \
38- (defined(__GLIBC__) && (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__))) \
39+ (defined(__GLIBC__) && (defined(__x86_64__) || defined(__i386__) || (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
40 || (defined(__APPLE__) && (defined(__x86_64__) || defined(__aarch64__))) \
41- || (defined(__BIONIC__) && (defined(__x86_64__) || defined(__i386__) || defined(__arm__) || defined(__aarch64__))) \
42+ || (defined(__BIONIC__) && (defined(__x86_64__) || defined(__i386__) || (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
43 || (defined(__FreeBSD__) && (defined(__x86_64__) || defined(__i386__) || defined(__aarch64__))) \
44 || (defined(__OpenBSD__) && (defined(__x86_64__) || defined(__i386__) || defined(__aarch64__))) \
45 )
46diff --git a/Include/object.h b/Include/object.h
47index 78aa7ad0f459ff..b53f9acfebdb0c 100644
48--- a/Include/object.h
49+++ b/Include/object.h
50@@ -259,7 +259,7 @@ _Py_ThreadId(void)
51 __asm__("movq %%gs:0, %0" : "=r" (tid)); // x86_64 macOSX uses GS
52 #elif defined(__x86_64__)
53 __asm__("movq %%fs:0, %0" : "=r" (tid)); // x86_64 Linux, BSD uses FS
54-#elif defined(__arm__)
55+#elif defined(__arm__) && __ARM_ARCH >= 7
56 __asm__ ("mrc p15, 0, %0, c13, c0, 3\nbic %0, %0, #3" : "=r" (tid));
57 #elif defined(__aarch64__) && defined(__APPLE__)
58 __asm__ ("mrs %0, tpidrro_el0" : "=r" (tid));
59diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
60new file mode 100644
61index 00000000000000..13c1e745edf8d5
62--- /dev/null
63+++ b/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
64@@ -0,0 +1 @@
65+Fix illegal instruction for older Arm architectures. Patch by Diego Russo, testing by Ross Burton.
diff --git a/meta/recipes-devtools/python/python3_3.13.0.bb b/meta/recipes-devtools/python/python3_3.13.1.bb
index b3170879b9..b2eaf9f439 100644
--- a/meta/recipes-devtools/python/python3_3.13.0.bb
+++ b/meta/recipes-devtools/python/python3_3.13.1.bb
@@ -14,7 +14,6 @@ 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://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ 16 file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
17 file://crosspythonpath.patch \
18 file://0001-test_locale.py-correct-the-test-output-format.patch \ 17 file://0001-test_locale.py-correct-the-test-output-format.patch \
19 file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ 18 file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \
20 file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \ 19 file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
@@ -30,7 +29,6 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
30 file://0001-test_deadlock-skip-problematic-test.patch \ 29 file://0001-test_deadlock-skip-problematic-test.patch \
31 file://0001-test_active_children-skip-problematic-test.patch \ 30 file://0001-test_active_children-skip-problematic-test.patch \
32 file://0001-test_readline-skip-limited-history-test.patch \ 31 file://0001-test_readline-skip-limited-history-test.patch \
33 file://fix-armv5.patch \
34 file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \ 32 file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \
35 file://0001-ssl-Raise-OSError-for-ERR_LIB_SYS.patch \ 33 file://0001-ssl-Raise-OSError-for-ERR_LIB_SYS.patch \
36 " 34 "
@@ -39,7 +37,7 @@ SRC_URI:append:class-native = " \
39 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ 37 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
40 " 38 "
41 39
42SRC_URI[sha256sum] = "086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d" 40SRC_URI[sha256sum] = "9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9"
43 41
44# exclude pre-releases for both python 2.x and 3.x 42# exclude pre-releases for both python 2.x and 3.x
45UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" 43UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -69,7 +67,24 @@ ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config
69ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" 67ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
70 68
71 69
72DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses" 70DEPENDS = "\
71 autoconf-archive-native \
72 bzip2 \
73 bzip2-replacement-native \
74 expat \
75 libffi \
76 libnsl2 \
77 libtirpc \
78 ncurses \
79 openssl \
80 sqlite3 \
81 util-linux-libuuid \
82 virtual/crypt \
83 virtual/libintl \
84 xz \
85 zlib \
86"
87
73DEPENDS:append:class-target = " python3-native" 88DEPENDS:append:class-target = " python3-native"
74DEPENDS:append:class-nativesdk = " python3-native" 89DEPENDS:append:class-nativesdk = " python3-native"
75 90
@@ -444,13 +459,13 @@ INSANE_SKIP:${PN}-ptest = "dev-deps"
444# catch all the rest (unsorted) 459# catch all the rest (unsorted)
445PACKAGES += "${PN}-misc" 460PACKAGES += "${PN}-misc"
446RDEPENDS:${PN}-misc += "\ 461RDEPENDS:${PN}-misc += "\
447 ${PN}-audio \ 462 ${PN}-audio \
448 ${PN}-codecs \ 463 ${PN}-codecs \
449 ${PN}-core \ 464 ${PN}-core \
450 ${PN}-email \ 465 ${PN}-email \
451 ${PN}-numbers \ 466 ${PN}-numbers \
452 ${PN}-pickle \ 467 ${PN}-pickle \
453 ${PN}-pydoc \ 468 ${PN}-pydoc \
454" 469"
455RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" 470RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
456RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" 471RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
@@ -466,8 +481,25 @@ RDEPENDS:libpython3:append:libc-glibc = " libgcc"
466RDEPENDS:${PN}-ctypes:append:libc-glibc = "\ 481RDEPENDS:${PN}-ctypes:append:libc-glibc = "\
467 ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)} \ 482 ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)} \
468" 483"
469RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils \ 484RDEPENDS:${PN}-ptest = "\
470 locale-base-fr-fr locale-base-en-us locale-base-de-de" 485 ${PN}-dev \
486 ${PN}-modules \
487 ${PN}-tests \
488 ${PN}-zipapp \
489 binutils \
490 bzip2 \
491 coreutils \
492 gcc \
493 gcc-symlinks \
494 g++ \
495 libgcc \
496 locale-base-fr-fr \
497 locale-base-en-us \
498 locale-base-de-de \
499 sed \
500 tzdata \
501 unzip \
502"
471RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr" 503RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr"
472RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" 504RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
473RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" 505RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}"