On 3/24/2026 1:20 PM, Ryan Eatmon via lists.yoctoproject.org wrote:


On 3/24/2026 1:14 PM, Denys Dmytriyenko wrote:
On Mon, Mar 23, 2026 at 08:51:31PM -0400, Denys Dmytriyenko wrote:
On Mon, Mar 23, 2026 at 12:16:30PM -0500, Randolph Sapp wrote:
On Sun Mar 22, 2026 at 2:26 PM CDT, Denys Dmytriyenko wrote:
On Fri, Mar 20, 2026 at 05:22:30PM -0500, Randolph Sapp via lists.yoctoproject.org wrote:
On Fri Mar 20, 2026 at 5:14 PM CDT, Ryan Eatmon via lists.yoctoproject.org wrote:
Clean up a check layer error related to how this recipe was setup.

Change the recipe to a bbappend instead of a new git version. Apply all
of the changes that were made in the new recipe to the bbappend, and
remove the PREFERRED_VERSION in arago-prefs.inc.

Signed-off-by: Ryan Eatmon <[email protected]>
---
  .../conf/distro/include/arago-prefs.inc       |  3 --
  .../mesa/mesa-demos-arago.inc                 | 17 ++++++++
  .../mesa/mesa-demos_9.0.0.bbappend            |  4 ++
  .../recipes-graphics/mesa/mesa-demos_git.bb   | 42 -------------------
  4 files changed, 21 insertions(+), 45 deletions(-)
  create mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos-arago.inc   create mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos_9.0.0.bbappend   delete mode 100644 meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb

diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
index 4d1a6006..6a2faa53 100644
--- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
+++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
@@ -10,6 +10,3 @@ VIRTUAL-RUNTIME_dbus = "dbus-broker"
  # application that does not have a GPLv3 license
  PREFERRED_VERSION_crda = "3.18"
  PREFERRED_VERSION_obex = "0.34"
-
-# Bump mesa-demos to include some patches not in a tagged release
-PREFERRED_VERSION_mesa-demos = "9.0.0+git"
diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos-arago.inc b/meta-arago-distro/recipes-graphics/mesa/mesa-demos-arago.inc
new file mode 100644
index 00000000..5a5412c2
--- /dev/null
+++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos-arago.inc
@@ -0,0 +1,17 @@
+SECTION = ""
+
+LIC_FILES_CHKSUM:remove = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e"
+
+LIC_FILES_CHKSUM:append = " file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae"
+
+SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main"
+SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee"
+
+PV = "9.0.0+git"
+
+REQUIRED_DISTRO_FEATURES:remove = "x11"
+
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
+
+PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut"
+PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled,"
diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_9.0.0.bbappend b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_9.0.0.bbappend
new file mode 100644
index 00000000..3b26e342
--- /dev/null
+++ b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_9.0.0.bbappend
@@ -0,0 +1,4 @@
+MESA_DEMOS_ARAGO = ""
+MESA_DEMOS_ARAGO:arago = "mesa-demos-arago.inc"
+
+require ${MESA_DEMOS_ARAGO}
diff --git a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb b/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb
deleted file mode 100644
index 2da3ceff..00000000
--- a/meta-arago-distro/recipes-graphics/mesa/mesa-demos_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Mesa demo applications"
-DESCRIPTION = "This package includes the demonstration application, such as glxgears. \ -These applications can be used for Mesa validation and benchmarking."
-HOMEPAGE = "http://mesa3d.org";
-BUGTRACKER = "https://bugs.freedesktop.org";
-
-LICENSE = "MIT & PD"
-LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=a481fbdb2ac800ecb12405c33bcfacae \ - file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06"
-
-SRC_URI = "git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main"
-SRCREV = "02eae079cb0b8186064d5b194ca4cc2995f099ee"
-
-DEFAULT_PREFERENCE = "-1"
-PV = "9.0.0+git"
-
-inherit meson pkgconfig features_check
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-EXTRA_OEMESON = "-Dwith-system-data-files=true"
-
-PACKAGECONFIG ?= "drm egl gles1 gles2 \
-                  ${@bb.utils.filter('DISTRO_FEATURES', 'vulkan x11 wayland', d)}"
-
-PACKAGECONFIG[drm] = "-Dlibdrm=enabled,-Dlibdrm=disabled,libdrm"
-PACKAGECONFIG[egl] = "-Degl=enabled,-Degl=disabled,virtual/egl"
-PACKAGECONFIG[gles1] = "-Dgles1=enabled,-Dgles1=disabled,virtual/libgles1" -PACKAGECONFIG[gles2] = "-Dgles2=enabled,-Dgles2=disabled,virtual/libgles2" -PACKAGECONFIG[glut] = "-Dwith-glut=${STAGING_EXECPREFIXDIR},-Dglut=disabled,freeglut"
-PACKAGECONFIG[osmesa] = "-Dosmesa=enabled,-Dosmesa=disabled,"
-PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader glslang-native" -PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/libgl wayland wayland-native wayland-protocols libxkbcommon libdecor" -PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libglu libxkbcommon libxcb"
-
-do_install:append() {
-    # it can be completely empty when all PACKAGECONFIG options are disabled
-    rmdir --ignore-fail-on-non-empty ${D}${bindir}
-
-    if [ -f ${D}${bindir}/clear ]; then
-        mv ${D}${bindir}/clear ${D}${bindir}/clear.mesa-demos
-    fi
-}

I still hate that layer conformance thinks this is the correct way to do what is essentially adding a new *optional* package version. Feels really backwards and
gross, but I'm already picking other fights right now.

In order for a new version of a recipe to be *optional*, it should not be
selected by bitbake by default.

There are 2 ways to do this (besides making a bbappend):

1. Use the same name, but lower the default preference DEFAULT_PREFERENCE="-1" and still able to select it with PREFERRED_VERSION_mesa-demos="9.0.0+git"

Yeah, I did that. You can see it in the patch above, being removed. The
conformance still thinks it's wrong.

Ah, indeed, missed that.

Still not sure why the yocto-check-layer fails for this case...

FTR, in our discussions during early days of YP Compat and yocto-check-layer several years ago, this was one of the correct methods to deal with multiple
versions - see the comments here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12688

Do you have the exact error message that the tool now prints?

Of course not.  I was just fixing the issue not documenting things. I'll have to revert the patch to get the message.  I'll try and do that sometime this week... if I can remember to...


INFO: ======================================================================
INFO: FAIL: test_signatures (common.CommonCheckLayer.test_signatures)
INFO: ----------------------------------------------------------------------
INFO: Traceback (most recent call last):
File "/scratch/builds/check-layer/check-layer-meta-arago-master-wip/ypcompat/build/sources/oe-core/scripts/lib/checklayer/cases/common.py", line 141, in test_signatures self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg))
AssertionError: Adding layer meta-arago-distro changed signatures.
29 signatures changed, initial differences (first hash before, second after): mesa-demos:do_create_recipe_spdx: fdfa5e3d9511bd54a5acc78263febea675fa0c8a2008acf3cfa30ec4e2f8a5a1 -> 8edf52b9c5a6900ec8145520c5669c21acaf8d19a8a0fa1cfa8053d37bee568c bitbake-diffsigs --task mesa-demos do_create_recipe_spdx --signature fdfa5e3d9511bd54a5acc78263febea675fa0c8a2008acf3cfa30ec4e2f8a5a1 8edf52b9c5a6900ec8145520c5669c21acaf8d19a8a0fa1cfa8053d37bee568c
      NOTE: Reconnecting to bitbake server...
basehash changed from 0ffaa6b8739b033ea2ced33806a84321f22cd2b545941a995e45c20e25d3ac83 to 7f97e74de56a366492f9e28738528bb75cb27a658d2f3e0a55d843ea35bf8bfb Variable FILE_LAYERNAME value changed from 'core' to 'meta-arago-distro'
      Variable PV value changed from '9.0.0' to '9.0.0+git'
      runtaskdeps changed:
['gcc-cross-x86_64:do_create_recipe_spdx gcc-runtime:do_create_recipe_spdx glibc:do_create_recipe_spdx glslang-native:do_create_recipe_spdx', +libdecor:do_create_recipe_spdx, 'libdrm:do_create_recipe_spdx libglu:do_create_recipe_spdx libx11:do_create_recipe_spdx libxcb:do_create_recipe_spdx libxkbcommon:do_create_recipe_spdx mesa:do_create_recipe_spdx meson-native:do_create_recipe_spdx ninja-native:do_create_recipe_spdx pkgconf-native:do_create_recipe_spdx python3-native:do_create_recipe_spdx qemu-native:do_create_recipe_spdx vulkan-loader:do_create_recipe_spdx', +wayland-native:do_create_recipe_spdx wayland-protocols:do_create_recipe_spdx wayland:do_create_recipe_spdx]
      Number of task dependencies changed
Dependency on task libdecor:do_create_recipe_spdx was added with hash d0ae5f314e39c6759b1251b19ee60fed31cb596ed74db4c2af1bf9c81120ca71 Dependency on task wayland-native:do_create_recipe_spdx was added with hash 2fcdc48b49b216a7ca88d77c47fdfc2fced6fd430cbd56bf3c3f40c653b3bf5d Dependency on task wayland-protocols:do_create_recipe_spdx was added with hash 9a61f0be609311e41c15076efa091042796ff578c07eb574639515b57ad99c43 Dependency on task wayland:do_create_recipe_spdx was added with hash f93d7441a54a3996ec8f51403ffbdfafdacae6748ab40267eaa86a84d2602137

mesa-demos:do_recipe_qa: fdb65811eccad14710d68baedd228db109d29a414864839cb980b24a31f23cef -> 3e2485f2d58b88827b96212eb4ae8f3c71cab6a96180855597ac5107ce9ab30b bitbake-diffsigs --task mesa-demos do_recipe_qa --signature fdb65811eccad14710d68baedd228db109d29a414864839cb980b24a31f23cef 3e2485f2d58b88827b96212eb4ae8f3c71cab6a96180855597ac5107ce9ab30b
      NOTE: Reconnecting to bitbake server...
      Task dependencies changed from:
['BPN', 'HOMEPAGE', 'INSANE_SKIP', 'MLPREFIX', 'OE_SHARED_UMASK', 'PN', 'PR', 'PV', 'QA_ERRORS_FOUND', 'RECIPE_MAINTAINER', 'SPECIAL_PKGSUFFIX', 'SRC_URI', 'SRC_URI[sha256sum]', 'SSTATECREATEFUNCS', 'SSTATEPOSTCREATEFUNCS', 'SSTATEPOSTUNPACKFUNCS', 'SSTATE_BUILDDIR', 'SSTATE_INSTDIR', 'SSTATE_MANIFESTS', 'SSTATE_SCAN_FILES', 'SSTATE_SKIP_CREATION', 'SUMMARY', 'do_recipe_qa[network]', 'do_recipe_qa[sstate-inputdirs]', 'oe.path.copyhardlinktree', 'oe.path.copytree', 'oe.path.remove', 'oe.qa.exit_if_errors', 'oe.qa.exit_with_message_if_errors', 'oe.sstatesig.sstate_get_manifest_filename', 'oe.utils.prune_suffix', 'sstate_add', 'sstate_clean', 'sstate_clean_manifest', 'sstate_init', 'sstate_install', 'sstate_installpkgdir', 'sstate_package', 'sstate_state_fromvars', 'sstate_task_postfunc', 'sstate_task_prefunc']
      to:
['HOMEPAGE', 'INSANE_SKIP', 'OE_SHARED_UMASK', 'PN', 'PR', 'PV', 'QA_ERRORS_FOUND', 'RECIPE_MAINTAINER', 'SRC_URI', 'SSTATECREATEFUNCS', 'SSTATEPOSTCREATEFUNCS', 'SSTATEPOSTUNPACKFUNCS', 'SSTATE_BUILDDIR', 'SSTATE_INSTDIR', 'SSTATE_MANIFESTS', 'SSTATE_SCAN_FILES', 'SSTATE_SKIP_CREATION', 'SUMMARY', 'do_recipe_qa[network]', 'do_recipe_qa[sstate-inputdirs]', 'oe.path.copyhardlinktree', 'oe.path.copytree', 'oe.path.remove', 'oe.qa.exit_if_errors', 'oe.qa.exit_with_message_if_errors', 'oe.sstatesig.sstate_get_manifest_filename', 'sstate_add', 'sstate_clean', 'sstate_clean_manifest', 'sstate_init', 'sstate_install', 'sstate_installpkgdir', 'sstate_package', 'sstate_state_fromvars', 'sstate_task_postfunc', 'sstate_task_prefunc'] basehash changed from f3c45b3c71fdb2e78bea3799d710ff4dc34bc08debc780666a13aae14dc3929b to 62f19e76a9f74c8a8a8467e3cb7f322f7c3accd60a3d56bfa412a438aa00b5bb List of dependencies for variable SRC_URI changed from 'frozenset({'BPN', 'PV', 'SRC_URI[sha256sum]'})' to 'frozenset()'
      Dependency on Variable BPN was removed
      Dependency on Variable MLPREFIX was removed
      Dependency on Variable SPECIAL_PKGSUFFIX was removed
      Dependency on Variable SRC_URI[sha256sum] was removed
      Dependency on Variable oe.utils.prune_suffix was removed
      Variable PV value changed from '9.0.0' to '9.0.0+git'
      Variable SRC_URI value changed:
"[-https://archive.mesa3d.org/demos/${BPN}-${PV}.tar.xz file://0001-meson-fix-glx-detection-without-glvnd.patch -] {+git://gitlab.freedesktop.org/mesa/demos.git;protocol=https;branch=main+}"

mesa-demos:do_write_config: 74d083f3c31a70739bd6dc4c614b966960da100230c569a6ed4b20a9ce6d9d48 -> 9b254ca132ba955b0a0fa5bc1a05608cbd6f91fe7f39e8f359773e443f4ad001 bitbake-diffsigs --task mesa-demos do_write_config --signature 74d083f3c31a70739bd6dc4c614b966960da100230c569a6ed4b20a9ce6d9d48 9b254ca132ba955b0a0fa5bc1a05608cbd6f91fe7f39e8f359773e443f4ad001
      NOTE: Reconnecting to bitbake server...
basehash changed from d06bb5d1e0378df4aef1951edc4d39162f54204b9b371a2849b1bd8814260f70 to 82023e545f66d6c0bd6d4af9c64f8234be828d1121aaf8183285cd8098584fa3
      Variable PV value changed from '9.0.0' to '9.0.0+git'


That's the errors. Basically, the tool does not like having two recipes for the same package.










2. Use a different name e.g. mesa-demos-arago and set PROVIDES="mesa-demos" - allows selecting it with PREFERRED_PROVIDER_mesa-demos="mesa-demos-arago"


--
Ryan Eatmon                [email protected]
-----------------------------------------
Texas Instruments, Inc.  -  LCPD  -  MGTS


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#17438): 
https://lists.yoctoproject.org/g/meta-arago/message/17438
Mute This Topic: https://lists.yoctoproject.org/mt/118426470/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-arago/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to