diff options
author | Trevor Gamblin <tgamblin@baylibre.com> | 2024-12-23 11:20:52 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-01-03 11:05:03 +0000 |
commit | d832ee79631ac1502b107091cdcfd8f88237d533 (patch) | |
tree | 5dfb709b0338a7e58ba9dcdbcd7312b5bf1dc7e3 /meta/recipes-devtools | |
parent | 418235f06803c901184d5c4a3883c0dbecee1f06 (diff) | |
download | poky-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.patch | 33 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python3/fix-armv5.patch | 65 | ||||
-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 @@ | |||
1 | From 8840438e73e43b99bc9c83896a5f950e4259738f Mon Sep 17 00:00:00 2001 | ||
2 | From: Ricardo Ribalda <ricardo@ribalda.com> | ||
3 | Date: Tue, 18 Nov 2014 03:35:33 -0500 | ||
4 | Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for | ||
5 | PYTHON_FOR_BUILD | ||
6 | |||
7 | When building x86->x86 the system will try to execute .so and related items | ||
8 | from the default PYTHONPATH. This will fail if the target CPU contains | ||
9 | instructions that the host CPU does not have, add CROSSPYTHONPATH | ||
10 | into PYTHONPATH so we can prepend the list to find correct libs. | ||
11 | |||
12 | Upstream-Status: Inappropriate [OE-Core integration specific] | ||
13 | |||
14 | Credits-to: Mark Hatle <mark.hatle@windriver.com> | ||
15 | Credits-to: Jackie Huang <jackie.huang@windriver.com> | ||
16 | Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com> | ||
17 | --- | ||
18 | configure.ac | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/configure.ac b/configure.ac | ||
22 | index 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 @@ | |||
1 | From 18b9079ddbc149d6b99c922630c246812e4d8ae7 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Miss Islington (bot)" | ||
3 | <31488909+miss-islington@users.noreply.github.com> | ||
4 | Date: Wed, 16 Oct 2024 16:48:40 +0200 | ||
5 | Subject: [PATCH] [3.13] gh-125444: Fix illegal instruction for older Arm | ||
6 | architectures (GH-125574) (GH-125595) | ||
7 | MIME-Version: 1.0 | ||
8 | Content-Type: text/plain; charset=UTF-8 | ||
9 | Content-Transfer-Encoding: 8bit | ||
10 | |||
11 | On Arm v5 it is not possible to get the thread ID via c13 register | ||
12 | hence the illegal instruction. The c13 register started to provide | ||
13 | thread ID since Arm v6K architecture variant. Other variants of | ||
14 | Arm v6 (T2, Z and base) don’t provide the thread ID via c13. | ||
15 | For the sake of simplicity we group v5 and v6 together and | ||
16 | consider that instructions for Arm v7 only. | ||
17 | (cherry picked from commit feda9aa73ab95d17a291db22c416146f8e70edeb) | ||
18 | |||
19 | Co-authored-by: Diego Russo <diego.russo@arm.com> | ||
20 | |||
21 | Upstream-Status: Backport [https://github.com/python/cpython/commit/18b9079ddbc149d6b99c922630c246812e4d8ae7] | ||
22 | Signed-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 | |||
30 | diff --git a/Include/internal/mimalloc/mimalloc/prim.h b/Include/internal/mimalloc/mimalloc/prim.h | ||
31 | index 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 | ) | ||
46 | diff --git a/Include/object.h b/Include/object.h | ||
47 | index 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)); | ||
59 | diff --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 | ||
60 | new file mode 100644 | ||
61 | index 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 | ||
42 | SRC_URI[sha256sum] = "086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d" | 40 | SRC_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 |
45 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" | 43 | UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" |
@@ -69,7 +67,24 @@ ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config | |||
69 | ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" | 67 | ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" |
70 | 68 | ||
71 | 69 | ||
72 | DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses" | 70 | DEPENDS = "\ |
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 | |||
73 | DEPENDS:append:class-target = " python3-native" | 88 | DEPENDS:append:class-target = " python3-native" |
74 | DEPENDS:append:class-nativesdk = " python3-native" | 89 | DEPENDS: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) |
445 | PACKAGES += "${PN}-misc" | 460 | PACKAGES += "${PN}-misc" |
446 | RDEPENDS:${PN}-misc += "\ | 461 | RDEPENDS:${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 | " |
455 | RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" | 470 | RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc" |
456 | RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" | 471 | RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc" |
@@ -466,8 +481,25 @@ RDEPENDS:libpython3:append:libc-glibc = " libgcc" | |||
466 | RDEPENDS:${PN}-ctypes:append:libc-glibc = "\ | 481 | RDEPENDS:${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 | " |
469 | RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils \ | 484 | RDEPENDS:${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 | " | ||
471 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr" | 503 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr" |
472 | RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" | 504 | RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}" |
473 | RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" | 505 | RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}" |