]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
python3-pyyaml: add PACKAGECONFIG for libyaml
authorTim Orling <ticotimo@gmail.com>
Fri, 9 Feb 2024 02:18:56 +0000 (18:18 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 10 Feb 2024 14:12:54 +0000 (14:12 +0000)
For some time now, we have probably been susceptible to host contamination
or at least non-deterministic behavior when libyaml was available in the
build environment.

The symptom is:
ERROR: python3-pyyaml-6.0-r0 do_package_qa: QA Issue:
/usr/lib/python3.11/site-packages/yaml/_yaml.cpython-311-aarch64-linux-gnu.so
contained in package python3-pyyaml requires libyaml-0.so.2()(64bit), but no
providers found in RDEPENDS:python3-pyyaml? [file-rdeps]

>From the documentation:
"""
By default, the setup.py script checks whether LibYAML is installed and
if so, builds and installs LibYAML bindings. To skip the check and force
installation of LibYAML bindings, use the option --with-libyaml:
python setup.py --with-libyaml install

To disable the check and skip building and installing LibYAML bindings,
use --without-libyaml:
python setup.py --without-libyaml install
"""

Instead of leaving this to chance, add PACKAGECONFIG and by default build
with the faster libyaml bindings.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb

index 61f7cbc6b36a14fb66c8da867c555e82ddd48613..102e2f2498b2bd697abf73e87199b4e13106b164 100644 (file)
@@ -12,6 +12,9 @@ inherit pypi python_setuptools_build_meta
 SRC_URI += "file://0001-Fix-builds-with-Cython-3.patch"
 SRC_URI[sha256sum] = "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"
 
+PACKAGECONFIG ?= "libyaml"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml"
+
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-netclient \