From patchwork Thu Dec 19 14:42:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Trevor Gamblin X-Patchwork-Id: 54358 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 561B9E77184 for ; Thu, 19 Dec 2024 14:43:04 +0000 (UTC) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) by mx.groups.io with SMTP id smtpd.web10.130281.1734619379288170435 for ; Thu, 19 Dec 2024 06:42:59 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@baylibre-com.20230601.gappssmtp.com header.s=20230601 header.b=kOt8vope; spf=pass (domain: baylibre.com, ip: 209.85.222.180, mailfrom: tgamblin@baylibre.com) Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7b6e9317a2aso158142385a.0 for ; Thu, 19 Dec 2024 06:42:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1734619378; x=1735224178; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=uKSKxwQyK+lM0m3xXdvm8vE9YrdKvvbmtbK9uQCclP4=; b=kOt8vopeCRGVKftr0zRGNdeCbWmEdTyqBGIsj/zszBHJ8gEisyQucpVJ/JtitJSBnF OvHNd51hpj8NxPLlORHmX+nGIIRfK2NNeeNIKK9RAJYpEvwML+uZ/mizW0mRENnGWpUN OMRr50uoojn8ZYdWjWuwBkRThKxkrG9WWhYAr6vCXzvHOsFNJCkf7kYACx4EoPSvf+Z0 kIjt6ol4Wmc6kvY9As9SZ0FYE7RyndvfLOcdfYcYEwh3wxdAIdLj9jfIaUm2ICuahZQ8 HXfKwQc/m8fSjmdUBPIHocq/s+jbFOc+PA9S2pIE/z6S0WlNxUPjWxSAdFasMfjJR3St d6KQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734619378; x=1735224178; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uKSKxwQyK+lM0m3xXdvm8vE9YrdKvvbmtbK9uQCclP4=; b=Yz4XCExl/t0F1NyhWeESBpmEy0KMQohYETQAkEWtpH1v1Dqs0KcRbepeWFgJkNpePU NEoIkd5+/MOmPqiTGjXsj0wdtCymSOYSQCBTyhpDqiQ3rO4DaFkTj/hJO+ibZIxhJmSO DuhSvaFDkM2NLBKs1dV2zTpbOVPtwrCt1iyRiqJ+/6aCszS2xmPW9fr/jgmqo3MU2+rI UMbqOWPreaUtksSBWNwgCmcRPOum5HY1e3zgyqX8lRijl9NqM2Qqs7j9vmw/dH35m6bN GGwSM8bol/UkV9gnMRl9qzugyqGs3T1D9YNEn4u6n6Nx2tpFAMNYubWkgnrrEb5vvKfS XjJg== X-Gm-Message-State: AOJu0Yz/AmoyxVa5hTSbeW2UoBlbloNch/NDUNMAumz1gTWF3V440ApJ e0Om/X3699vexAa/QTU1UZ96UoRaBtCT/HWX4U51RBe0YkIC/6t1yrQ51xnWa5I4CKgkEwiln8o u X-Gm-Gg: ASbGncujR4a2Wgai68uuvZhZYFaErs2pVDEWaTV+56QB73kg4V6TGe7Lz3vZZukdF3U 82QE0ynkSZiezArxOvP47c8P0Mg8XCMdqwtyR1Sn1wjb8H/I/FvNsGTSD7MopF3jxsVyGLoICv/ rgknnkP2awr28FPEFLnOpmWcnzA18IR2QnIKoOJYcvbrWBeaXrVKtfp7eQvh/CsgBjc9o1gkpwf tMbqNhlaVaubcUvKBmcswYZocQOVz2KchduGdlNpLLDFnJmIwDR5NKxc3nPTTWDDLH7fN7lbp1d lRF2z37M+U7nnNzr X-Google-Smtp-Source: AGHT+IGM5ZkjEmnrdaFPgFwSBj1jyUgMwU3HLVD/qDkRP66SEU68d526fPKB/tpZJKmouc0W0R8SSA== X-Received: by 2002:a05:6214:628:b0:6d8:ad76:497d with SMTP id 6a1803df08f44-6dd155741f8mr57907626d6.10.1734619377571; Thu, 19 Dec 2024 06:42:57 -0800 (PST) Received: from localhost (d24-150-219-207.home.cgocable.net. [24.150.219.207]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6dd181d82fbsm6916766d6.123.2024.12.19.06.42.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Dec 2024 06:42:57 -0800 (PST) From: Trevor Gamblin To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH] python3: upgrade 3.13.0 -> 3.13.1 Date: Thu, 19 Dec 2024 09:42:55 -0500 Message-Id: <20241219144255.3366730-1-tgamblin@baylibre.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 19 Dec 2024 14:43:04 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/208917 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 --- .../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 -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 -Credits-to: Jackie Huang -Signed-off-by: Ricardo Ribalda ---- - 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)" - <31488909+miss-islington@users.noreply.github.com> -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 - -Upstream-Status: Backport [https://github.com/python/cpython/commit/18b9079ddbc149d6b99c922630c246812e4d8ae7] -Signed-off-by: Alexander Kanavin ---- - 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\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)}"