All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES
@ 2025-11-13 22:50 Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 02/10] ti-test: Gate some of the packages behind DISTRO_FEATURE check Ryan Eatmon
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Since this recipe depends on virtual/egl and virtual/libgles2 it
should be gated by a check for the "opengl" DISTRO_FEATURE.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../recipes-graphics/offscreen-demo/offscreendemo_0.0.1.bb    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta-arago-test/recipes-graphics/offscreen-demo/offscreendemo_0.0.1.bb b/meta-arago-test/recipes-graphics/offscreen-demo/offscreendemo_0.0.1.bb
index c2ad5012..a341c872 100644
--- a/meta-arago-test/recipes-graphics/offscreen-demo/offscreendemo_0.0.1.bb
+++ b/meta-arago-test/recipes-graphics/offscreen-demo/offscreendemo_0.0.1.bb
@@ -13,4 +13,6 @@ S = "${WORKDIR}/git"
 
 DEPENDS += "virtual/egl virtual/libgles2"
 
-inherit pkgconfig meson
+inherit pkgconfig meson features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 02/10] ti-test: Gate some of the packages behind DISTRO_FEATURE check
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 03/10] packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages Ryan Eatmon
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Create two new variables to group packages that depends on "opengl" and
"opencl".  Then add a DISTRO_FEATURE check to include the new variables.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../recipes-core/packagegroups/ti-test.bb          | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/meta-arago-test/recipes-core/packagegroups/ti-test.bb b/meta-arago-test/recipes-core/packagegroups/ti-test.bb
index c73f42f9..960e3c18 100644
--- a/meta-arago-test/recipes-core/packagegroups/ti-test.bb
+++ b/meta-arago-test/recipes-core/packagegroups/ti-test.bb
@@ -67,14 +67,22 @@ TI_TEST_BASE:append:ti-soc = " \
     mtd-utils-ubifs-tests \
 "
 
+TI_TEST_EXTRAS_OPENGL = " \
+    piglit \
+    offscreendemo \
+"
+
+TI_TEST_EXTRAS_OPENCL = " \
+    opencl-cts \
+"
+
 TI_TEST_EXTRAS = " \
     python3-pillow \
     pytesseract \
-    piglit \
     python3-numpy \
     wayland-utils \
-    offscreendemo \
-    opencl-cts \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${TI_TEST_EXTRAS_OPENGL}', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opencl', '${TI_TEST_EXTRAS_OPENCL}', '', d)} \
 "
 
 TI_TEST_EXTRAS:append:ti-soc = " libsdl2-tests"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 03/10]  packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 02/10] ti-test: Gate some of the packages behind DISTRO_FEATURE check Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 04/10] emptty-conf: Remove rogue -conf entries Ryan Eatmon
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Create new variables to group packages that depends on "opengl".  Then
add a DISTRO_FEATURE check to include the new variables.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 ...packagegroup-arago-tisdk-graphics-sdk-target.bb | 14 +++++++++++---
 .../packagegroup-arago-tisdk-graphics.bb           |  8 ++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics-sdk-target.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics-sdk-target.bb
index 4e792845..c0ab3a28 100644
--- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics-sdk-target.bb
+++ b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics-sdk-target.bb
@@ -6,18 +6,26 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 inherit packagegroup
 
-RDEPENDS:${PN} = "\
+OPENGL_DEV = "\
     libegl-dev \
     libgl-dev \
     libgles1-dev \
     libgles2-dev \
     libgles3-dev \
-    libdrm-dev \
+"
+
+WAYLAND_DEV = "\
     wayland-dev \
     weston-dev \
-    ${@bb.utils.contains('MACHINE_FEATURES', 'gc320', 'ti-gc320-libs-dev', '', d)} \
+"
+
+RDEPENDS:${PN} = "\
+    libdrm-dev \
     libsdl2-dev \
     ktx-software-dev \
     nlohmann-json-dev \
     stb-dev \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_DEV}', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${WAYLAND_DEV}', '', d)} \
+    ${@bb.utils.contains('MACHINE_FEATURES', 'gc320', 'ti-gc320-libs-dev', '', d)} \
 "
diff --git a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics.bb b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics.bb
index fc1a5be3..deb3bb71 100644
--- a/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics.bb
+++ b/meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-graphics.bb
@@ -11,10 +11,14 @@ GFX_WAYLAND = "\
     weston-examples \
 "
 
-RDEPENDS:${PN} = "\
+OPENGL_PKGS = "\
     libegl \
     glmark2 \
     kmscube \
-    ${@bb.utils.contains('MACHINE_FEATURES', 'gc320', 'ti-gc320-tests', '', d)} \
+"
+
+RDEPENDS:${PN} = "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', "${OPENGL_PKGS}", '', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', "${GFX_WAYLAND}", '', d)} \
+    ${@bb.utils.contains('MACHINE_FEATURES', 'gc320', 'ti-gc320-tests', '', d)} \
 "
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 04/10] emptty-conf: Remove rogue -conf entries
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 02/10] ti-test: Gate some of the packages behind DISTRO_FEATURE check Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 03/10] packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 05/10] meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE Ryan Eatmon
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Since the PN for this recipe is already emptty-conf having the extra
-conf creates bad entries for this recipe.  This was caught using
yocto-check-layer.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
index 0aacb086..0b98e2e1 100644
--- a/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
+++ b/meta-arago-distro/recipes-graphics/emptty/emptty-conf.bb
@@ -9,6 +9,6 @@ do_install () {
     oe_runmake -C ${S}/src/${GO_IMPORT} DESTDIR=${D} install-config
 }
 
-FILES:${PN}-conf = "${sysconfdir}/emptty/conf"
-CONFFILES:${PN}-conf = "${sysconfdir}/emptty/conf"
-RPROVIDES:${PN}-conf += "virtual-emptty-conf"
+FILES:${PN} = "${sysconfdir}/emptty/conf"
+CONFFILES:${PN} = "${sysconfdir}/emptty/conf"
+RPROVIDES:${PN} += "virtual-emptty-conf"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 05/10] meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (2 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 04/10] emptty-conf: Remove rogue -conf entries Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 06/10] layer.conf: Add missing meta-clang dependency Ryan Eatmon
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Remove the setting of SIGGEN_EXCLUDERECIPES_ABISAFE as it is no longer needed.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 meta-arago-extras/conf/layer.conf | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/meta-arago-extras/conf/layer.conf b/meta-arago-extras/conf/layer.conf
index 7053ed77..048272d4 100644
--- a/meta-arago-extras/conf/layer.conf
+++ b/meta-arago-extras/conf/layer.conf
@@ -22,7 +22,3 @@ LAYERDEPENDS_meta-arago-extras = " \
     networking-layer \
     openembedded-layer \
 "
-
-SIGGEN_EXCLUDERECIPES_ABISAFE += " \
-    gstreamer1.0-plugins-bad \
-"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 06/10] layer.conf: Add missing meta-clang dependency
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (3 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 05/10] meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 07/10] makedumpfile: Remove outdated recipe Ryan Eatmon
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 meta-arago-test/conf/layer.conf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta-arago-test/conf/layer.conf b/meta-arago-test/conf/layer.conf
index 0b0874fc..aa5ccb82 100644
--- a/meta-arago-test/conf/layer.conf
+++ b/meta-arago-test/conf/layer.conf
@@ -21,6 +21,7 @@ LAYERDEPENDS_meta-arago-test = " \
     networking-layer \
     filesystems-layer \
     meta-python \
+    clang-layer \
 "
 
 BBFILES_DYNAMIC += " \
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 07/10] makedumpfile: Remove outdated recipe
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (4 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 06/10] layer.conf: Add missing meta-clang dependency Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 08/10] abseil-cpp: Do the version bump in a yocto-check-layer compliant manner Ryan Eatmon
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

There is a newer version of this recipe in oe-core, this is no longer
needed.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../makedumpfile/makedumpfile_1.5.0.bb         | 18 ------------------
 1 file changed, 18 deletions(-)
 delete mode 100644 meta-arago-extras/recipes-support/makedumpfile/makedumpfile_1.5.0.bb

diff --git a/meta-arago-extras/recipes-support/makedumpfile/makedumpfile_1.5.0.bb b/meta-arago-extras/recipes-support/makedumpfile/makedumpfile_1.5.0.bb
deleted file mode 100644
index 2b7002f5..00000000
--- a/meta-arago-extras/recipes-support/makedumpfile/makedumpfile_1.5.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Make dump file utility"
-LICENSE = "GPL-2.0-only"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "http://sourceforge.net/projects/makedumpfile/files/makedumpfile/1.5.0/makedumpfile-${PV}.tar.gz;name=makedumpfile"
-
-SRC_URI[makedumpfile.md5sum] = "e22277d77752c71525a79eab148abf55"
-SRC_URI[makedumpfile.sha256sum] = "8a771a22c6ba79dc505e55727f0cfd357ccb3c97defe21cefd5a67b64452fca7"
-
-DEPENDS = "zlib elfutils bzip2"
-
-EXTRA_OEMAKE = "TARGET=${TARGET_ARCH}"
-
-do_install() {
-	install -d ${D}${bindir}/
-	install -c -m 755 ${S}/makedumpfile ${D}${bindir}/
-}
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 08/10] abseil-cpp: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (5 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 07/10] makedumpfile: Remove outdated recipe Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 09/10] libyang: " Ryan Eatmon
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

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.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../abseil-cpp/abseil-cpp-arago.inc           | 17 ++++++
 .../abseil-cpp/abseil-cpp_%.bbappend          |  4 ++
 .../abseil-cpp/abseil-cpp_20240722.0.bb       | 54 -------------------
 3 files changed, 21 insertions(+), 54 deletions(-)
 create mode 100644 meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp-arago.inc
 create mode 100644 meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend
 delete mode 100644 meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_20240722.0.bb

diff --git a/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp-arago.inc b/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp-arago.inc
new file mode 100644
index 00000000..99449654
--- /dev/null
+++ b/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp-arago.inc
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/abseil-cpp:"
+
+PV = "20240722.0"
+
+SRCREV = "4447c7562e3bc702ade25105912dce503f0c4010"
+BRANCH = "lts_2024_07_22"
+
+SRC_URI:remove = "\
+    file://abseil-ppc-fixes.patch \
+    file://0004-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch \
+    file://0001-PR-1739-container-internal-Explicitly-include-cstdin.patch \
+"
+
+SRC_URI += "\
+    file://0004-abseil-ppc-fixes.patch \
+    file://0005-Don-t-match-Wnon-virtual-dtor-in-the-flags-are-neede.patch \
+"
diff --git a/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend b/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend
new file mode 100644
index 00000000..e1e08204
--- /dev/null
+++ b/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_%.bbappend
@@ -0,0 +1,4 @@
+ABSEIL_CPP_ARAGO = ""
+ABSEIL_CPP_ARAGO:arago = "abseil-cpp-arago.inc"
+
+require ${ABSEIL_CPP_ARAGO}
diff --git a/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_20240722.0.bb b/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_20240722.0.bb
deleted file mode 100644
index 4bfc2100..00000000
--- a/meta-arago-extras/recipes-devtools/abseil-cpp/abseil-cpp_20240722.0.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Abseil is a cpp library like STL"
-DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \
-additional useful libraries like algorithm, container, debugging, hash, memory, \
-meta, numeric, strings, synchronization, time, types and utility."
-HOMEPAGE = "https://abseil.io/"
-SECTION = "libs"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
-
-SRCREV = "4447c7562e3bc702ade25105912dce503f0c4010"
-BRANCH = "lts_2024_07_22"
-SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
-           file://0001-absl-always-use-asm-sgidefs.h.patch             \
-           file://0002-Remove-maes-option-from-cross-compilation.patch \
-           file://0003-Remove-neon-option-from-cross-compilation.patch \
-           file://0004-abseil-ppc-fixes.patch \
-           file://0005-Don-t-match-Wnon-virtual-dtor-in-the-flags-are-neede.patch \
-          "
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
-                 -DBUILD_TESTING=OFF    \
-                 -DABSL_ENABLE_INSTALL=ON \
-                "
-
-SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"
-
-PACKAGES_DYNAMIC += "^libabsl-*"
-PACKAGES_DYNAMIC:class-native = ""
-
-PACKAGESPLITFUNCS =+ "split_dynamic_packages"
-
-python split_dynamic_packages() {
-    libdir = d.getVar('libdir')
-
-    libpackages = do_split_packages(
-        d,
-        root=libdir,
-        file_regex=r'^libabsl_(.*)\.so\..*$',
-        output_pattern='libabsl-%s',
-        description="abseil shared library %s",
-        prepend=True,
-        extra_depends='',
-    )
-    if libpackages:
-        d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages))
-}
-
-ALLOW_EMPTY:${PN} = "1"
-
-BBCLASSEXTEND = "native nativesdk"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (6 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 08/10] abseil-cpp: Do the version bump in a yocto-check-layer compliant manner Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 23:09   ` Denys Dmytriyenko
                     ` (2 more replies)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 10/10] v4l-utils: " Ryan Eatmon
  2025-11-13 22:55 ` [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES PRC Automation
  9 siblings, 3 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

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.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../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"
+
+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



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [meta-arago][scarthgap][PATCH 10/10] v4l-utils: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (7 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 09/10] libyang: " Ryan Eatmon
@ 2025-11-13 22:50 ` Ryan Eatmon
  2025-11-13 22:55 ` [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES PRC Automation
  9 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-13 22:50 UTC (permalink / raw)
  To: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

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.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../v4l2apps/v4l-utils-arago.inc              | 16 ++++
 .../v4l2apps/v4l-utils_%.bbappend             |  4 +
 .../v4l2apps/v4l-utils_1.28.1.bb              | 86 -------------------
 3 files changed, 20 insertions(+), 86 deletions(-)
 create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc
 create mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend
 delete mode 100644 meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb

diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc
new file mode 100644
index 00000000..652314b9
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils-arago.inc
@@ -0,0 +1,16 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/v4l-utils:"
+
+PV = "1.28.1+git"
+
+# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
+# both 32 and 64 bit file APIs.  But it does not handle the time side?
+# Needs further investigation
+GLIBC_64BIT_TIME_FLAGS = ""
+
+SRC_URI = "\
+    git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \
+    file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \
+    file://0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch \
+"
+
+SRCREV = "757acdaec187d51803c2957d36df3d717a3529da"
diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend
new file mode 100644
index 00000000..250bcb18
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend
@@ -0,0 +1,4 @@
+V4L_UTILS_ARAGO = ""
+V4L_UTILS_ARAGO:arago = "v4l-utils-arago.inc"
+
+require ${V4L_UTILS_ARAGO}
diff --git a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb b/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb
deleted file mode 100644
index 6f5707da..00000000
--- a/meta-arago-extras/recipes-multimedia/v4l2apps/v4l-utils_1.28.1.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "v4l2 and IR applications"
-LICENSE = "GPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
-                    file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
-PROVIDES = "libv4l media-ctl"
-
-DEPENDS = "jpeg \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
-           ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}"
-
-DEPENDS:append:libc-musl = " argp-standalone"
-DEPENDS:append:class-target = " udev"
-LDFLAGS:append = " -pthread"
-# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
-# both 32 and 64 bit file APIs.  But it does not handle the time side?
-# Needs further investigation
-GLIBC_64BIT_TIME_FLAGS = ""
-
-inherit meson gettext pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled"
-PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled"
-PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c"
-
-SRC_URI = "\
-    git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.28 \
-    file://0001-media-ctl-Install-media-ctl-header-and-library-files.patch \
-    file://0002-media-ctl-add-support-for-RGBIr-bayer-formats.patch \
-"
-
-SRCREV = "757acdaec187d51803c2957d36df3d717a3529da"
-
-PV .= "+git"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false"
-
-# Disable the erroneous installation of gconv-modules that would break glib
-# like it is done in Debian and ArchLinux.
-EXTRA_OEMESON += "-Dgconv=disabled"
-
-VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
-
-PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
-
-RPROVIDES:${PN}-dbg += "libv4l-dbg"
-
-FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
-FILES:qv4l2 = "\
-    ${bindir}/qv4l2 \
-    ${datadir}/applications/qv4l2.desktop \
-    ${datadir}/icons/hicolor/*/apps/qv4l2.* \
-"
-FILES:qvidcap = "\
-    ${bindir}/qvidcap \
-    ${datadir}/applications/qvidcap.desktop \
-    ${datadir}/icons/hicolor/*/apps/qvidcap.* \
-"
-
-FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
-RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
-RDEPENDS:qv4l2 += "\
-    ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}"
-RDEPENDS:qvidcap += "\
-    ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}"
-
-FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
-
-FILES:${PN} = "${bindir} ${sbindir}"
-
-FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
-                 ${libdir}/libdvbv5*${SOLIBS} \
-                 ${libdir}/libv4l/*-decomp \
-                 ${libdir}/libv4l2tracer.so \
-"
-
-FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \
-                     ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
-                     ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
-
-PARALLEL_MAKE:class-native = ""
-BBCLASSEXTEND = "native"
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES
  2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
                   ` (8 preceding siblings ...)
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 10/10] v4l-utils: " Ryan Eatmon
@ 2025-11-13 22:55 ` PRC Automation
  9 siblings, 0 replies; 15+ messages in thread
From: PRC Automation @ 2025-11-13 22:55 UTC (permalink / raw)
  To: Ryan Eatmon; +Cc: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

meta-arago / na / 20251113225017.22994-1-reatmon

PRC Results: FAIL

=========================================================
  check-yocto-patches: FAIL
=========================================================
Patches
----------------------------------------
WARN - [meta-arago][scarthgap][PATCH 03/10]  packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages
    WARN: Commit message does not include file/recipe name: packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages. (COMMIT-MESSAGE-2)
        patch
WARN - [meta-arago][scarthgap][PATCH 05/10] meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE
    WARN: Commit message does not include file/recipe name: meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE. (COMMIT-MESSAGE-2)
        patch
    
    WARN: Commit message should not include directory path to recipe: meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE.
              meta-arago-extras:
              conf: (COMMIT-MESSAGE-3)
        patch
WARN - [meta-arago][scarthgap][PATCH 06/10] layer.conf: Add missing meta-clang dependency
    WARN: Commit message does not include file/recipe name: layer.conf: Add missing meta-clang dependency. (COMMIT-MESSAGE-2)
        patch
    
    WARN: Commit message should not include directory path to recipe: layer.conf: Add missing meta-clang dependency.
              conf: (COMMIT-MESSAGE-3)
        patch
FAIL - [meta-arago][scarthgap][PATCH 07/10] makedumpfile: Remove outdated recipe
    ERROR: Missing License-Update for change in LIC_FILES_CHKSUM. (LICENSE-UPDATE-1)
        patch
FAIL - [meta-arago][scarthgap][PATCH 08/10] abseil-cpp: Do the version bump in a yocto-check-layer compliant manner
    ERROR: Missing License-Update for change in LIC_FILES_CHKSUM. (LICENSE-UPDATE-1)
        patch
FAIL - [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
    ERROR: Missing License-Update for change in LIC_FILES_CHKSUM. (LICENSE-UPDATE-1)
        patch
FAIL - [meta-arago][scarthgap][PATCH 10/10] v4l-utils: Do the version bump in a yocto-check-layer compliant manner
    ERROR: Missing License-Update for change in LIC_FILES_CHKSUM. (LICENSE-UPDATE-1)
        patch





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 09/10] libyang: " Ryan Eatmon
@ 2025-11-13 23:09   ` Denys Dmytriyenko
  2025-11-14  0:53     ` Ryan Eatmon
  2025-11-25 23:24   ` Denys Dmytriyenko
       [not found]   ` <187B637C71326FC4.199483@lists.yoctoproject.org>
  2 siblings, 1 reply; 15+ messages in thread
From: Denys Dmytriyenko @ 2025-11-13 23:09 UTC (permalink / raw)
  To: reatmon; +Cc: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

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 <reatmon@ti.com>
> ---
>  .../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.


> +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


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 23:09   ` Denys Dmytriyenko
@ 2025-11-14  0:53     ` Ryan Eatmon
  0 siblings, 0 replies; 15+ messages in thread
From: Ryan Eatmon @ 2025-11-14  0:53 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago



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 <reatmon@ti.com>
>> ---
>>   .../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                reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
  2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 09/10] libyang: " Ryan Eatmon
  2025-11-13 23:09   ` Denys Dmytriyenko
@ 2025-11-25 23:24   ` Denys Dmytriyenko
       [not found]   ` <187B637C71326FC4.199483@lists.yoctoproject.org>
  2 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2025-11-25 23:24 UTC (permalink / raw)
  To: reatmon; +Cc: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

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.
> 
> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
> ---
>  .../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"
> +
> +SRCREV = "03e294d83b610f89e8ba7b2156a80dc0ad534443"
> +
> +do_install:append () {
> +    oe_multilib_header  libyang/ly_config.h
> +}

So, there's a weird problem with this change on scarthgap.

Since meta-oe/scarthgap provides an older 2.1.148 version of libyang, the 
original approach for meta-arago was to completely override the entire recipe 
with newer 3.7.8 version.

Now, for YP Compat compliance, it was converted into a .bbappend that adjusts 
the older version from meta-oe.

That older recipe in meta-oe has a multilib fix on top of standard CMake 
do_install() in the form of an :append

do_install:append () {
    oe_multilib_header  libyang/config.h
}

But the newer libyang renamed that config.h file into ly_config.h and now you 
have this code in our .bbappend

do_install:append () {
    oe_multilib_header  libyang/ly_config.h
}

But both :appends get applied and this results in the following error message:

| ERROR: libyang-3.7.8-r0 do_install: oe_multilib_header: Unable to find header libyang/config.h.

There's no easy way to disable or overwrite an existing :append, besides 
completely overriding the entire do_install() or the recipe itself...

But it appears this error is not fatal and does not seem to fail the build.


> 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


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [meta-arago][scarthgap][PATCH 09/10] libyang: Do the version bump in a yocto-check-layer compliant manner
       [not found]   ` <187B637C71326FC4.199483@lists.yoctoproject.org>
@ 2025-11-26  1:07     ` Denys Dmytriyenko
  0 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2025-11-26  1:07 UTC (permalink / raw)
  To: reatmon; +Cc: Praneeth Bajjuri, Denys Dmytriyenko, meta-arago

On Tue, Nov 25, 2025 at 06:24:19PM -0500, 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.
> > 
> > Signed-off-by: Ryan Eatmon <reatmon@ti.com>
> > ---
> >  .../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"
> > +
> > +SRCREV = "03e294d83b610f89e8ba7b2156a80dc0ad534443"
> > +
> > +do_install:append () {
> > +    oe_multilib_header  libyang/ly_config.h
> > +}
> 
> So, there's a weird problem with this change on scarthgap.
> 
> Since meta-oe/scarthgap provides an older 2.1.148 version of libyang, the 
> original approach for meta-arago was to completely override the entire recipe 
> with newer 3.7.8 version.
> 
> Now, for YP Compat compliance, it was converted into a .bbappend that adjusts 
> the older version from meta-oe.
> 
> That older recipe in meta-oe has a multilib fix on top of standard CMake 
> do_install() in the form of an :append
> 
> do_install:append () {
>     oe_multilib_header  libyang/config.h
> }
> 
> But the newer libyang renamed that config.h file into ly_config.h and now you 
> have this code in our .bbappend
> 
> do_install:append () {
>     oe_multilib_header  libyang/ly_config.h
> }
> 
> But both :appends get applied and this results in the following error message:
> 
> | ERROR: libyang-3.7.8-r0 do_install: oe_multilib_header: Unable to find header libyang/config.h.
> 
> There's no easy way to disable or overwrite an existing :append, besides 
> completely overriding the entire do_install() or the recipe itself...
> 
> But it appears this error is not fatal and does not seem to fail the build.

Well, it does fail the first build from scratch, but seems to work fine on 
consecutive builds from sstate...


> > 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


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-11-26  1:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13 22:50 [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 02/10] ti-test: Gate some of the packages behind DISTRO_FEATURE check Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 03/10] packagegroup-arago-tisdk-graphics*: Add DISTRO_FEATURE check for some packages Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 04/10] emptty-conf: Remove rogue -conf entries Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 05/10] meta-arago-extras: layer.conf: Remove SIGGEN_EXCLUDERECIPES_ABISAFE Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 06/10] layer.conf: Add missing meta-clang dependency Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 07/10] makedumpfile: Remove outdated recipe Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 08/10] abseil-cpp: Do the version bump in a yocto-check-layer compliant manner Ryan Eatmon
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 09/10] libyang: " Ryan Eatmon
2025-11-13 23:09   ` Denys Dmytriyenko
2025-11-14  0:53     ` Ryan Eatmon
2025-11-25 23:24   ` Denys Dmytriyenko
     [not found]   ` <187B637C71326FC4.199483@lists.yoctoproject.org>
2025-11-26  1:07     ` Denys Dmytriyenko
2025-11-13 22:50 ` [meta-arago][scarthgap][PATCH 10/10] v4l-utils: " Ryan Eatmon
2025-11-13 22:55 ` [meta-arago][scarthgap][PATCH 01/10] offscreendemo: Add REQUIRED_DISTRO_FEATURES PRC Automation

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.