On 11/13/2025 5:09 PM, Denys Dmytriyenko wrote:
On Thu, Nov 13, 2025 at 04:50:16PM -0600, Ryan Eatmon via
lists.yoctoproject.org wrote:
Yocto Project Compatibility requires that including a layer in a build
not change recipes in other layers. In this case, we were providing a
newer version of a recipe that another layer provides.
The proper way of doing this is to create a bbappend and only change the
minimal things needed to perform your changes. Additionally, to pass
the yocto-check-layer the bbappend needs to be wrapped in a manner that
only applies your changes in the event that you are making use of your
layer. For Arago, that means only if we are building Arago.
Thanks for this descriptive commit message - it captures reasoning and a
proper solution! It is a great example we can refer to in the future.
Signed-off-by: Ryan Eatmon <[email protected]>
---
.../sysrepo/libyang-arago.inc | 9 ++++
.../sysrepo/libyang_%.bbappend | 5 +++
.../recipes-extended/sysrepo/libyang_3.7.8.bb | 45 -------------------
3 files changed, 14 insertions(+), 45 deletions(-)
create mode 100644
meta-arago-extras/recipes-extended/sysrepo/libyang-arago.inc
delete mode 100644 meta-arago-extras/recipes-extended/sysrepo/libyang_3.7.8.bb
diff --git a/meta-arago-extras/recipes-extended/sysrepo/libyang-arago.inc
b/meta-arago-extras/recipes-extended/sysrepo/libyang-arago.inc
new file mode 100644
index 00000000..b76701a8
--- /dev/null
+++ b/meta-arago-extras/recipes-extended/sysrepo/libyang-arago.inc
@@ -0,0 +1,9 @@
+PV = "3.7.8"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9bb3d334294e8719f41c531e28a9a697"
May want to explicitly mention why the checksum is different vs. upstream.
Since this was just a repackaging of the existing recipe, I didn't think
it was needed to list all that out.
+SRCREV = "03e294d83b610f89e8ba7b2156a80dc0ad534443"
+
+do_install:append () {
+ oe_multilib_header libyang/ly_config.h
+}
diff --git a/meta-arago-extras/recipes-extended/sysrepo/libyang_%.bbappend
b/meta-arago-extras/recipes-extended/sysrepo/libyang_%.bbappend
index 608377e3..60d1258e 100644
--- a/meta-arago-extras/recipes-extended/sysrepo/libyang_%.bbappend
+++ b/meta-arago-extras/recipes-extended/sysrepo/libyang_%.bbappend
@@ -1 +1,6 @@
+LIBYANG_ARAGO = ""
+LIBYANG_ARAGO:arago = "libyang-arago.inc"
+
+require ${LIBYANG_ARAGO}
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-arago-extras/recipes-extended/sysrepo/libyang_3.7.8.bb
b/meta-arago-extras/recipes-extended/sysrepo/libyang_3.7.8.bb
deleted file mode 100644
index 3bea9bc2..00000000
--- a/meta-arago-extras/recipes-extended/sysrepo/libyang_3.7.8.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "YANG data modeling language library"
-DESCRIPTION = "libyang is a YANG data modelling language parser and toolkit written
(and providing API) in C."
-HOMEPAGE = "https://github.com/CESNET/libyang"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9bb3d334294e8719f41c531e28a9a697"
-
-SRCREV = "03e294d83b610f89e8ba7b2156a80dc0ad534443"
-
-SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
- file://0001-test_context-skip-test-case-test_searchdirs.patch \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-# Main dependencies
-inherit cmake pkgconfig lib_package ptest multilib_header
-DEPENDS = "libpcre2"
-DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
-EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON
-DENABLE_VALGRIND_TESTS=OFF', '', d)}"
-
-do_compile:prepend () {
- if [ ${PTEST_ENABLED} = "1" ]; then
- sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
- sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
- fi
-}
-
-do_install:append () {
- oe_multilib_header libyang/ly_config.h
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- cp -f ${B}/tests/utest_* ${D}${PTEST_PATH}/tests/
- cp -fR ${S}/tests/modules ${D}${PTEST_PATH}/tests/
- install -d ${D}${PTEST_PATH}/tests/plugins
- cp -f ${B}/tests/plugins/plugin_*.so ${D}${PTEST_PATH}/tests/plugins/
-}
-
-FILES:${PN} += "${datadir}/yang/*"
--
2.17.1
--
Ryan Eatmon [email protected]
-----------------------------------------
Texas Instruments, Inc. - LCPD - MGTS
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16767):
https://lists.yoctoproject.org/g/meta-arago/message/16767
Mute This Topic: https://lists.yoctoproject.org/mt/116283879/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-