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
Signed-off-by: Trevor Gamblin <[email protected]>
---
.../python/python3/crosspythonpath.patch | 33 ----------
.../python/python3/fix-armv5.patch | 65 -------------------
.../{python3_3.13.0.bb => python3_3.13.1.bb} | 58 +++++++++++++----
3 files changed, 45 insertions(+), 111 deletions(-)
delete mode 100644 meta/recipes-devtools/python/python3/crosspythonpath.patch
delete mode 100644 meta/recipes-devtools/python/python3/fix-armv5.patch
rename meta/recipes-devtools/python/{python3_3.13.0.bb => python3_3.13.1.bb}
(96%)
diff --git a/meta/recipes-devtools/python/python3/crosspythonpath.patch
b/meta/recipes-devtools/python/python3/crosspythonpath.patch
deleted file mode 100644
index f18898e4c4f..00000000000
--- a/meta/recipes-devtools/python/python3/crosspythonpath.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8840438e73e43b99bc9c83896a5f950e4259738f Mon Sep 17 00:00:00 2001
-From: Ricardo Ribalda <[email protected]>
-Date: Tue, 18 Nov 2014 03:35:33 -0500
-Subject: [PATCH] configure.ac: add CROSSPYTHONPATH into PYTHONPATH for
- PYTHON_FOR_BUILD
-
-When building x86->x86 the system will try to execute .so and related items
-from the default PYTHONPATH. This will fail if the target CPU contains
-instructions that the host CPU does not have, add CROSSPYTHONPATH
-into PYTHONPATH so we can prepend the list to find correct libs.
-
-Upstream-Status: Inappropriate [OE-Core integration specific]
-
-Credits-to: Mark Hatle <[email protected]>
-Credits-to: Jackie Huang <[email protected]>
-Signed-off-by: Ricardo Ribalda <[email protected]>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 58f5407..5101806 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -164,7 +164,7 @@ AC_ARG_WITH([build-python],
- dnl Build Python interpreter is used for regeneration and freezing.
- ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python
- PYTHON_FOR_FREEZE="$with_build_python"
-- 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
-+ 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
- AC_MSG_RESULT([$with_build_python])
- ], [
- 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 961404b24fc..00000000000
--- a/meta/recipes-devtools/python/python3/fix-armv5.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 18b9079ddbc149d6b99c922630c246812e4d8ae7 Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <[email protected]>
-Date: Wed, 16 Oct 2024 16:48:40 +0200
-Subject: [PATCH] [3.13] gh-125444: Fix illegal instruction for older Arm
- architectures (GH-125574) (GH-125595)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-On Arm v5 it is not possible to get the thread ID via c13 register
-hence the illegal instruction. The c13 register started to provide
-thread ID since Arm v6K architecture variant. Other variants of
-Arm v6 (T2, Z and base) don’t provide the thread ID via c13.
-For the sake of simplicity we group v5 and v6 together and
-consider that instructions for Arm v7 only.
-(cherry picked from commit feda9aa73ab95d17a291db22c416146f8e70edeb)
-
-Co-authored-by: Diego Russo <[email protected]>
-
-Upstream-Status: Backport
[https://github.com/python/cpython/commit/18b9079ddbc149d6b99c922630c246812e4d8ae7]
-Signed-off-by: Alexander Kanavin <[email protected]>
----
- Include/internal/mimalloc/mimalloc/prim.h | 4 ++--
- Include/object.h | 2 +-
- .../2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst | 1 +
- 3 files changed, 4 insertions(+), 3 deletions(-)
- create mode 100644
Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
-
-diff --git a/Include/internal/mimalloc/mimalloc/prim.h
b/Include/internal/mimalloc/mimalloc/prim.h
-index 8a60d528458e6c..322ab29e6b41c2 100644
---- a/Include/internal/mimalloc/mimalloc/prim.h
-+++ b/Include/internal/mimalloc/mimalloc/prim.h
-@@ -151,9 +151,9 @@ static inline mi_threadid_t _mi_prim_thread_id(void)
mi_attr_noexcept {
- // If you test on another platform and it works please send a PR :-)
- // see also https://akkadia.org/drepper/tls.pdf for more info on the TLS
register.
- #elif defined(__GNUC__) && ( \
-- (defined(__GLIBC__) && (defined(__x86_64__) || defined(__i386__)
|| defined(__arm__) || defined(__aarch64__))) \
-+ (defined(__GLIBC__) && (defined(__x86_64__) || defined(__i386__) ||
(defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
- || (defined(__APPLE__) && (defined(__x86_64__) ||
defined(__aarch64__))) \
-- || (defined(__BIONIC__) && (defined(__x86_64__) || defined(__i386__)
|| defined(__arm__) || defined(__aarch64__))) \
-+ || (defined(__BIONIC__) && (defined(__x86_64__) || defined(__i386__) ||
(defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__))) \
- || (defined(__FreeBSD__) && (defined(__x86_64__) || defined(__i386__)
|| defined(__aarch64__))) \
- || (defined(__OpenBSD__) && (defined(__x86_64__) || defined(__i386__)
|| defined(__aarch64__))) \
- )
-diff --git a/Include/object.h b/Include/object.h
-index 78aa7ad0f459ff..b53f9acfebdb0c 100644
---- a/Include/object.h
-+++ b/Include/object.h
-@@ -259,7 +259,7 @@ _Py_ThreadId(void)
- __asm__("movq %%gs:0, %0" : "=r" (tid)); // x86_64 macOSX uses GS
- #elif defined(__x86_64__)
- __asm__("movq %%fs:0, %0" : "=r" (tid)); // x86_64 Linux, BSD uses FS
--#elif defined(__arm__)
-+#elif defined(__arm__) && __ARM_ARCH >= 7
- __asm__ ("mrc p15, 0, %0, c13, c0, 3\nbic %0, %0, #3" : "=r" (tid));
- #elif defined(__aarch64__) && defined(__APPLE__)
- __asm__ ("mrs %0, tpidrro_el0" : "=r" (tid));
-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
-new file mode 100644
-index 00000000000000..13c1e745edf8d5
---- /dev/null
-+++
b/Misc/NEWS.d/next/Core_and_Builtins/2024-10-16-12-12-39.gh-issue-125444.9tG2X6.rst
-@@ -0,0 +1 @@
-+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
similarity index 96%
rename from meta/recipes-devtools/python/python3_3.13.0.bb
rename to meta/recipes-devtools/python/python3_3.13.1.bb
index b3170879b95..b2eaf9f4396 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 \
file://check_build_completeness.py \
file://reformat_sysconfig.py \
file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
- file://crosspythonpath.patch \
file://0001-test_locale.py-correct-the-test-output-format.patch \
file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \
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 \
file://0001-test_deadlock-skip-problematic-test.patch \
file://0001-test_active_children-skip-problematic-test.patch \
file://0001-test_readline-skip-limited-history-test.patch \
- file://fix-armv5.patch \
file://0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch \
file://0001-ssl-Raise-OSError-for-ERR_LIB_SYS.patch \
"
@@ -39,7 +37,7 @@ SRC_URI:append:class-native = " \
file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
"
-SRC_URI[sha256sum] =
"086de5882e3cb310d4dca48457522e2e48018ecd43da9cdf827f6a0759efb07d"
+SRC_URI[sha256sum] =
"9cf9427bee9e2242e3877dd0f6b641c1853ca461f39d6503ce260a59c80bf0d9"
# exclude pre-releases for both python 2.x and 3.x
UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -69,7 +67,24 @@ ALTERNATIVE_LINK_NAME[python3-config] =
"${bindir}/python${PYTHON_MAJMIN}-config
ALTERNATIVE_TARGET[python3-config] =
"${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
-DEPENDS = "bzip2-replacement-native expat libffi bzip2 openssl sqlite3 zlib
virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2
autoconf-archive-native ncurses"
+DEPENDS = "\
+ autoconf-archive-native \
+ bzip2 \
+ bzip2-replacement-native \
+ expat \
+ libffi \
+ libnsl2 \
+ libtirpc \
+ ncurses \
+ openssl \
+ sqlite3 \
+ util-linux-libuuid \
+ virtual/crypt \
+ virtual/libintl \
+ xz \
+ zlib \
+"
+
DEPENDS:append:class-target = " python3-native"
DEPENDS:append:class-nativesdk = " python3-native"
@@ -444,13 +459,13 @@ INSANE_SKIP:${PN}-ptest = "dev-deps"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
RDEPENDS:${PN}-misc += "\
- ${PN}-audio \
- ${PN}-codecs \
- ${PN}-core \
- ${PN}-email \
- ${PN}-numbers \
- ${PN}-pickle \
- ${PN}-pydoc \
+ ${PN}-audio \
+ ${PN}-codecs \
+ ${PN}-core \
+ ${PN}-email \
+ ${PN}-numbers \
+ ${PN}-pickle \
+ ${PN}-pydoc \
"
RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
@@ -466,8 +481,25 @@ RDEPENDS:libpython3:append:libc-glibc = " libgcc"
RDEPENDS:${PN}-ctypes:append:libc-glibc = "\
${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig',
'${MLPREFIX}ldconfig', '', d)} \
"
-RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-zipapp unzip
bzip2 libgcc tzdata coreutils sed gcc g++ binutils \
- locale-base-fr-fr locale-base-en-us locale-base-de-de"
+RDEPENDS:${PN}-ptest = "\
+ ${PN}-dev \
+ ${PN}-modules \
+ ${PN}-tests \
+ ${PN}-zipapp \
+ binutils \
+ bzip2 \
+ coreutils \
+ gcc \
+ gcc-symlinks \
+ g++ \
+ libgcc \
+ locale-base-fr-fr \
+ locale-base-en-us \
+ locale-base-de-de \
+ sed \
+ tzdata \
+ unzip \
+"
RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr"
RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk',
'${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter
${MLPREFIX}tcl', '', d)}"
--
2.39.5