ros / meta-ros

OpenEmbedded Layers for ROS 1 and ROS 2
MIT License
382 stars 251 forks source link

[mickledore] [pyyaml] QA issue: python3-pyyaml uses *yaml.so, is not mentioned in RDEPENDS #1100

Open jdiez17 opened 7 months ago

jdiez17 commented 7 months ago

Describe the bug After adding ros-core to my image, python3-pyyaml got pulled in as a dependency and built. I got a QA error saying that the package uses libyaml.so, but it is not mentioned in the RDEPENDS.

This patch solves the issue:

diff --git a/meta/recipes-devtools/python/python3-pyyaml_6.0.bb b/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
index d142a0fc3e2..246963b728a 100644
--- a/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
+++ b/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
@@ -16,4 +16,7 @@ RDEPENDS:${PN} += "\
     ${PYTHON_PN}-netclient \
 "

+PACKAGECONFIG ??= "libyaml"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml"
+

To Reproduce

BB_VERSION           = "2.4.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-poky-linux"
MACHINE              = "phyboard-pollux-imx8mp-3"
DISTRO               = "raccoon"
DISTRO_VERSION       = "0.3"
TUNE_FEATURES        = "aarch64 armv8a crc cortexa53 crypto"
TARGET_FPU           = ""
DISTRO_NAME          = "RACCOON OS"
ROS_DISTRO           = "humble"
ROS_VERSION          = "2"
ROS_PYTHON_VERSION   = "3"

(distro based on Poky Mickledore)

Unfortunately I don't have the original compilation error anymore. I am building the image inside a crops/poky:ubuntu-22.04 container.