Re: [meta-arago][master][PATCH 3/4] mesa-demos: Flip to a bbappend
Ryan Eatmon <[email protected]> Wed, 25 Mar 2026 10:32:32 -0500
| Newsgroups | org.yoctoproject.lists.meta-arago |
|---|---|
| Message-ID | <[email protected]> |
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