* [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading]
[not found] <18A06529173E9998.57592@lists.openembedded.org>
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
` (11 more replies)
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
1 sibling, 12 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
The warning comment is really needed. While Python 3.14 supports
free-threading officially, the ecosystem around it does not yet.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/python/python3_3.14.3.bb | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/recipes-devtools/python/python3_3.14.3.bb b/meta/recipes-devtools/python/python3_3.14.3.bb
index 7a1ad1e386..c23605f59c 100644
--- a/meta/recipes-devtools/python/python3_3.14.3.bb
+++ b/meta/recipes-devtools/python/python3_3.14.3.bb
@@ -112,7 +112,14 @@ CACHED_CONFIGUREVARS:append:libc-musl = "\
# PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407
PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
+
+# Some LLVM/CLANG subprojects (e.g. lldb) and many Python modules
+# do not build when free-threading is enabled. Also, the support
+# for free-threading in many Python modules is not yet production level,
+# although they may build fine.
+# This is highly experimental. Do not enable it!
PACKAGECONFIG[freethreading] = "--disable-gil,--enable-gil"
+
PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline"
PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline"
# Use profile guided optimisation by running PyBench inside qemu-user
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
` (10 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR is now suffixed with PYTHON_ABI.
Python build helper classes and the python build modules
use PYTHON_DIR internally, some of them do not care about
the ABI flag. So it's important that the destination
directory is set correctly.
This will also allow fixing recipes that may or may not have
been using PYTHON_ABI consistently, since it was set to an
empty string.
Also added a new variable called PYTHON_MAINVERSION which
is a combination of PYTHON_BASEVERSION and PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python3-dir.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/python3-dir.bbclass b/meta/classes-recipe/python3-dir.bbclass
index 3eb0dea9b2..f3ad0a2d91 100644
--- a/meta/classes-recipe/python3-dir.bbclass
+++ b/meta/classes-recipe/python3-dir.bbclass
@@ -6,6 +6,7 @@
PYTHON_BASEVERSION = "3.14"
PYTHON_ABI = ""
-PYTHON_DIR = "python${PYTHON_BASEVERSION}"
+PYTHON_MAINVERSION = "${PYTHON_BASEVERSION}${PYTHON_ABI}"
+PYTHON_DIR = "python${PYTHON_MAINVERSION}"
PYTHON_PN = "python3"
PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 03/12] python3: Use the variables from python3-dir.bbclass
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
` (9 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Replace using PYTHON_MAJMIN and various custom constructed
settings with inherit python3-dir and its variables.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
.../recipes-devtools/python/python3_3.14.3.bb | 56 +++++++++----------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/meta/recipes-devtools/python/python3_3.14.3.bb b/meta/recipes-devtools/python/python3_3.14.3.bb
index c23605f59c..12d1223d4c 100644
--- a/meta/recipes-devtools/python/python3_3.14.3.bb
+++ b/meta/recipes-devtools/python/python3_3.14.3.bb
@@ -47,19 +47,17 @@ UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
CVE_PRODUCT = "python:python python_software_foundation:python cpython"
-PYTHON_MAJMIN = "3.14"
-
S = "${UNPACKDIR}/Python-${PV}"
BBCLASSEXTEND = "native nativesdk"
-inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
+inherit autotools pkgconfig qemu python3-dir ptest multilib_header update-alternatives
MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
ALTERNATIVE:${PN}-dev = "python3-config"
-ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
-ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
+ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/${PYTHON_DIR}-config"
+ALTERNATIVE_TARGET[python3-config] = "${bindir}/${PYTHON_DIR}-config-${MULTILIB_SUFFIX}"
DEPENDS = "\
autoconf-archive-native \
@@ -86,7 +84,7 @@ EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}"
EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3 PLATFORM_TRIPLET=${HOST_ARCH}-${HOST_OS}"
EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3"
-export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
+export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/lib-dynload/"
EXTRANATIVEPATH += "python3-native"
@@ -185,7 +183,7 @@ do_install:prepend() {
}
do_install:append:class-target() {
- oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
+ oe_multilib_header ${PYTHON_DIR}/pyconfig.h
}
do_install:append:class-native() {
@@ -210,20 +208,20 @@ do_install:append:class-native() {
# Nothing should be looking into ${B} for python3-native
sed -i -e 's:${B}:/build/path/unavailable/:g' \
- ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile
+ ${D}/${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}*/Makefile
# disable the lookup in user's site-packages globally
- sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
+ sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/${PYTHON_DIR}/site.py
# python3-config needs to be in /usr/bin and not in a subdir of it to work properly
mv ${D}/${bindir}/${PN}/python*config ${D}/${bindir}/
}
do_install:append() {
- for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ for c in ${D}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py; do
python3 ${UNPACKDIR}/reformat_sysconfig.py $c
done
- rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython*
+ rm -f ${D}${libdir}/${PYTHON_DIR}/__pycache__/_sysconfigdata*.cpython*
mkdir -p ${D}${libdir}/python-sysconfigdata
sysconfigfile=`find ${D} -name _sysconfig*.py`
@@ -231,8 +229,8 @@ do_install:append() {
-e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
-e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
-e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
- -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \
- -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \
+ -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/${PYTHON_DIR}'\,,g" \
+ -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/${PYTHON_DIR}'\,,g" \
-e "s,${B},/build/path/unavailable/,g" \
$sysconfigfile
cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
@@ -248,7 +246,7 @@ do_install:append:class-nativesdk () {
for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do
sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
done
- create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+ create_wrapper ${D}${bindir}/${PYTHON_DIR} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
}
do_install_ptest:append:class-target:libc-musl () {
@@ -264,7 +262,7 @@ SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " provide_target_config_script
provide_target_config_script() {
install -d ${SYSROOT_DESTDIR}${prefix}/python-target-config/
install ${D}/${bindir}/python3-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
- install ${D}/${bindir}/python${PYTHON_MAJMIN}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
+ install ${D}/${bindir}/${PYTHON_DIR}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
}
SYSROOT_DIRS += "${prefix}/python-target-config/"
@@ -287,13 +285,13 @@ py_package_preprocess () {
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
- ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
+ ${PKGD}/${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}*/Makefile \
+ ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py \
+ ${PKGD}/${bindir}/${PYTHON_DIR}-config
# Reformat _sysconfigdata after modifying it so that it remains
# reproducible
- for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ for c in ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py; do
python3 ${UNPACKDIR}/reformat_sysconfig.py $c
done
@@ -308,7 +306,7 @@ py_package_preprocess () {
-c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
cd -
- mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
+ mv ${PKGD}/${bindir}/${PYTHON_DIR}-config ${PKGD}/${bindir}/${PYTHON_DIR}-config-${MULTILIB_SUFFIX}
#Remove the unneeded copy of target sysconfig data
rm -rf ${PKGD}/${libdir}/python-sysconfigdata
@@ -320,7 +318,7 @@ py_package_preprocess () {
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfig_vars*.json
+ ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfig_vars*.json
}
# We want bytecode precompiled .py files (.pyc's) by default
@@ -421,7 +419,7 @@ do_create_manifest() {
cp ${UNPACKDIR}/get_module_deps3.py ${WORKDIR}
cd ${WORKDIR}
# This needs to be executed by python-native and NOT by HOST's python
- nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
+ nativepython3 create_manifest3.py ${PYTHON_MAINVERSION}
cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
}
@@ -436,11 +434,12 @@ RRECOMMENDS:${PN}-crypt:append:class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX
# For historical reasons PN is empty and provided by python3-modules
FILES:${PN} = ""
+FILES:${PN}-core += "${bindir}/python${PYTHON_MAINVERSION} ${bindir}/python${PYTHON_BASEVERSION}"
RPROVIDES:${PN}-modules = "${PN}"
-FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
-FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
-FILES:${PN}-tkinter += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so"
+FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAINVERSION} ${bindir}/pydoc3"
+FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAINVERSION}"
+FILES:${PN}-tkinter += "${libdir}/${PYTHON_DIR}/lib-dynload/_tkinter.*.so"
# provide python-pyvenv from python3-venv
RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv"
@@ -448,13 +447,14 @@ RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv"
# package libpython3
PACKAGES =+ "libpython3 libpython3-staticdev"
FILES:libpython3 = "${libdir}/libpython*.so.*"
-FILES:libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
+FILES:libpython3-staticdev += "${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}-*/lib${PYTHON_DIR}.a"
INSANE_SKIP:${PN}-dev += "dev-elf"
INSANE_SKIP:${PN}-ptest = "dev-deps"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
RDEPENDS:${PN}-misc += "\
+ bash \
${PN}-audio \
${PN}-codecs \
${PN}-core \
@@ -466,7 +466,7 @@ RDEPENDS:${PN}-misc += "\
RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
RDEPENDS:${PN}-modules:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '${MLPREFIX}python3-gdbm', '', d)}"
-FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
+FILES:${PN}-misc = "${libdir}/${PYTHON_DIR} ${libdir}/${PYTHON_DIR}/lib-dynload"
# catch manpage
PACKAGES += "${PN}-man"
@@ -506,5 +506,5 @@ RDEPENDS:${PN}-tests:append:class-nativesdk = " ${MLPREFIX}bash"
# Python's tests contain large numbers of files we don't need in the recipe sysroots
SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup"
py3_sysroot_cleanup () {
- rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test
+ rm -rf ${SYSROOT_DESTDIR}${libdir}/${PYTHON_DIR}/test
}
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 04/12] python3native.bbclass: Stop using PYTHON_ABI
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
` (8 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python3native.bbclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes-recipe/python3native.bbclass b/meta/classes-recipe/python3native.bbclass
index da1283d6b3..755a6c156c 100644
--- a/meta/classes-recipe/python3native.bbclass
+++ b/meta/classes-recipe/python3native.bbclass
@@ -20,8 +20,8 @@ export STAGING_LIBDIR
# find_package(PythonLibs REQUIRED)
# which ends up using libs/includes from build host
# Therefore pre-empt that effort
-export PYTHON_LIBRARY = "${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
-export PYTHON_INCLUDE_DIR = "${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+export PYTHON_LIBRARY = "${STAGING_LIBDIR}/lib${PYTHON_DIR}.so"
+export PYTHON_INCLUDE_DIR = "${STAGING_INCDIR}/${PYTHON_DIR}"
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (2 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
` (7 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Setting the ABI flag correctly is necessary for modules using
python_maturin.bbclass and others based on pyo3.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python_pyo3.bbclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/python_pyo3.bbclass b/meta/classes-recipe/python_pyo3.bbclass
index 7f5a00f584..c618d711ac 100644
--- a/meta/classes-recipe/python_pyo3.bbclass
+++ b/meta/classes-recipe/python_pyo3.bbclass
@@ -12,7 +12,8 @@
inherit cargo python3-dir siteinfo
export PYO3_CROSS = "1"
-export PYO3_CROSS_PYTHON_VERSION = "${PYTHON_BASEVERSION}"
+export PYO3_CROSS_PYTHON_VERSION = "${PYTHON_MAINVERSION}"
+export ABIFLAGS = "${PYTHON_ABI}"
export PYO3_CROSS_LIB_DIR = "${STAGING_LIBDIR}"
export CARGO_BUILD_TARGET = "${RUST_HOST_SYS}"
export RUSTFLAGS
@@ -25,6 +26,7 @@ implementation=CPython
version=${PYTHON_BASEVERSION}
shared=true
abi3=false
+abiflags=${PYTHON_ABI}
lib_name=${PYTHON_DIR}
lib_dir=${STAGING_LIBDIR}
pointer_width=${SITEINFO_BITS}
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 06/12] clang: Use PYTHON_MAINVERSION for python module versioning
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (3 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
` (6 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Use the new complete main version setting instead of just
PYTHON_BASEVERSION that does not include PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/clang/clang_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index e10c327a2a..d5f8aa777f 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -46,7 +46,7 @@ PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,,"
PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,,"
-PACKAGECONFIG[libclang-python] = "-DCLANG_PYTHON_BINDINGS_VERSIONS=${PYTHON_BASEVERSION},,"
+PACKAGECONFIG[libclang-python] = "-DCLANG_PYTHON_BINDINGS_VERSIONS=${PYTHON_MAINVERSION},,"
OECMAKE_SOURCEPATH = "${S}/clang"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (4 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 08/12] boost: " Zoltán Böszörményi
` (5 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, don't use the latter.
Simplify the linked library name to use -l${PYTHON_DIR}.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 4 ++--
meta/recipes-devtools/gdb/gdb_17.1.bb | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 7b4a7719e4..c4c62d02af 100644
--- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -22,8 +22,8 @@ do_configure:prepend() {
cat > ${WORKDIR}/python << EOF
#! /bin/sh
case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
+ --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;;
+ --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -l${PYTHON_DIR}" ;;
--exec-prefix) echo "${exec_prefix}" ;;
*) exit 1 ;;
esac
diff --git a/meta/recipes-devtools/gdb/gdb_17.1.bb b/meta/recipes-devtools/gdb/gdb_17.1.bb
index 9c6db4ca2c..a5d96f01eb 100644
--- a/meta/recipes-devtools/gdb/gdb_17.1.bb
+++ b/meta/recipes-devtools/gdb/gdb_17.1.bb
@@ -26,8 +26,8 @@ do_configure:prepend() {
cat > ${WORKDIR}/python << EOF
#!/bin/sh
case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
+ --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;;
+ --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -l${PYTHON_DIR}" ;;
--exec-prefix) echo "${exec_prefix}" ;;
*) exit 1 ;;
esac
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 08/12] boost: Stop using PYTHON_ABI
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (5 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 09/12] lttng-tools: " Zoltán Böszörményi
` (4 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, fix the settings accordingly.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-support/boost/boost.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 64a57ddfb2..7b02ed4282 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -174,7 +174,7 @@ do_configure() {
# If we want Python then we need to tell Boost *exactly* where to find it
if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then
- echo "using python : ${PYTHON_BASEVERSION} : ${STAGING_DIR_HOST}${bindir}/python3 : ${STAGING_DIR_HOST}${includedir}/${PYTHON_DIR}${PYTHON_ABI} : ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR} ;" >> ${WORKDIR}/user-config.jam
+ echo "using python : ${PYTHON_MAINVERSION} : ${STAGING_DIR_HOST}${bindir}/python3 : ${STAGING_DIR_HOST}${includedir}/${PYTHON_DIR} : ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR} ;" >> ${WORKDIR}/user-config.jam
fi
if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false', d)}; then
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (6 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 08/12] boost: " Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 10/12] lttng-ust: " Zoltán Böszörményi
` (3 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb b/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
index 3a3f2cff2c..ef80c53e9c 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
@@ -35,7 +35,7 @@ INSANE_SKIP:${PN}-ptest += "dev-deps"
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}' \
"
PACKAGECONFIG ??= "${LTTNGUST} kmod"
PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 10/12] lttng-ust: Stop using PYTHON_ABI
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (7 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 09/12] lttng-tools: " Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
` (2 subsequent siblings)
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
index 1a15c5b420..5c1c74b7a8 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b04e8f34dbcf08198c6618d05e8fe7b"
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}' \
"
inherit autotools lib_package manpages python3native pkgconfig
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 11/12] libcap-ng-python: Use PYTHON_DIR for FILES
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (8 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 10/12] lttng-ust: " Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
2026-03-27 8:37 ` [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Mathieu Dubois-Briand
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb b/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
index f702056f02..f13c2eba17 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
+++ b/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
@@ -14,4 +14,4 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install -C ${B}/bindings/python3
}
-FILES:${PN} = "${libdir}/python${PYTHON_BASEVERSION}"
+FILES:${PN} = "${libdir}/${PYTHON_DIR}"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v2 12/12] hwlatdetect: Use PYTHON_DIR
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (9 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
@ 2026-03-26 14:30 ` Zoltán Böszörményi
2026-03-27 8:37 ` [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Mathieu Dubois-Briand
11 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-26 14:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Instead of custom constructing the python directory,
use PYTHON_DIR for consistency.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-rt/rt-tests/hwlatdetect_git.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
index 2dcc80965a..d37909cd87 100644
--- a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
+++ b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
require rt-tests.inc
inherit python3-dir
-EXTRA_OEMAKE += "PYLIB=${libdir}/python${PYTHON_BASEVERSION}/dist-packages"
+EXTRA_OEMAKE += "PYLIB=${libdir}/${PYTHON_DIR}/dist-packages"
do_compile() {
oe_runmake hwlatdetect
@@ -18,9 +18,9 @@ do_install() {
oe_runmake install_hwlatdetect DESTDIR=${D} SBINDIR=${sbindir} \
MANDIR=${mandir} INCLUDEDIR=${includedir}
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/${PYTHON_DIR}/dist-packages/hwlatdetect.py
}
-FILES:${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py"
+FILES:${PN} += "${libdir}/${PYTHON_DIR}/dist-packages/hwlatdetect.py"
RDEPENDS:${PN} = "python3-core "
RRECOMMENDS:${PN} = "kernel-module-hwlat-detector"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading]
[not found] <18A06529173E9998.57592@lists.openembedded.org>
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
` (10 more replies)
1 sibling, 11 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
The warning comment is really needed. While Python 3.14 supports
free-threading officially, the ecosystem around it does not yet.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/python/python3_3.14.3.bb | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/recipes-devtools/python/python3_3.14.3.bb b/meta/recipes-devtools/python/python3_3.14.3.bb
index 90863a42a1..c40742fb43 100644
--- a/meta/recipes-devtools/python/python3_3.14.3.bb
+++ b/meta/recipes-devtools/python/python3_3.14.3.bb
@@ -113,7 +113,14 @@ CACHED_CONFIGUREVARS:append:libc-musl = "\
# PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407
PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
+
+# Some LLVM/CLANG subprojects (e.g. lldb) and many Python modules
+# do not build when free-threading is enabled. Also, the support
+# for free-threading in many Python modules is not yet production level,
+# although they may build fine.
+# This is highly experimental. Do not enable it!
PACKAGECONFIG[freethreading] = "--disable-gil,--enable-gil"
+
PACKAGECONFIG[readline] = "--with-readline=readline,,readline,,,editline"
PACKAGECONFIG[editline] = "--with-readline=editline,,libedit,,,readline"
# Use profile guided optimisation by running PyBench inside qemu-user
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
` (9 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR is now suffixed with PYTHON_ABI.
Python build helper classes and the python build modules
use PYTHON_DIR internally, some of them do not care about
the ABI flag. So it's important that the destination
directory is set correctly.
This will also allow fixing recipes that may or may not have
been using PYTHON_ABI consistently, since it was set to an
empty string.
Also added a new variable called PYTHON_MAINVERSION which
is a combination of PYTHON_BASEVERSION and PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python3-dir.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/python3-dir.bbclass b/meta/classes-recipe/python3-dir.bbclass
index 3eb0dea9b2..f3ad0a2d91 100644
--- a/meta/classes-recipe/python3-dir.bbclass
+++ b/meta/classes-recipe/python3-dir.bbclass
@@ -6,6 +6,7 @@
PYTHON_BASEVERSION = "3.14"
PYTHON_ABI = ""
-PYTHON_DIR = "python${PYTHON_BASEVERSION}"
+PYTHON_MAINVERSION = "${PYTHON_BASEVERSION}${PYTHON_ABI}"
+PYTHON_DIR = "python${PYTHON_MAINVERSION}"
PYTHON_PN = "python3"
PYTHON_SITEPACKAGES_DIR = "${libdir}/${PYTHON_DIR}/site-packages"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 03/12] python3: Use the variables from python3-dir.bbclass
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
` (8 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Replace using PYTHON_MAJMIN and various custom constructed
settings with inherit python3-dir and its variables.
Adapted the manifest generator scripts and the manifest.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
v3: Rebased over the "bitbake -c create_manifest" fix
.../python/python3/create_manifest3.py | 10 +-
.../python/python3/get_module_deps3.py | 2 +-
.../python/python3/python3-manifest.json | 890 +++++++++---------
.../recipes-devtools/python/python3_3.14.3.bb | 56 +-
4 files changed, 479 insertions(+), 479 deletions(-)
diff --git a/meta/recipes-devtools/python/python3/create_manifest3.py b/meta/recipes-devtools/python/python3/create_manifest3.py
index 288d5ede3a..6b254551a5 100644
--- a/meta/recipes-devtools/python/python3/create_manifest3.py
+++ b/meta/recipes-devtools/python/python3/create_manifest3.py
@@ -50,7 +50,7 @@ if '-d' in sys.argv:
else:
debugFlag = ''
-# Get python version from ${PYTHON_MAJMIN}
+# Get python version from ${PYTHON_MAINVERSION}
pyversion = str(sys.argv[1])
# Hack to get native python search path (for folders), not fond of it but it works for now
@@ -71,7 +71,7 @@ hasfolders = []
allfolders = []
def isFolder(value):
- value = value.replace('${PYTHON_MAJMIN}',pyversion)
+ value = value.replace('${PYTHON_MAINVERSION}',pyversion)
if os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib64')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib32')):
return True
else:
@@ -122,7 +122,7 @@ print_indent('Getting dependencies for package: core', 0)
output = subprocess.check_output([sys.executable, 'get_module_deps3.py', 'python-core-package', '%s' % debugFlag]).decode('utf8')
for coredep in output.split():
- coredep = coredep.replace(pyversion,'${PYTHON_MAJMIN}')
+ coredep = coredep.replace(pyversion,'${PYTHON_MAINVERSION}')
if isCached(coredep):
if coredep not in old_manifest['core']['cached']:
old_manifest['core']['cached'].append(coredep)
@@ -173,7 +173,7 @@ for filedep in old_manifest['core']['files']:
for pymodule_dep in output.split():
- pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}')
+ pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAINVERSION}')
if isCached(pymodule_dep):
if pymodule_dep not in old_manifest['core']['cached']:
@@ -318,7 +318,7 @@ for pypkg in old_manifest:
# is folder_string inside path/folder1/folder2/filename?,
# Yes, it works, but we waste a couple of milliseconds.
- pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}')
+ pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAINVERSION}')
inFolders = False
for folder in allfolders:
# The module could have a directory named after it, e.g. xml, if we take out the filename from the path
diff --git a/meta/recipes-devtools/python/python3/get_module_deps3.py b/meta/recipes-devtools/python/python3/get_module_deps3.py
index 8e432b49af..8eb01e4091 100644
--- a/meta/recipes-devtools/python/python3/get_module_deps3.py
+++ b/meta/recipes-devtools/python/python3/get_module_deps3.py
@@ -116,7 +116,7 @@ for item in dif:
# Site-customize is a special case since we (OpenEmbedded) put it there manually
if 'sitecustomize' in dep_path:
- dep_path = '${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py'
+ dep_path = '${libdir}/python${PYTHON_MAINVERSION}/sitecustomize.py'
# Prints out result, which is what will be used by create_manifest
print (dep_path)
continue
diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json
index 23289ab8c5..ca58e57e57 100644
--- a/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -19,7 +19,7 @@
# We want to add a web browser package, including the file webbrowser.py
# which at the moment is on python3-misc.
# "webbrowser": {
-# "files": ["${libdir}/python${PYTHON_MAJMIN}/lib-dynload/webbrowser.py"],
+# "files": ["${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/webbrowser.py"],
# "rdepends": [],
# "summary": "Python Web Browser support"}
#
@@ -28,7 +28,7 @@
# We run $ bitbake python3 -c create_manifest and the resulting manifest
# should be completed after a few seconds, showing something like:
# "webbrowser": {
-# "files": ["${libdir}/python${PYTHON_MAJMIN}/webbrowser.py"],
+# "files": ["${libdir}/python${PYTHON_MAINVERSION}/webbrowser.py"],
# "rdepends": ["core","fcntl","io","pickle","shell","subprocess"],
# "summary": "Python Web Browser support"}
#
@@ -96,10 +96,10 @@
"modules"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/*/test",
- "${libdir}/python${PYTHON_MAJMIN}/*/tests",
- "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test",
- "${libdir}/python${PYTHON_MAJMIN}/test"
+ "${libdir}/python${PYTHON_MAINVERSION}/*/test",
+ "${libdir}/python${PYTHON_MAINVERSION}/*/tests",
+ "${libdir}/python${PYTHON_MAINVERSION}/idlelib/idle_test",
+ "${libdir}/python${PYTHON_MAINVERSION}/test"
],
"cached": []
},
@@ -114,11 +114,11 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/asyncio",
- "${libdir}/python${PYTHON_MAJMIN}/concurrent",
- "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_remote_debugging.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/asyncio",
+ "${libdir}/python${PYTHON_MAINVERSION}/concurrent",
+ "${libdir}/python${PYTHON_MAINVERSION}/concurrent/futures",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_asyncio.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_remote_debugging.*.so"
],
"cached": []
},
@@ -128,10 +128,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/wave.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/wave.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/wave.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/wave.*.pyc"
]
},
"codecs": {
@@ -140,7 +140,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multibytecodec.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_multibytecodec.*.so"
],
"cached": []
},
@@ -150,14 +150,14 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/compileall.py",
- "${libdir}/python${PYTHON_MAJMIN}/filecmp.py",
- "${libdir}/python${PYTHON_MAJMIN}/py_compile.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/compileall.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/filecmp.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/py_compile.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/filecmp.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/compileall.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/filecmp.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/py_compile.*.pyc"
]
},
"compression": {
@@ -166,284 +166,284 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/compression",
- "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
- "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
- "${libdir}/python${PYTHON_MAJMIN}/gzip.py",
- "${libdir}/python${PYTHON_MAJMIN}/tarfile.py",
- "${libdir}/python${PYTHON_MAJMIN}/zipfile"
+ "${libdir}/python${PYTHON_MAINVERSION}/compression",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/_common",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/zstd",
+ "${libdir}/python${PYTHON_MAINVERSION}/gzip.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/tarfile.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/zipfile"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/gzip.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/tarfile.*.pyc"
]
},
"core": {
"summary": "Python interpreter and core modules",
"rdepends": [],
"files": [
- "${bindir}/python${PYTHON_MAJMIN}",
- "${bindir}/python${PYTHON_MAJMIN}.real",
+ "${bindir}/python${PYTHON_MAINVERSION}",
+ "${bindir}/python${PYTHON_MAINVERSION}.real",
"${bindir}/python3",
- "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h",
- "${libdir}/python${PYTHON_MAJMIN}/UserDict.py",
- "${libdir}/python${PYTHON_MAJMIN}/UserList.py",
- "${libdir}/python${PYTHON_MAJMIN}/UserString.py",
- "${libdir}/python${PYTHON_MAJMIN}/__future__.py",
- "${libdir}/python${PYTHON_MAJMIN}/_abcoll.py",
- "${libdir}/python${PYTHON_MAJMIN}/_ast_unparse.py",
- "${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py",
- "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/_colorize.py",
- "${libdir}/python${PYTHON_MAJMIN}/_compression.py",
- "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",
- "${libdir}/python${PYTHON_MAJMIN}/_opcode_metadata.py",
- "${libdir}/python${PYTHON_MAJMIN}/_py_warnings.py",
- "${libdir}/python${PYTHON_MAJMIN}/_pyrepl",
- "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/pager.py",
- "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",
- "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",
- "${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py",
- "${libdir}/python${PYTHON_MAJMIN}/abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/annotationlib.py",
- "${libdir}/python${PYTHON_MAJMIN}/argparse.py",
- "${libdir}/python${PYTHON_MAJMIN}/ast.py",
- "${libdir}/python${PYTHON_MAJMIN}/bisect.py",
- "${libdir}/python${PYTHON_MAJMIN}/bz2.py",
- "${libdir}/python${PYTHON_MAJMIN}/code.py",
- "${libdir}/python${PYTHON_MAJMIN}/codecs.py",
- "${libdir}/python${PYTHON_MAJMIN}/codeop.py",
- "${libdir}/python${PYTHON_MAJMIN}/collections",
- "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/compression",
- "${libdir}/python${PYTHON_MAJMIN}/compression/_common",
- "${libdir}/python${PYTHON_MAJMIN}/compression/_common/_streams.py",
- "${libdir}/python${PYTHON_MAJMIN}/compression/zstd",
- "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/_zstdfile.py",
- "${libdir}/python${PYTHON_MAJMIN}/configparser.py",
- "${libdir}/python${PYTHON_MAJMIN}/contextlib.py",
- "${libdir}/python${PYTHON_MAJMIN}/copy.py",
- "${libdir}/python${PYTHON_MAJMIN}/copyreg.py",
- "${libdir}/python${PYTHON_MAJMIN}/csv.py",
- "${libdir}/python${PYTHON_MAJMIN}/dataclasses.py",
- "${libdir}/python${PYTHON_MAJMIN}/dis.py",
- "${libdir}/python${PYTHON_MAJMIN}/encodings",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/aliases.py",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py",
- "${libdir}/python${PYTHON_MAJMIN}/enum.py",
- "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py",
- "${libdir}/python${PYTHON_MAJMIN}/functools.py",
- "${libdir}/python${PYTHON_MAJMIN}/genericpath.py",
- "${libdir}/python${PYTHON_MAJMIN}/getopt.py",
- "${libdir}/python${PYTHON_MAJMIN}/gettext.py",
- "${libdir}/python${PYTHON_MAJMIN}/glob.py",
- "${libdir}/python${PYTHON_MAJMIN}/heapq.py",
- "${libdir}/python${PYTHON_MAJMIN}/imp.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/_abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap_external.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/machinery.py",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py",
- "${libdir}/python${PYTHON_MAJMIN}/inspect.py",
- "${libdir}/python${PYTHON_MAJMIN}/io.py",
- "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py",
- "${libdir}/python${PYTHON_MAJMIN}/keyword.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_interpreters.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_typing.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zstd.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/select.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/linecache.py",
- "${libdir}/python${PYTHON_MAJMIN}/locale.py",
- "${libdir}/python${PYTHON_MAJMIN}/lzma.py",
- "${libdir}/python${PYTHON_MAJMIN}/new.py",
- "${libdir}/python${PYTHON_MAJMIN}/ntpath.py",
- "${libdir}/python${PYTHON_MAJMIN}/opcode.py",
- "${libdir}/python${PYTHON_MAJMIN}/operator.py",
- "${libdir}/python${PYTHON_MAJMIN}/optparse.py",
- "${libdir}/python${PYTHON_MAJMIN}/os.py",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib.py",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/_abc.py",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/_local.py",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/_os.py",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/types.py",
- "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py",
- "${libdir}/python${PYTHON_MAJMIN}/platform.py",
- "${libdir}/python${PYTHON_MAJMIN}/posixpath.py",
- "${libdir}/python${PYTHON_MAJMIN}/re",
- "${libdir}/python${PYTHON_MAJMIN}/re/_casefix.py",
- "${libdir}/python${PYTHON_MAJMIN}/re/_compiler.py",
- "${libdir}/python${PYTHON_MAJMIN}/re/_constants.py",
- "${libdir}/python${PYTHON_MAJMIN}/re/_parser.py",
- "${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
- "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
- "${libdir}/python${PYTHON_MAJMIN}/runpy.py",
- "${libdir}/python${PYTHON_MAJMIN}/selectors.py",
- "${libdir}/python${PYTHON_MAJMIN}/shutil.py",
- "${libdir}/python${PYTHON_MAJMIN}/signal.py",
- "${libdir}/python${PYTHON_MAJMIN}/site.py",
- "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py",
- "${libdir}/python${PYTHON_MAJMIN}/sre_compile.py",
- "${libdir}/python${PYTHON_MAJMIN}/sre_constants.py",
- "${libdir}/python${PYTHON_MAJMIN}/sre_parse.py",
- "${libdir}/python${PYTHON_MAJMIN}/stat.py",
- "${libdir}/python${PYTHON_MAJMIN}/stringprep.py",
- "${libdir}/python${PYTHON_MAJMIN}/struct.py",
- "${libdir}/python${PYTHON_MAJMIN}/subprocess.py",
- "${libdir}/python${PYTHON_MAJMIN}/symbol.py",
- "${libdir}/python${PYTHON_MAJMIN}/sysconfig",
- "${libdir}/python${PYTHON_MAJMIN}/sysconfig.py",
- "${libdir}/python${PYTHON_MAJMIN}/textwrap.py",
- "${libdir}/python${PYTHON_MAJMIN}/threading.py",
- "${libdir}/python${PYTHON_MAJMIN}/token.py",
- "${libdir}/python${PYTHON_MAJMIN}/tokenize.py",
- "${libdir}/python${PYTHON_MAJMIN}/traceback.py",
- "${libdir}/python${PYTHON_MAJMIN}/types.py",
- "${libdir}/python${PYTHON_MAJMIN}/typing.py",
- "${libdir}/python${PYTHON_MAJMIN}/urllib",
- "${libdir}/python${PYTHON_MAJMIN}/urllib/parse.py",
- "${libdir}/python${PYTHON_MAJMIN}/warnings.py",
- "${libdir}/python${PYTHON_MAJMIN}/weakref.py",
- "${libdir}/python${PYTHON_MAJMIN}/zipimport.py",
- "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]"
+ "${includedir}/python${PYTHON_MAINVERSION}/pyconfig*.h",
+ "${libdir}/python${PYTHON_MAINVERSION}/UserDict.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/UserList.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/UserString.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/__future__.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_abcoll.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_ast_unparse.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_bootlocale.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_collections_abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_colorize.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_compression.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_markupbase.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_opcode_metadata.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_py_warnings.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_pyrepl",
+ "${libdir}/python${PYTHON_MAINVERSION}/_pyrepl/pager.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_sitebuiltins.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_sysconfigdata*.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/_weakrefset.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/annotationlib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/argparse.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/ast.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/bisect.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/bz2.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/code.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/codecs.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/codeop.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/collections",
+ "${libdir}/python${PYTHON_MAINVERSION}/collections/abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/_common",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/_common/_streams.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/zstd",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/zstd/_zstdfile.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/configparser.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/contextlib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/copy.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/copyreg.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/csv.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/dataclasses.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/dis.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/aliases.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/latin_1.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/utf_8.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/enum.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/fnmatch.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/functools.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/genericpath.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/getopt.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/gettext.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/glob.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/heapq.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/imp.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/_abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/_bootstrap.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/_bootstrap_external.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/machinery.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/util.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/inspect.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/io.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/ipaddress.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/keyword.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/__pycache__/_struct.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/__pycache__/binascii.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/__pycache__/time.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/__pycache__/xreadlines.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_bisect.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_bz2.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_csv.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_heapq.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_interpreters.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_lzma.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_opcode.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_posixsubprocess.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_struct.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_typing.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_zstd.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/array.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/binascii.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/fcntl.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/grp.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/math.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/parser.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/readline.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/select.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/time.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/unicodedata.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/xreadlines.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/zlib.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/linecache.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/locale.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lzma.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/new.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/ntpath.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/opcode.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/operator.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/optparse.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/os.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/_abc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/_local.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/_os.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/types.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pkgutil.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/platform.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/posixpath.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/re",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/_casefix.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/_compiler.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/_constants.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/_parser.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/reprlib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/rlcompleter.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/runpy.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/selectors.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/shutil.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/signal.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/site.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/sitecustomize.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/sre_compile.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/sre_constants.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/sre_parse.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/stat.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/stringprep.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/struct.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/subprocess.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/symbol.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/sysconfig",
+ "${libdir}/python${PYTHON_MAINVERSION}/sysconfig.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/textwrap.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/threading.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/token.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/tokenize.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/traceback.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/types.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/typing.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/urllib",
+ "${libdir}/python${PYTHON_MAINVERSION}/urllib/parse.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/warnings.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/weakref.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/zipimport.py",
+ "${prefix}/lib/python${PYTHON_MAINVERSION}/config*/*[!.a]"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_ast_unparse.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_colorize.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_opcode_metadata.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_py_warnings.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/annotationlib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/configparser.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextlib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dataclasses.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gettext.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/heapq.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pathlib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_constants.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_parse.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stat.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stringprep.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/struct.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/subprocess.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/symbol.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sysconfig.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/textwrap.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/threading.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/token.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/_pyrepl/__pycache__/pager.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/compression/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/compression/_common/__pycache__/_streams.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/compression/zstd/__pycache__/_zstdfile.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/utf_8.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/_abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/machinery.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/util.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_abc.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_local.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/_os.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/pathlib/__pycache__/types.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_casefix.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_compiler.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_constants.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/re/__pycache__/_parser.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/sysconfig/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__/parse.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/__future__.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_ast_unparse.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_bootlocale.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_collections_abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_colorize.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_compression.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_markupbase.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_opcode_metadata.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_py_warnings.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_sitebuiltins.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_sysconfigdata*.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_weakrefset.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/annotationlib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/argparse.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/ast.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/bisect.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/bz2.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/code.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/codecs.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/codeop.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/configparser.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/contextlib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/copy.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/copyreg.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/csv.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/dataclasses.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/dis.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/enum.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/fnmatch.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/functools.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/genericpath.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/getopt.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/gettext.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/glob.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/heapq.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/imp.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/inspect.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/io.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/ipaddress.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/keyword.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/linecache.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/locale.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/lzma.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/ntpath.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/opcode.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/operator.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/optparse.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/os.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pathlib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pkgutil.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/platform.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/posixpath.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/re.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/reprlib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/rlcompleter.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/runpy.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/selectors.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/shutil.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/signal.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/site.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/sre_compile.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/sre_constants.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/sre_parse.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/stat.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/stringprep.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/struct.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/subprocess.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/symbol.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/sysconfig.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/textwrap.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/threading.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/token.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/tokenize.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/traceback.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/types.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/typing.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/warnings.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/weakref.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/_pyrepl/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/_pyrepl/__pycache__/pager.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/collections/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/collections/__pycache__/abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/_common/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/_common/__pycache__/_streams.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/zstd/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/compression/zstd/__pycache__/_zstdfile.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/__pycache__/aliases.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/__pycache__/latin_1.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/encodings/__pycache__/utf_8.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/__pycache__/_abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/__pycache__/abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/__pycache__/machinery.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/importlib/__pycache__/util.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/__pycache__/_abc.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/__pycache__/_local.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/__pycache__/_os.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/pathlib/__pycache__/types.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/__pycache__/_casefix.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/__pycache__/_compiler.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/__pycache__/_constants.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/re/__pycache__/_parser.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/sysconfig/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/urllib/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/urllib/__pycache__/parse.*.pyc"
]
},
"crypt": {
@@ -452,16 +452,16 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/hashlib.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha2.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/hashlib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_blake2.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_hashlib.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_md5.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_sha1.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_sha2.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_sha3.*.so"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hashlib.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/hashlib.*.pyc"
]
},
"ctypes": {
@@ -473,9 +473,9 @@
"math"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/ctypes",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes_test.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/ctypes",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_ctypes.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_ctypes_test.*.so"
],
"cached": []
},
@@ -485,9 +485,9 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/curses",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses_panel.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/curses",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_curses.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_curses_panel.*.so"
],
"cached": []
},
@@ -497,14 +497,14 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_strptime.py",
- "${libdir}/python${PYTHON_MAJMIN}/calendar.py",
- "${libdir}/python${PYTHON_MAJMIN}/datetime.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/_strptime.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/calendar.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/datetime.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/calendar.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/datetime.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_strptime.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/calendar.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/datetime.*.pyc"
]
},
"db": {
@@ -513,8 +513,8 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/dbm",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_dbm.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/dbm",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_dbm.*.so"
],
"cached": []
},
@@ -535,12 +535,12 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/bdb.py",
- "${libdir}/python${PYTHON_MAJMIN}/pdb.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/bdb.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pdb.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bdb.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pdb.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/bdb.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pdb.*.pyc"
]
},
"dev": {
@@ -569,10 +569,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/difflib.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/difflib.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/difflib.*.pyc"
]
},
"doctest": {
@@ -595,10 +595,10 @@
"unittest"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/doctest.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/doctest.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/doctest.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/doctest.*.pyc"
]
},
"email": {
@@ -613,11 +613,11 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/email",
- "${libdir}/python${PYTHON_MAJMIN}/imaplib.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/email",
+ "${libdir}/python${PYTHON_MAINVERSION}/imaplib.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imaplib.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/imaplib.*.pyc"
]
},
"ensurepip": {
@@ -629,7 +629,7 @@
"math"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/ensurepip"
+ "${libdir}/python${PYTHON_MAINVERSION}/ensurepip"
],
"cached": []
},
@@ -647,7 +647,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_gdbm.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_gdbm.*.so"
],
"cached": []
},
@@ -657,7 +657,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/html"
+ "${libdir}/python${PYTHON_MAINVERSION}/html"
],
"cached": []
},
@@ -668,7 +668,7 @@
],
"files": [
"${bindir}/idle*",
- "${libdir}/python${PYTHON_MAJMIN}/idlelib"
+ "${libdir}/python${PYTHON_MAINVERSION}/idlelib"
],
"cached": []
},
@@ -678,10 +678,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/colorsys.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/colorsys.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/colorsys.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/colorsys.*.pyc"
]
},
"io": {
@@ -693,19 +693,19 @@
"netclient"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_pyio.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/socket.py",
- "${libdir}/python${PYTHON_MAJMIN}/ssl.py",
- "${libdir}/python${PYTHON_MAJMIN}/tempfile.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/_pyio.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_socket.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_ssl.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/termios.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/socket.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/ssl.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/tempfile.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tempfile.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_pyio.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/socket.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/ssl.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/tempfile.*.pyc"
]
},
"json": {
@@ -714,8 +714,8 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/json",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_json.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/json",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_json.*.so"
],
"cached": []
},
@@ -730,7 +730,7 @@
"threading"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/logging"
+ "${libdir}/python${PYTHON_MAINVERSION}/logging"
],
"cached": []
},
@@ -747,10 +747,10 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/mailbox.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/mailbox.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mailbox.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/mailbox.*.pyc"
]
},
"math": {
@@ -759,12 +759,12 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_random.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/cmath.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/random.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_random.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/cmath.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/random.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/random.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/random.*.pyc"
]
},
"mime": {
@@ -773,10 +773,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/quopri.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/quopri.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/quopri.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/quopri.*.pyc"
]
},
"mmap": {
@@ -785,7 +785,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/mmap.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/mmap.*.so"
],
"cached": []
},
@@ -865,9 +865,9 @@
"threading"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixshmem.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/multiprocessing"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_multiprocessing.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_posixshmem.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/multiprocessing"
],
"cached": []
},
@@ -884,29 +884,29 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/base64.py",
- "${libdir}/python${PYTHON_MAJMIN}/ftplib.py",
- "${libdir}/python${PYTHON_MAJMIN}/hmac.py",
- "${libdir}/python${PYTHON_MAJMIN}/http",
- "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hmac.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py",
- "${libdir}/python${PYTHON_MAJMIN}/poplib.py",
- "${libdir}/python${PYTHON_MAJMIN}/secrets.py",
- "${libdir}/python${PYTHON_MAJMIN}/smtplib.py",
- "${libdir}/python${PYTHON_MAJMIN}/urllib",
- "${libdir}/python${PYTHON_MAJMIN}/uuid.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/base64.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/ftplib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/hmac.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/http",
+ "${libdir}/python${PYTHON_MAINVERSION}/http/__pycache__",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_hmac.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_uuid.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/mimetypes.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/poplib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/secrets.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/smtplib.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/urllib",
+ "${libdir}/python${PYTHON_MAINVERSION}/uuid.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/base64.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ftplib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hmac.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mimetypes.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/poplib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/secrets.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtplib.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uuid.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/base64.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/ftplib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/hmac.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/mimetypes.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/poplib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/secrets.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/smtplib.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/uuid.*.pyc"
]
},
"netserver": {
@@ -916,10 +916,10 @@
"io"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/socketserver.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/socketserver.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socketserver.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/socketserver.*.pyc"
]
},
"numbers": {
@@ -928,19 +928,19 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_pydecimal.py",
- "${libdir}/python${PYTHON_MAJMIN}/contextvars.py",
- "${libdir}/python${PYTHON_MAJMIN}/decimal.py",
- "${libdir}/python${PYTHON_MAJMIN}/fractions.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/numbers.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/_pydecimal.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/contextvars.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/decimal.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/fractions.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_decimal.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/numbers.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pydecimal.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/decimal.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fractions.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/numbers.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_pydecimal.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/contextvars.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/decimal.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/fractions.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/numbers.*.pyc"
]
},
"pickle": {
@@ -949,17 +949,17 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_compat_pickle.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_pickle.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/pickle.py",
- "${libdir}/python${PYTHON_MAJMIN}/pickletools.py",
- "${libdir}/python${PYTHON_MAJMIN}/shelve.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/_compat_pickle.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_pickle.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/pickle.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pickletools.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/shelve.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compat_pickle.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickle.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickletools.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shelve.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_compat_pickle.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pickle.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pickletools.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/shelve.*.pyc"
]
},
"pkgutil": {
@@ -978,10 +978,10 @@
"xml"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/plistlib.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/plistlib.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/plistlib.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/plistlib.*.pyc"
]
},
"pprint": {
@@ -990,10 +990,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/pprint.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/pprint.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pprint.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pprint.*.pyc"
]
},
"profile": {
@@ -1002,15 +1002,15 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/cProfile.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/profile.py",
- "${libdir}/python${PYTHON_MAJMIN}/pstats.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/cProfile.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_lsprof.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/profile.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pstats.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/cProfile.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/profile.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pstats.*.pyc"
]
},
"pydoc": {
@@ -1020,11 +1020,11 @@
],
"files": [
"${bindir}/pydoc*",
- "${libdir}/python${PYTHON_MAJMIN}/pydoc.py",
- "${libdir}/python${PYTHON_MAJMIN}/pydoc_data"
+ "${libdir}/python${PYTHON_MAINVERSION}/pydoc.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/pydoc_data"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pydoc.*.pyc"
]
},
"resource": {
@@ -1033,7 +1033,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/resource.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/resource.*.so"
],
"cached": []
},
@@ -1043,12 +1043,12 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/cmd.py",
- "${libdir}/python${PYTHON_MAJMIN}/shlex.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/cmd.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/shlex.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/cmd.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/shlex.*.pyc"
]
},
"sqlite3": {
@@ -1058,8 +1058,8 @@
"datetime"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sqlite3.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/sqlite3"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_sqlite3.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/sqlite3"
],
"cached": []
},
@@ -1071,11 +1071,11 @@
"numbers"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_statistics.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/statistics.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_statistics.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/statistics.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/statistics.*.pyc"
]
},
"stringold": {
@@ -1084,7 +1084,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/string"
+ "${libdir}/python${PYTHON_MAINVERSION}/string"
],
"cached": []
},
@@ -1094,7 +1094,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/syslog.*.so"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/syslog.*.so"
],
"cached": []
},
@@ -1105,12 +1105,12 @@
"io"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/pty.py",
- "${libdir}/python${PYTHON_MAJMIN}/tty.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/pty.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/tty.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pty.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tty.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/pty.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/tty.*.pyc"
]
},
"threading": {
@@ -1119,13 +1119,13 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/queue.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/_threading_local.py",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_queue.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/queue.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc",
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/_threading_local.*.pyc",
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/queue.*.pyc"
]
},
"tkinter": {
@@ -1134,7 +1134,7 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/tkinter"
+ "${libdir}/python${PYTHON_MAINVERSION}/tkinter"
],
"cached": []
},
@@ -1145,7 +1145,7 @@
"datetime"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/tomllib"
+ "${libdir}/python${PYTHON_MAINVERSION}/tomllib"
],
"cached": []
},
@@ -1163,7 +1163,7 @@
"stringold"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/unittest"
+ "${libdir}/python${PYTHON_MAINVERSION}/unittest"
],
"cached": []
},
@@ -1174,10 +1174,10 @@
"io"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/getpass.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/getpass.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getpass.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/getpass.*.pyc"
]
},
"venv": {
@@ -1191,7 +1191,7 @@
],
"files": [
"${bindir}/pyvenv*",
- "${libdir}/python${PYTHON_MAJMIN}/venv"
+ "${libdir}/python${PYTHON_MAINVERSION}/venv"
],
"cached": []
},
@@ -1201,9 +1201,9 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_elementtree.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/pyexpat.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/xml"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_elementtree.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/pyexpat.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/xml"
],
"cached": []
},
@@ -1225,8 +1225,8 @@
"xml"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/xmlrpc",
- "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__"
+ "${libdir}/python${PYTHON_MAINVERSION}/xmlrpc",
+ "${libdir}/python${PYTHON_MAINVERSION}/xmlrpc/__pycache__"
],
"cached": []
},
@@ -1237,10 +1237,10 @@
"core"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/zipapp.py"
+ "${libdir}/python${PYTHON_MAINVERSION}/zipapp.py"
],
"cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipapp.*.pyc"
+ "${libdir}/python${PYTHON_MAINVERSION}/__pycache__/zipapp.*.pyc"
]
},
"zoneinfo": {
@@ -1250,8 +1250,8 @@
"datetime"
],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_zoneinfo.*.so",
- "${libdir}/python${PYTHON_MAJMIN}/zoneinfo"
+ "${libdir}/python${PYTHON_MAINVERSION}/lib-dynload/_zoneinfo.*.so",
+ "${libdir}/python${PYTHON_MAINVERSION}/zoneinfo"
],
"cached": []
}
diff --git a/meta/recipes-devtools/python/python3_3.14.3.bb b/meta/recipes-devtools/python/python3_3.14.3.bb
index c40742fb43..1a891208ff 100644
--- a/meta/recipes-devtools/python/python3_3.14.3.bb
+++ b/meta/recipes-devtools/python/python3_3.14.3.bb
@@ -48,19 +48,17 @@ UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
CVE_PRODUCT = "python:python python_software_foundation:python cpython"
-PYTHON_MAJMIN = "3.14"
-
S = "${UNPACKDIR}/Python-${PV}"
BBCLASSEXTEND = "native nativesdk"
-inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
+inherit autotools pkgconfig qemu python3-dir ptest multilib_header update-alternatives
MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
ALTERNATIVE:${PN}-dev = "python3-config"
-ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config"
-ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
+ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/${PYTHON_DIR}-config"
+ALTERNATIVE_TARGET[python3-config] = "${bindir}/${PYTHON_DIR}-config-${MULTILIB_SUFFIX}"
DEPENDS = "\
autoconf-archive-native \
@@ -87,7 +85,7 @@ EXTRA_OECONF:append:class-native = " --bindir=${bindir}/${PN}"
EXTRA_OECONF:append:class-target = " --with-build-python=nativepython3 PLATFORM_TRIPLET=${HOST_ARCH}-${HOST_OS}"
EXTRA_OECONF:append:class-nativesdk = " --with-build-python=nativepython3"
-export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
+export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/lib-dynload/"
EXTRANATIVEPATH += "python3-native"
@@ -186,7 +184,7 @@ do_install:prepend() {
}
do_install:append:class-target() {
- oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h
+ oe_multilib_header ${PYTHON_DIR}/pyconfig.h
}
do_install:append:class-native() {
@@ -211,20 +209,20 @@ do_install:append:class-native() {
# Nothing should be looking into ${B} for python3-native
sed -i -e 's:${B}:/build/path/unavailable/:g' \
- ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile
+ ${D}/${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}*/Makefile
# disable the lookup in user's site-packages globally
- sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
+ sed -i 's#ENABLE_USER_SITE = None#ENABLE_USER_SITE = False#' ${D}${libdir}/${PYTHON_DIR}/site.py
# python3-config needs to be in /usr/bin and not in a subdir of it to work properly
mv ${D}/${bindir}/${PN}/python*config ${D}/${bindir}/
}
do_install:append() {
- for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ for c in ${D}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py; do
python3 ${UNPACKDIR}/reformat_sysconfig.py $c
done
- rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython*
+ rm -f ${D}${libdir}/${PYTHON_DIR}/__pycache__/_sysconfigdata*.cpython*
mkdir -p ${D}${libdir}/python-sysconfigdata
sysconfigfile=`find ${D} -name _sysconfig*.py`
@@ -232,8 +230,8 @@ do_install:append() {
-e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
-e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
-e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
- -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \
- -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/python${PYTHON_MAJMIN}'\,,g" \
+ -e "s,^ 'INCLUDEPY'.*, 'INCLUDEPY': '${STAGING_INCDIR}/${PYTHON_DIR}'\,,g" \
+ -e "s,^ 'CONFINCLUDEPY'.*, 'CONFINCLUDEPY': '${STAGING_INCDIR}/${PYTHON_DIR}'\,,g" \
-e "s,${B},/build/path/unavailable/,g" \
$sysconfigfile
cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
@@ -249,7 +247,7 @@ do_install:append:class-nativesdk () {
for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do
sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
done
- create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+ create_wrapper ${D}${bindir}/${PYTHON_DIR} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
}
do_install_ptest:append:class-target:libc-musl () {
@@ -265,7 +263,7 @@ SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " provide_target_config_script
provide_target_config_script() {
install -d ${SYSROOT_DESTDIR}${prefix}/python-target-config/
install ${D}/${bindir}/python3-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
- install ${D}/${bindir}/python${PYTHON_MAJMIN}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
+ install ${D}/${bindir}/${PYTHON_DIR}-config ${SYSROOT_DESTDIR}/${prefix}/python-target-config/
}
SYSROOT_DIRS += "${prefix}/python-target-config/"
@@ -288,13 +286,13 @@ py_package_preprocess () {
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \
- ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config
+ ${PKGD}/${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}*/Makefile \
+ ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py \
+ ${PKGD}/${bindir}/${PYTHON_DIR}-config
# Reformat _sysconfigdata after modifying it so that it remains
# reproducible
- for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
+ for c in ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfigdata*.py; do
python3 ${UNPACKDIR}/reformat_sysconfig.py $c
done
@@ -309,7 +307,7 @@ py_package_preprocess () {
-c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
cd -
- mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}
+ mv ${PKGD}/${bindir}/${PYTHON_DIR}-config ${PKGD}/${bindir}/${PYTHON_DIR}-config-${MULTILIB_SUFFIX}
#Remove the unneeded copy of target sysconfig data
rm -rf ${PKGD}/${libdir}/python-sysconfigdata
@@ -321,7 +319,7 @@ py_package_preprocess () {
-e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-e 's:${RECIPE_SYSROOT}::g' \
-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfig_vars*.json
+ ${PKGD}/${libdir}/${PYTHON_DIR}/_sysconfig_vars*.json
}
# We want bytecode precompiled .py files (.pyc's) by default
@@ -422,7 +420,7 @@ do_create_manifest() {
cp ${UNPACKDIR}/get_module_deps3.py ${WORKDIR}
cd ${WORKDIR}
# This needs to be executed by python-native and NOT by HOST's python
- nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
+ nativepython3 create_manifest3.py ${PYTHON_MAINVERSION}
cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
}
@@ -437,11 +435,12 @@ RRECOMMENDS:${PN}-crypt:append:class-nativesdk = " ${MLPREFIX}openssl ${MLPREFIX
# For historical reasons PN is empty and provided by python3-modules
FILES:${PN} = ""
+FILES:${PN}-core:append = " ${bindir}/python${PYTHON_BASEVERSION}"
RPROVIDES:${PN}-modules = "${PN}"
-FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
-FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
-FILES:${PN}-tkinter += "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so"
+FILES:${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAINVERSION} ${bindir}/pydoc3"
+FILES:${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAINVERSION}"
+FILES:${PN}-tkinter += "${libdir}/${PYTHON_DIR}/lib-dynload/_tkinter.*.so"
# provide python-pyvenv from python3-venv
RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv"
@@ -449,13 +448,14 @@ RPROVIDES:${PN}-venv += "${MLPREFIX}python3-pyvenv"
# package libpython3
PACKAGES =+ "libpython3 libpython3-staticdev"
FILES:libpython3 = "${libdir}/libpython*.so.*"
-FILES:libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a"
+FILES:libpython3-staticdev += "${libdir}/${PYTHON_DIR}/config-${PYTHON_MAINVERSION}-*/lib${PYTHON_DIR}.a"
INSANE_SKIP:${PN}-dev += "dev-elf"
INSANE_SKIP:${PN}-ptest = "dev-deps"
# catch all the rest (unsorted)
PACKAGES += "${PN}-misc"
RDEPENDS:${PN}-misc += "\
+ bash \
${PN}-audio \
${PN}-codecs \
${PN}-core \
@@ -467,7 +467,7 @@ RDEPENDS:${PN}-misc += "\
RDEPENDS:${PN}-modules:append:class-target = " ${MLPREFIX}python3-misc"
RDEPENDS:${PN}-modules:append:class-nativesdk = " ${MLPREFIX}python3-misc"
RDEPENDS:${PN}-modules:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '${MLPREFIX}python3-gdbm', '', d)}"
-FILES:${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
+FILES:${PN}-misc = "${libdir}/${PYTHON_DIR} ${libdir}/${PYTHON_DIR}/lib-dynload"
# catch manpage
PACKAGES += "${PN}-man"
@@ -507,5 +507,5 @@ RDEPENDS:${PN}-tests:append:class-nativesdk = " ${MLPREFIX}bash"
# Python's tests contain large numbers of files we don't need in the recipe sysroots
SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup"
py3_sysroot_cleanup () {
- rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test
+ rm -rf ${SYSROOT_DESTDIR}${libdir}/${PYTHON_DIR}/test
}
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 04/12] python3native.bbclass: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
` (7 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python3native.bbclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes-recipe/python3native.bbclass b/meta/classes-recipe/python3native.bbclass
index da1283d6b3..755a6c156c 100644
--- a/meta/classes-recipe/python3native.bbclass
+++ b/meta/classes-recipe/python3native.bbclass
@@ -20,8 +20,8 @@ export STAGING_LIBDIR
# find_package(PythonLibs REQUIRED)
# which ends up using libs/includes from build host
# Therefore pre-empt that effort
-export PYTHON_LIBRARY = "${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
-export PYTHON_INCLUDE_DIR = "${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+export PYTHON_LIBRARY = "${STAGING_LIBDIR}/lib${PYTHON_DIR}.so"
+export PYTHON_INCLUDE_DIR = "${STAGING_INCDIR}/${PYTHON_DIR}"
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (2 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
` (6 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Setting the ABI flag correctly is necessary for modules using
python_maturin.bbclass and others based on pyo3.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/classes-recipe/python_pyo3.bbclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/python_pyo3.bbclass b/meta/classes-recipe/python_pyo3.bbclass
index 7f5a00f584..c618d711ac 100644
--- a/meta/classes-recipe/python_pyo3.bbclass
+++ b/meta/classes-recipe/python_pyo3.bbclass
@@ -12,7 +12,8 @@
inherit cargo python3-dir siteinfo
export PYO3_CROSS = "1"
-export PYO3_CROSS_PYTHON_VERSION = "${PYTHON_BASEVERSION}"
+export PYO3_CROSS_PYTHON_VERSION = "${PYTHON_MAINVERSION}"
+export ABIFLAGS = "${PYTHON_ABI}"
export PYO3_CROSS_LIB_DIR = "${STAGING_LIBDIR}"
export CARGO_BUILD_TARGET = "${RUST_HOST_SYS}"
export RUSTFLAGS
@@ -25,6 +26,7 @@ implementation=CPython
version=${PYTHON_BASEVERSION}
shared=true
abi3=false
+abiflags=${PYTHON_ABI}
lib_name=${PYTHON_DIR}
lib_dir=${STAGING_LIBDIR}
pointer_width=${SITEINFO_BITS}
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 06/12] clang: Use PYTHON_MAINVERSION for python module versioning
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (3 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
` (5 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Use the new complete main version setting instead of just
PYTHON_BASEVERSION that does not include PYTHON_ABI.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/clang/clang_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/clang/clang_git.bb b/meta/recipes-devtools/clang/clang_git.bb
index e10c327a2a..d5f8aa777f 100644
--- a/meta/recipes-devtools/clang/clang_git.bb
+++ b/meta/recipes-devtools/clang/clang_git.bb
@@ -46,7 +46,7 @@ PACKAGECONFIG[lld] = "-DCLANG_DEFAULT_LINKER=lld,,,"
PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,,"
-PACKAGECONFIG[libclang-python] = "-DCLANG_PYTHON_BINDINGS_VERSIONS=${PYTHON_BASEVERSION},,"
+PACKAGECONFIG[libclang-python] = "-DCLANG_PYTHON_BINDINGS_VERSIONS=${PYTHON_MAINVERSION},,"
OECMAKE_SOURCEPATH = "${S}/clang"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (4 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 08/12] boost: " Zoltán Böszörményi
` (4 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, don't use the latter.
Simplify the linked library name to use -l${PYTHON_DIR}.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 4 ++--
meta/recipes-devtools/gdb/gdb_17.1.bb | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 7b4a7719e4..c4c62d02af 100644
--- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -22,8 +22,8 @@ do_configure:prepend() {
cat > ${WORKDIR}/python << EOF
#! /bin/sh
case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
+ --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;;
+ --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -l${PYTHON_DIR}" ;;
--exec-prefix) echo "${exec_prefix}" ;;
*) exit 1 ;;
esac
diff --git a/meta/recipes-devtools/gdb/gdb_17.1.bb b/meta/recipes-devtools/gdb/gdb_17.1.bb
index 9c6db4ca2c..a5d96f01eb 100644
--- a/meta/recipes-devtools/gdb/gdb_17.1.bb
+++ b/meta/recipes-devtools/gdb/gdb_17.1.bb
@@ -26,8 +26,8 @@ do_configure:prepend() {
cat > ${WORKDIR}/python << EOF
#!/bin/sh
case "\$2" in
- --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;;
- --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;;
+ --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}/" ;;
+ --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -l${PYTHON_DIR}" ;;
--exec-prefix) echo "${exec_prefix}" ;;
*) exit 1 ;;
esac
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 08/12] boost: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (5 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 09/12] lttng-tools: " Zoltán Böszörményi
` (3 subsequent siblings)
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, fix the settings accordingly.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-support/boost/boost.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index 64a57ddfb2..7b02ed4282 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -174,7 +174,7 @@ do_configure() {
# If we want Python then we need to tell Boost *exactly* where to find it
if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then
- echo "using python : ${PYTHON_BASEVERSION} : ${STAGING_DIR_HOST}${bindir}/python3 : ${STAGING_DIR_HOST}${includedir}/${PYTHON_DIR}${PYTHON_ABI} : ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR} ;" >> ${WORKDIR}/user-config.jam
+ echo "using python : ${PYTHON_MAINVERSION} : ${STAGING_DIR_HOST}${bindir}/python3 : ${STAGING_DIR_HOST}${includedir}/${PYTHON_DIR} : ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR} ;" >> ${WORKDIR}/user-config.jam
fi
if ${@bb.utils.contains('BOOST_LIBS', 'mpi', 'true', 'false', d)}; then
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (6 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 08/12] boost: " Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-28 7:57 ` [OE-core] " Mathieu Dubois-Briand
2026-03-27 8:30 ` [PATCH v3 10/12] lttng-ust: " Zoltán Böszörményi
` (2 subsequent siblings)
10 siblings, 1 reply; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb b/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
index 3a3f2cff2c..ef80c53e9c 100644
--- a/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
+++ b/meta/recipes-kernel/lttng/lttng-tools_2.14.1.bb
@@ -35,7 +35,7 @@ INSANE_SKIP:${PN}-ptest += "dev-deps"
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}' \
"
PACKAGECONFIG ??= "${LTTNGUST} kmod"
PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 10/12] lttng-ust: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (7 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 09/12] lttng-tools: " Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
index 1a15c5b420..5c1c74b7a8 100644
--- a/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
+++ b/meta/recipes-kernel/lttng/lttng-ust_2.14.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b04e8f34dbcf08198c6618d05e8fe7b"
PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}' \
"
inherit autotools lib_package manpages python3native pkgconfig
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 11/12] libcap-ng-python: Use PYTHON_DIR for FILES
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (8 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 10/12] lttng-ust: " Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
PYTHON_DIR now contains PYTHON_ABI, use it.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb b/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
index f702056f02..f13c2eba17 100644
--- a/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
+++ b/meta/recipes-support/libcap-ng/libcap-ng-python_0.9.1.bb
@@ -14,4 +14,4 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install -C ${B}/bindings/python3
}
-FILES:${PN} = "${libdir}/python${PYTHON_BASEVERSION}"
+FILES:${PN} = "${libdir}/${PYTHON_DIR}"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH v3 12/12] hwlatdetect: Use PYTHON_DIR
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
` (9 preceding siblings ...)
2026-03-27 8:30 ` [PATCH v3 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
@ 2026-03-27 8:30 ` Zoltán Böszörményi
10 siblings, 0 replies; 30+ messages in thread
From: Zoltán Böszörményi @ 2026-03-27 8:30 UTC (permalink / raw)
To: openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin,
Zoltán Böszörményi
Instead of custom constructing the python directory,
use PYTHON_DIR for consistency.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
meta/recipes-rt/rt-tests/hwlatdetect_git.bb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
index 2dcc80965a..d37909cd87 100644
--- a/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
+++ b/meta/recipes-rt/rt-tests/hwlatdetect_git.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
require rt-tests.inc
inherit python3-dir
-EXTRA_OEMAKE += "PYLIB=${libdir}/python${PYTHON_BASEVERSION}/dist-packages"
+EXTRA_OEMAKE += "PYLIB=${libdir}/${PYTHON_DIR}/dist-packages"
do_compile() {
oe_runmake hwlatdetect
@@ -18,9 +18,9 @@ do_install() {
oe_runmake install_hwlatdetect DESTDIR=${D} SBINDIR=${sbindir} \
MANDIR=${mandir} INCLUDEDIR=${includedir}
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${libdir}/${PYTHON_DIR}/dist-packages/hwlatdetect.py
}
-FILES:${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py"
+FILES:${PN} += "${libdir}/${PYTHON_DIR}/dist-packages/hwlatdetect.py"
RDEPENDS:${PN} = "python3-core "
RRECOMMENDS:${PN} = "kernel-module-hwlat-detector"
--
2.53.0
^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading]
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
` (10 preceding siblings ...)
2026-03-26 14:30 ` [PATCH v2 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
@ 2026-03-27 8:37 ` Mathieu Dubois-Briand
2026-03-27 9:17 ` Böszörményi Zoltán
11 siblings, 1 reply; 30+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-27 8:37 UTC (permalink / raw)
To: zboszor, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
On Thu Mar 26, 2026 at 3:30 PM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
> The warning comment is really needed. While Python 3.14 supports
> free-threading officially, the ecosystem around it does not yet.
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
Hi Zoltán,
Thanks for your patch. We are seeing two issues on the autobuilder:
First, some file is not shipped:
ERROR: nativesdk-python3-3.14.3-r0 do_package: QA Issue: nativesdk-python3: Files/directories were installed but not shipped in any package:
/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/python3.14.real
Then, some package conflict:
ERROR: core-image-sato-1.0-r0 do_rootfs: Could not invoke dnf. Command '/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/etc/yum.repos.d --installroot=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs --setopt=logdir=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/temp --repofrompath=oe-repo,/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/oe-rootfs-repo --nogpgcheck install dnf packagegroup-base-extended packagegroup-core-boot packagegroup-core-ssh-dropbear packagegroup-core-x11-base packagegroup-core-x11-sato psplash rpm run-postinsts locale-base-c locale-base-en-us locale-base-en-gb' returned 1:
DNF version: 4.24.0
cachedir: /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/var/cache/dnf
Added oe-repo repo from /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/oe-rootfs-repo
User-Agent: falling back to 'libdnf': could not detect OS or basearch
repo: using cache for: oe-repo
oe-repo: using metadata from Thu 26 Mar 2026 09:57:24 PM UTC.
--> Starting dependency resolution
--> Finished dependency resolution
Error:
Problem 1: conflicting requests
- nothing provides python3-compression needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-ctypes needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-email needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-json needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-logging needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-shell needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-threading needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-codecs needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-curses needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-netclient needed by dnf-4.24.0-r0.core2_64 from oe-repo
- nothing provides python3-sqlite3 needed by dnf-4.24.0-r0.core2_64 from oe-repo
Problem 2: package packagegroup-core-x11-sato-base-1.0-r0.genericx86_64 from oe-repo requires settings-daemon, but none of the providers can be installed
- package packagegroup-core-x11-sato-1.0-r0.genericx86_64 from oe-repo requires packagegroup-core-x11-sato-base, but none of the providers can be installed
- package settings-daemon-0.0.2+git0+df669c6579-r0.core2_64 from oe-repo requires libgconf-2.so.4()(64bit), but none of the providers can be installed
- package settings-daemon-0.0.2+git0+df669c6579-r0.core2_64 from oe-repo requires gconf >= 3.2.6, but none of the providers can be installed
- conflicting requests
- nothing provides python3-xml needed by gconf-3.2.6-r0.core2_64 from oe-repo
(try to add '--skip-broken' to skip uninstallable packages)
https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3478
Can you have a look at the issues?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading]
2026-03-27 8:37 ` [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Mathieu Dubois-Briand
@ 2026-03-27 9:17 ` Böszörményi Zoltán
0 siblings, 0 replies; 30+ messages in thread
From: Böszörményi Zoltán @ 2026-03-27 9:17 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
2026. 03. 27. 9:37 keltezéssel, Mathieu Dubois-Briand írta:
> On Thu Mar 26, 2026 at 3:30 PM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
>> The warning comment is really needed. While Python 3.14 supports
>> free-threading officially, the ecosystem around it does not yet.
>>
>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> ---
> Hi Zoltán,
>
> Thanks for your patch. We are seeing two issues on the autobuilder:
>
> First, some file is not shipped:
> ERROR: nativesdk-python3-3.14.3-r0 do_package: QA Issue: nativesdk-python3: Files/directories were installed but not shipped in any package:
> /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/python3.14.real
>
> Then, some package conflict:
> ERROR: core-image-sato-1.0-r0 do_rootfs: Could not invoke dnf. Command '/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/etc/yum.repos.d --installroot=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs --setopt=logdir=/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/temp --repofrompath=oe-repo,/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/oe-rootfs-repo --nogpgcheck install dnf packagegroup-base-extended packagegroup-core-boot packagegroup-core-ssh-dropbear packagegroup-core-x11-base packagegroup-core-x11-sato psplash rpm run-postinsts locale-base-c locale-base-en-us locale-base-en-gb' returned 1:
> DNF version: 4.24.0
> cachedir: /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/rootfs/var/cache/dnf
> Added oe-repo repo from /srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/genericx86_64-poky-linux/core-image-sato/1.0/oe-rootfs-repo
> User-Agent: falling back to 'libdnf': could not detect OS or basearch
> repo: using cache for: oe-repo
> oe-repo: using metadata from Thu 26 Mar 2026 09:57:24 PM UTC.
> --> Starting dependency resolution
> --> Finished dependency resolution
> Error:
> Problem 1: conflicting requests
> - nothing provides python3-compression needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-ctypes needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-email needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-json needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-logging needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-shell needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-threading needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-codecs needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-curses needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-netclient needed by dnf-4.24.0-r0.core2_64 from oe-repo
> - nothing provides python3-sqlite3 needed by dnf-4.24.0-r0.core2_64 from oe-repo
> Problem 2: package packagegroup-core-x11-sato-base-1.0-r0.genericx86_64 from oe-repo requires settings-daemon, but none of the providers can be installed
> - package packagegroup-core-x11-sato-1.0-r0.genericx86_64 from oe-repo requires packagegroup-core-x11-sato-base, but none of the providers can be installed
> - package settings-daemon-0.0.2+git0+df669c6579-r0.core2_64 from oe-repo requires libgconf-2.so.4()(64bit), but none of the providers can be installed
> - package settings-daemon-0.0.2+git0+df669c6579-r0.core2_64 from oe-repo requires gconf >= 3.2.6, but none of the providers can be installed
> - conflicting requests
> - nothing provides python3-xml needed by gconf-3.2.6-r0.core2_64 from oe-repo
> (try to add '--skip-broken' to skip uninstallable packages)
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3478
>
> Can you have a look at the issues?
The v3 series over the patch entitled "python3: Fix manifest"
fixes both of these problems.
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v3 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-27 8:30 ` [PATCH v3 09/12] lttng-tools: " Zoltán Böszörményi
@ 2026-03-28 7:57 ` Mathieu Dubois-Briand
2026-03-28 8:56 ` Böszörményi Zoltán
0 siblings, 1 reply; 30+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-28 7:57 UTC (permalink / raw)
To: zboszor, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
On Fri Mar 27, 2026 at 9:30 AM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
> PYTHON_DIR now contains PYTHON_ABI, use it.
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
Hi Zoltán,
Thanks for your patch. It looks like lttng-tools build is now failing:
ERROR: lttng-tools-2.15.0-r0 do_configure: Execution of '/srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/temp/run.do_configure.1174739' failed with exit code 1
...
| configure: error: Package requirements (lttng-ust >= 2.15 lttng-ust < 2.16) were not met:
|
| Package dependency requirement 'lttng-ust >= 2.15' could not be satisfied.
| Package 'lttng-ust' has version '2.14.0', required version is '>= 2.15'
|
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.
|
| Alternatively, you may set the environment variables UST_CFLAGS
| and UST_LIBS to avoid the need to call pkg-config.
| See the pkg-config man page for more details.
| NOTE: The following config.log files may provide further information.
| NOTE: /srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/build/config.log
| ERROR: configure failed
https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3489
https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3454
Can you have a look at the issue?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v3 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-28 7:57 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-03-28 8:56 ` Böszörményi Zoltán
2026-03-29 17:52 ` Mathieu Dubois-Briand
0 siblings, 1 reply; 30+ messages in thread
From: Böszörményi Zoltán @ 2026-03-28 8:56 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
2026. 03. 28. 8:57 keltezéssel, Mathieu Dubois-Briand írta:
> On Fri Mar 27, 2026 at 9:30 AM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
>> PYTHON_DIR now contains PYTHON_ABI, use it.
>>
>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>> ---
> Hi Zoltán,
>
> Thanks for your patch. It looks like lttng-tools build is now failing:
>
> ERROR: lttng-tools-2.15.0-r0 do_configure: Execution of '/srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/temp/run.do_configure.1174739' failed with exit code 1
> ...
> | configure: error: Package requirements (lttng-ust >= 2.15 lttng-ust < 2.16) were not met:
> |
> | Package dependency requirement 'lttng-ust >= 2.15' could not be satisfied.
> | Package 'lttng-ust' has version '2.14.0', required version is '>= 2.15'
> |
> | Consider adjusting the PKG_CONFIG_PATH environment variable if you
> | installed software in a non-standard prefix.
> |
> | Alternatively, you may set the environment variables UST_CFLAGS
> | and UST_LIBS to avoid the need to call pkg-config.
> | See the pkg-config man page for more details.
> | NOTE: The following config.log files may provide further information.
> | NOTE: /srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/build/config.log
> | ERROR: configure failed
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3489
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3454
>
> Can you have a look at the issue?
I tested the build with my patches, there was no such issue.
It's caused by another patch that updated lttng-tools without also updating lttng-ust.
My guess is because these were not in a patch series:
https://lists.openembedded.org/g/openembedded-core/message/233485
https://lists.openembedded.org/g/openembedded-core/message/234080
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v3 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-28 8:56 ` Böszörményi Zoltán
@ 2026-03-29 17:52 ` Mathieu Dubois-Briand
2026-04-06 12:35 ` Böszörményi Zoltán
0 siblings, 1 reply; 30+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-29 17:52 UTC (permalink / raw)
To: Böszörményi Zoltán, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
On Sat Mar 28, 2026 at 9:56 AM CET, Böszörményi Zoltán wrote:
> 2026. 03. 28. 8:57 keltezéssel, Mathieu Dubois-Briand írta:
>> On Fri Mar 27, 2026 at 9:30 AM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
>>> PYTHON_DIR now contains PYTHON_ABI, use it.
>>>
>>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>> ---
>> Hi Zoltán,
>>
>> Thanks for your patch. It looks like lttng-tools build is now failing:
>>
>> ERROR: lttng-tools-2.15.0-r0 do_configure: Execution of '/srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/temp/run.do_configure.1174739' failed with exit code 1
>> ...
>> | configure: error: Package requirements (lttng-ust >= 2.15 lttng-ust < 2.16) were not met:
>> |
>> | Package dependency requirement 'lttng-ust >= 2.15' could not be satisfied.
>> | Package 'lttng-ust' has version '2.14.0', required version is '>= 2.15'
>> |
>> | Consider adjusting the PKG_CONFIG_PATH environment variable if you
>> | installed software in a non-standard prefix.
>> |
>> | Alternatively, you may set the environment variables UST_CFLAGS
>> | and UST_LIBS to avoid the need to call pkg-config.
>> | See the pkg-config man page for more details.
>> | NOTE: The following config.log files may provide further information.
>> | NOTE: /srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/build/config.log
>> | ERROR: configure failed
>>
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3489
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3454
>>
>> Can you have a look at the issue?
>
> I tested the build with my patches, there was no such issue.
>
> It's caused by another patch that updated lttng-tools without also updating lttng-ust.
>
Yes indeed, I confirm this errors does not come from your series.
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [OE-core] [PATCH v3 09/12] lttng-tools: Stop using PYTHON_ABI
2026-03-29 17:52 ` Mathieu Dubois-Briand
@ 2026-04-06 12:35 ` Böszörményi Zoltán
0 siblings, 0 replies; 30+ messages in thread
From: Böszörményi Zoltán @ 2026-04-06 12:35 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
Cc: Khem Raj, Bartosz Golaszewski, Trevor Gamblin, Alexander Kanavin
2026. 03. 29. 19:52 keltezéssel, Mathieu Dubois-Briand írta:
> On Sat Mar 28, 2026 at 9:56 AM CET, Böszörményi Zoltán wrote:
>> 2026. 03. 28. 8:57 keltezéssel, Mathieu Dubois-Briand írta:
>>> On Fri Mar 27, 2026 at 9:30 AM CET, Zoltan Boszormenyi via lists.openembedded.org wrote:
>>>> PYTHON_DIR now contains PYTHON_ABI, use it.
>>>>
>>>> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>>>> ---
>>> Hi Zoltán,
>>>
>>> Thanks for your patch. It looks like lttng-tools build is now failing:
>>>
>>> ERROR: lttng-tools-2.15.0-r0 do_configure: Execution of '/srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/temp/run.do_configure.1174739' failed with exit code 1
>>> ...
>>> | configure: error: Package requirements (lttng-ust >= 2.15 lttng-ust < 2.16) were not met:
>>> |
>>> | Package dependency requirement 'lttng-ust >= 2.15' could not be satisfied.
>>> | Package 'lttng-ust' has version '2.14.0', required version is '>= 2.15'
>>> |
>>> | Consider adjusting the PKG_CONFIG_PATH environment variable if you
>>> | installed software in a non-standard prefix.
>>> |
>>> | Alternatively, you may set the environment variables UST_CFLAGS
>>> | and UST_LIBS to avoid the need to call pkg-config.
>>> | See the pkg-config man page for more details.
>>> | NOTE: The following config.log files may provide further information.
>>> | NOTE: /srv/pokybuild/yocto-worker/genericarm64-alt/build/build/tmp/work/armv8a-poky-linux/lttng-tools/2.15.0/build/config.log
>>> | ERROR: configure failed
>>>
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/3489
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/3454
>>>
>>> Can you have a look at the issue?
>> I tested the build with my patches, there was no such issue.
>>
>> It's caused by another patch that updated lttng-tools without also updating lttng-ust.
>>
> Yes indeed, I confirm this errors does not come from your series.
I noticed that this series was dropped from master-next.
I thought it was too late for Yocto 6.0.
Should I rebase and resend early for 6.1?
There was another patch that was dropped, namely the one that fixes
bitbake -c create_manifest python3
That is a separate issue and it was a separate patch, unrelated to this series.
Running "bitbake -c create_manifest python3" still fails in current master.
Unless it's stated that the manifest file must only be edited manually from this point.
Then do_create_manifest task can also be deleted.
Which is the preferred way?
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2026-04-06 12:35 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <18A06529173E9998.57592@lists.openembedded.org>
2026-03-26 14:30 ` [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 08/12] boost: " Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 09/12] lttng-tools: " Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 10/12] lttng-ust: " Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
2026-03-26 14:30 ` [PATCH v2 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
2026-03-27 8:37 ` [OE-core] [PATCH v2 01/12] python3: Add warning comment before PACKAGECONFIG[freethreading] Mathieu Dubois-Briand
2026-03-27 9:17 ` Böszörményi Zoltán
2026-03-27 8:30 ` [PATCH v3 " Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 02/12] python3-dir.bbclass: Move PYTHON_ABI into PYTHON_DIR Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 03/12] python3: Use the variables from python3-dir.bbclass Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 04/12] python3native.bbclass: Stop using PYTHON_ABI Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 05/12] python_pyo3.bbclass: Pass ABI flag and use PYTHON_MAINVERSION Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 06/12] clang: Use PYTHON_MAINVERSION for python module versioning Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 07/12] gdb, gdb-cross-canadian: Stop using PYTHON_ABI Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 08/12] boost: " Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 09/12] lttng-tools: " Zoltán Böszörményi
2026-03-28 7:57 ` [OE-core] " Mathieu Dubois-Briand
2026-03-28 8:56 ` Böszörményi Zoltán
2026-03-29 17:52 ` Mathieu Dubois-Briand
2026-04-06 12:35 ` Böszörményi Zoltán
2026-03-27 8:30 ` [PATCH v3 10/12] lttng-ust: " Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 11/12] libcap-ng-python: Use PYTHON_DIR for FILES Zoltán Böszörményi
2026-03-27 8:30 ` [PATCH v3 12/12] hwlatdetect: Use PYTHON_DIR Zoltán Böszörményi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox