From 9c6cfb79300a7d15fb493319c9a5fb78a5c32b40 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 09:57:06 -0300 Subject: [PATCH 01/20] distro/oel: Space-separate ROOTFS_POSTPROCESS_COMMAND The executor strips ';' anyway, but with it the functions drop out of the task signature (OE-Core warns since nanbield). Checked with bitbake -e: the function sequence is identical before and after. Signed-off-by: Luciano Dittgen (cherry picked from commit bf7c5786b8371c6d96334b4776faf6195d2fc471) --- conf/distro/include/oel.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/distro/include/oel.inc b/conf/distro/include/oel.inc index 09c53f8..b0ba398 100644 --- a/conf/distro/include/oel.inc +++ b/conf/distro/include/oel.inc @@ -37,7 +37,7 @@ INHERIT += "layerdirs" INHERIT += "typecheck" # Also check for host user contamination in the rootfs -ROOTFS_POSTPROCESS_COMMAND:append = " rootfs_check_host_user_contaminated;" +ROOTFS_POSTPROCESS_COMMAND:append = " rootfs_check_host_user_contaminated" SANITY_TESTED_DISTROS ?= " \ almalinux-8 \ From a527d61351f5b703793a85364493414e67b19bde Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 09:57:06 -0300 Subject: [PATCH 02/20] cve-filter: Space-separate ROOTFS_POSTPROCESS_COMMAND The executor strips ';' anyway, but with it the functions drop out of the task signature (OE-Core warns since nanbield). Checked with bitbake -e: the function sequence is identical before and after. Signed-off-by: Luciano Dittgen (cherry picked from commit 27c2115e859e659cdd32d42bf5a306d0c0d9a950) --- classes/cve-filter.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classes/cve-filter.bbclass b/classes/cve-filter.bbclass index 4729950..aff2968 100644 --- a/classes/cve-filter.bbclass +++ b/classes/cve-filter.bbclass @@ -100,7 +100,8 @@ python do_cve_filter (){ do_cve_filter[doc] = "Compare the image CVE report against a previous version and emit a filtered Markdown summary of the new CVEs." addtask cve_filter after do_rootfs before do_image -ROOTFS_POSTPROCESS_COMMAND:prepend = "link_cvefilter_markdownfile; " +# nooelint: oelint.var.rootfspostcmd the trailing space keeps this prepend apart from the next function +ROOTFS_POSTPROCESS_COMMAND:prepend = "link_cvefilter_markdownfile " link_cvefilter_markdownfile[doc] = "Create a stable-named symlink to the CVE filter Markdown report in the deploy directory." link_cvefilter_markdownfile () { From 93f43121f116af68111e1d93b011ed092378503d Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 09:57:06 -0300 Subject: [PATCH 03/20] deploy-license-manifest: Space-separate the postprocess commands The executor strips ';' anyway, but with it the functions drop out of the task signature (OE-Core warns since nanbield). Checked with bitbake -e: the function sequence is identical before and after. Signed-off-by: Luciano Dittgen (cherry picked from commit 04752e27c0be225936e541056cae27f3156cf4a3) --- classes/deploy-license-manifest.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classes/deploy-license-manifest.bbclass b/classes/deploy-license-manifest.bbclass index a14c0f5..8d663d9 100644 --- a/classes/deploy-license-manifest.bbclass +++ b/classes/deploy-license-manifest.bbclass @@ -1,6 +1,6 @@ # nooelint: oelint.bbclass.underscores oelint.file.inlinesuppress_na no EXPORT_FUNCTIONS here, so the dash is harmless -ROOTFS_POSTPROCESS_COMMAND += "deploy_license_manifest;" -IMAGE_POSTPROCESS_COMMAND += "link_license_manifest;" +ROOTFS_POSTPROCESS_COMMAND += "deploy_license_manifest" +IMAGE_POSTPROCESS_COMMAND += "link_license_manifest" deploy_license_manifest[doc] = "Copy the image license manifest into the deploy directory and generate a CSV variant." deploy_license_manifest () { From be7fad5726f4bbfebcdbfc71d5d7871c04db03ff Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 09:57:06 -0300 Subject: [PATCH 04/20] image-license-checker: Space-separate the postprocess commands The executor strips ';' anyway, but with it the functions drop out of the task signature (OE-Core warns since nanbield). Checked with bitbake -e: the function sequence is identical before and after. Signed-off-by: Luciano Dittgen (cherry picked from commit 8e5863c41a394725380e3485a69a1922756a739a) --- classes/image-license-checker.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/classes/image-license-checker.bbclass b/classes/image-license-checker.bbclass index 88bb92c..69e5ed3 100644 --- a/classes/image-license-checker.bbclass +++ b/classes/image-license-checker.bbclass @@ -135,7 +135,8 @@ python check_rootfs_licenses() { bb.fatal("Packages have denylisted licenses: {}".format(", ".join(bad_packages))) } check_rootfs_licenses[doc] = "Fail the build if any package installed on the rootfs has a denylisted license." -ROOTFS_POSTPROCESS_COMMAND:prepend = "check_rootfs_licenses; " +# nooelint: oelint.var.rootfspostcmd the trailing space keeps this prepend apart from the next function +ROOTFS_POSTPROCESS_COMMAND:prepend = "check_rootfs_licenses " python check_deploy_licenses() { """ @@ -154,4 +155,4 @@ python check_deploy_licenses() { bb.fatal("Deployed image dependencies have denylisted licenses: {}".format(", ".join(bad_recipes))) } check_deploy_licenses[doc] = "Fail the build if any recipe deploying files into the image has a denylisted license." -IMAGE_POSTPROCESS_COMMAND:prepend = "check_deploy_licenses; " +IMAGE_POSTPROCESS_COMMAND:prepend = "check_deploy_licenses " From 9e6fd352279c13705a6680e3ad09fe61611f05a9 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 10:19:39 -0300 Subject: [PATCH 05/20] easysplash: Drop the empty ${SRCPV} from PV SRCPV is deprecated and expands to nothing; the fetcher adds the git revision to PKGV whenever PV contains "+git". Tested: bitbake -e easysplash gives the same PV, PKGV and PF before and after. Signed-off-by: Luciano Dittgen (cherry picked from commit ded797f538d155e300b4ae79b98f0e3d0d682204) --- recipes-core/easysplash/easysplash_2.0.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-core/easysplash/easysplash_2.0.0.bb b/recipes-core/easysplash/easysplash_2.0.0.bb index 2f5adf0..b891dc8 100644 --- a/recipes-core/easysplash/easysplash_2.0.0.bb +++ b/recipes-core/easysplash/easysplash_2.0.0.bb @@ -25,7 +25,7 @@ inherit cargo pkgconfig systemd update-rc.d cargo-update-recipe-crates # DEFAULT_PREFERENCE = "-1" CARGO_SRC_DIR = "" -PV .= "+git${SRCPV}" +PV .= "+git" INITSCRIPT_NAME = "${PN}-start" INITSCRIPT_PARAMS:${PN} = "start 5 S ." From c4ebe7f4df5b3228a01ea3f32bdbf2615b42fc71 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 10:19:39 -0300 Subject: [PATCH 06/20] ossystems-onsite-only-recipe-handler: Stop using SRCPV as a marker The ConfigParsed handler wrote a tag into SRCPV:pn- for the per-recipe check to read back, abusing a deprecated variable. The check now reads OSSYSTEMS_USE_ONSITE_ONLY_RECIPES itself. Tested: with easysplash listed, it is skipped for "0" and unset, parsed normally for "1". Signed-off-by: Luciano Dittgen (cherry picked from commit 958da179db7b99010afc17e77142c5238698a869) --- classes/ossystems-onsite-only-recipe-handler.bbclass | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/classes/ossystems-onsite-only-recipe-handler.bbclass b/classes/ossystems-onsite-only-recipe-handler.bbclass index 4de6603..cdcf825 100644 --- a/classes/ossystems-onsite-only-recipe-handler.bbclass +++ b/classes/ossystems-onsite-only-recipe-handler.bbclass @@ -28,20 +28,17 @@ def ossystems_onsite_only_recipe_handler(d): bb.note("O.S. Systems OnSite-Only Recipes handler: Disabled") - for recipe in onsite_only_recipes.split(): - d.setVar("SRCPV:pn-%s" % recipe, "OSSystemsOnSiteOnlyRecipeTag") - bb.debug(1, "O.S. Systems OnSite-Only Recipes handler: Overriding %s" % recipe) - def ossystems_onsite_only_recipe_check(d): recipes = d.getVar('OSSYSTEMS_ONSITE_ONLY_RECIPES', True) if not recipes: return + if d.getVar('OSSYSTEMS_USE_ONSITE_ONLY_RECIPES', True) == "1": + return + pn = d.getVar('PN', True) if pn in recipes.split(): - srcpv = d.getVar('SRCPV', True) - if srcpv == "OSSystemsOnSiteOnlyRecipeTag": - raise bb.parse.SkipPackage("O.S. Systems OnSite-Only Recipes handler: recipe skipped.") + raise bb.parse.SkipPackage("O.S. Systems OnSite-Only Recipes handler: recipe skipped.") addhandler ossystems_onsite_only_recipe_eventhandler ossystems_onsite_only_recipe_eventhandler[doc] = "Disable on-site-only recipes at ConfigParsed when building off-site." From 79214841ea49b81b9348e78992dd4ce9d782ba73 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:13:46 -0300 Subject: [PATCH 07/20] distro/oel-tiny: Select mdev-busybox as INIT_MANAGER OE-Core made systemd the default INIT_MANAGER and dropped 'none', so oel-tiny gained 'systemd usrmerge' in DISTRO_FEATURES on a musl distro that runs tiny-init-system. Tested with bitbake -e: no systemd or usrmerge left, VIRTUAL-RUNTIME_* unchanged. Signed-off-by: Luciano Dittgen (cherry picked from commit cf14035d56e4953f37e6d8c0c0b43f726034fe36) --- conf/distro/oel-tiny.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/distro/oel-tiny.conf b/conf/distro/oel-tiny.conf index b150284..3ab9ece 100644 --- a/conf/distro/oel-tiny.conf +++ b/conf/distro/oel-tiny.conf @@ -26,6 +26,10 @@ DISTRO = "oel-tiny" DISTRO_NAME = "O.S. Systems Embedded Linux Tiny" TCLIBC = "musl" + +# OE-Core defaults to systemd; tiny uses busybox and its own init. +INIT_MANAGER = "mdev-busybox" + DISTROOVERRIDES = "oel:oel-tiny" # Distro config is evaluated after the machine config, so we have to explicitly From 1c3d862e91aff9540e68779964614a9d212811ad Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:15:59 -0300 Subject: [PATCH 08/20] distro/oel-tiny: Stop recommending nss-myhostname e0d29f2 removed the OEL_DEFAULT_EXTRA_RRECOMMENDS hook from oel.inc, so oel-tiny's override became dead and, without systemd, oel.inc now recommends nss-myhostname, which is not buildable with musl. Tested with bitbake -e: DISTRO_EXTRA_RRECOMMENDS is empty for oel-tiny and oel. Signed-off-by: Luciano Dittgen (cherry picked from commit 6937c1197479854b80b34faf771aac32d470247d) --- conf/distro/oel-tiny.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/distro/oel-tiny.conf b/conf/distro/oel-tiny.conf index 3ab9ece..6eb2461 100644 --- a/conf/distro/oel-tiny.conf +++ b/conf/distro/oel-tiny.conf @@ -37,7 +37,8 @@ DISTROOVERRIDES = "oel:oel-tiny" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-tiny" PREFERRED_VERSION_linux-yocto-tiny ?= "6.18%" -OEL_DEFAULT_EXTRA_RRECOMMENDS = "" +# nss-myhostname needs glibc NSS; it is not buildable with musl. +DISTRO_EXTRA_RRECOMMENDS:remove = "nss-myhostname" # Disable wide char support for ncurses as we don't include it in # in the LIBC features below. From ae594411b6abc7be917eefccf1e6de347de5c913 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:16:56 -0300 Subject: [PATCH 09/20] distro/oel-tiny: Default the optional DISTRO_FEATURES groups to empty DISTRO_FEATURES_USBGADGET and DISTRO_FEATURES_WIFI are only set in comments, so DISTRO_FEATURES carried them as literal unexpanded '${...}' strings. Tested with bitbake -e for oel-tiny. Signed-off-by: Luciano Dittgen (cherry picked from commit fa3a2166ed33ab55c1354e4dbd87789a171c5da9) --- conf/distro/oel-tiny.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/distro/oel-tiny.conf b/conf/distro/oel-tiny.conf index 6eb2461..80b8199 100644 --- a/conf/distro/oel-tiny.conf +++ b/conf/distro/oel-tiny.conf @@ -55,6 +55,8 @@ USE_NLS="no" DISTRO_FEATURES_TINY = "pci" DISTRO_FEATURES_NET = "ipv4 ipv6" DISTRO_FEATURES_USB = "usbhost" +DISTRO_FEATURES_USBGADGET ?= "" +DISTRO_FEATURES_WIFI ?= "" #DISTRO_FEATURES_USBGADGET = "usbgadget" #DISTRO_FEATURES_WIFI = "wifi" From f298e76003e4519842ebb7fe2a9b6a043895d354 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:20:39 -0300 Subject: [PATCH 10/20] distro/oel: Select systemd as INIT_MANAGER explicitly OE-Core now expects distros to choose an init manager; oel has relied on its systemd default since wrynose. The busybox login_manager preference always lost to init-manager-systemd and every other init manager already defaults to busybox, so drop it. Signed-off-by: Luciano Dittgen (cherry picked from commit 38041ff5f17b97bc7f9277a658a2a55b0c9425cd) --- conf/distro/include/oel.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/distro/include/oel.inc b/conf/distro/include/oel.inc index b0ba398..6c43e93 100644 --- a/conf/distro/include/oel.inc +++ b/conf/distro/include/oel.inc @@ -71,6 +71,9 @@ OEL_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot" DISTRO_FEATURES ?= "${OEL_DEFAULT_DISTRO_FEATURES} \ ${OEL_EXTRA_DISTRO_FEATURES}" +# OE-Core requires distros to pick an init manager; oel uses systemd. +INIT_MANAGER ?= "systemd" + DISTRO_EXTRA_RDEPENDS += "${OEL_DEFAULT_EXTRA_RDEPENDS}" DISTRO_FEATURES_OPTED_OUT ?= " \ @@ -118,9 +121,6 @@ VOLATILE_BINDS:append = "\ # don't have pam available, as the user service won't be started systemd_userunitdir:pn-pulseaudio = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${systemd_unitdir}/user', '${systemd_unitdir}/system', d)}" -# We prefer busybox rather than tinylogin -VIRTUAL-RUNTIME_login_manager ??= "busybox" - # Use systemd as syslog in distros that has systemd in DISTRO_FEATURES VIRTUAL-RUNTIME_base-utils-syslog = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'busybox-syslog', d)}" From afbc49c5643e07a2c9e3f1b8a91e3c7a0ae3bedd Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:22:01 -0300 Subject: [PATCH 11/20] distro/oel: Drop the dead arm_tune_handler It was hooked up as DEFAULTTUNE_oel, pre-honister override syntax, so since 2021 it only set an unused variable and never changed any tune. Tested with bitbake -e busybox and core-image-minimal (qemuarm): only DEFAULTTUNE_oel and the function itself disappear. Signed-off-by: Luciano Dittgen (cherry picked from commit 43a9f86130c463f450ea01a6210c0cfb769beae3) --- conf/distro/include/oel.inc | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/conf/distro/include/oel.inc b/conf/distro/include/oel.inc index 6c43e93..d15893f 100644 --- a/conf/distro/include/oel.inc +++ b/conf/distro/include/oel.inc @@ -162,28 +162,6 @@ SSTATE_MIRROR_SITES:prepend = "${LAYER_SSTATE_MIRRORS} " # Ensure that we implement shared state reuse handling for non-target recipes require conf/distro/include/sstate.inc -# This function changes the default tune for machines which are based on armv7a -# to use common tune value. -def arm_tune_handler(d): - features = d.getVar('TUNE_FEATURES', True).split() - if 'armv7a' in features or 'armv7ve' in features: - tune = 'armv7ahf' - if 'bigendian' in features: - tune += 'b' - if 'vfpv3' in features: - tune += '-vfpv3' - if 'vfpv3d16' in features: - tune += '-vfpv3d16' - if 'neon' in features: - tune += '-neon' - if 'vfpv4' in features: - tune += '-vfpv4' - else: - tune = d.getVar('DEFAULTTUNE', True) - return tune - -DEFAULTTUNE_oel := "${@arm_tune_handler(d)}" - DISTRO_ARM_INSTRUCTION ?= "arm" DISTRO_ARM_INSTRUCTION:armv4 ?= "arm" DISTRO_ARM_INSTRUCTION:armv5te ?= "arm" From 912a5a6f922af224d630ad2c2406bd663402932d Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 10 Nov 2026 10:57:06 -0300 Subject: [PATCH 12/20] os-release: Drop the trailing space from VERSION The append always added a space, so a build without a build number shipped VERSION="26.11-snapshot- ". Put the space inside the conditional string. Signed-off-by: Luciano Dittgen (cherry picked from commit bec260c570d356e8efe347149b0a148998e16258) --- recipes-core/os-release/os-release.bbappend | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-core/os-release/os-release.bbappend b/recipes-core/os-release/os-release.bbappend index d6d3463..88ec111 100644 --- a/recipes-core/os-release/os-release.bbappend +++ b/recipes-core/os-release/os-release.bbappend @@ -1,4 +1,5 @@ OS_RELEASE_FIELDS:append:oel = " BUILD_NUMBER" # Append build number for development builds -VERSION:append:oel = " ${@'(build %s)' % BUILD_NUMBER if 'BUILD_NUMBER' in d and DISTRO_VERSION.endswith('+devel') else ''}" +# nooelint: oelint.vars.inconspaces the separating space is only wanted with a build number +VERSION:append:oel = "${@' (build %s)' % BUILD_NUMBER if 'BUILD_NUMBER' in d and DISTRO_VERSION.endswith('+devel') else ''}" From cb3b7dffba7d59e2e405f39a59e98289a126b6c3 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Fri, 6 Nov 2026 14:02:41 -0300 Subject: [PATCH 13/20] cog-init: Move recipe where the webkit dynamic pattern reaches it 1aa0efb moved cog-init with an extra cog/ level, so the recipe sat at recipes-browser/cog/cog/ and BBFILES_DYNAMIC (*/*/*.bb) never parsed it. Tested with a webkit stub layer: cog-init do_fetch, do_unpack and do_populate_lic succeed. Signed-off-by: Luciano Dittgen (cherry picked from commit 99773ea467780747145473db00267ad074605b10) --- .../webkit/recipes-browser/cog/{cog => }/cog-init_1.0.bb | 0 .../webkit/recipes-browser/cog/{cog => }/files/COPYING.MIT | 0 .../webkit/recipes-browser/cog/{cog => }/files/cog-init.default | 0 .../webkit/recipes-browser/cog/{cog => }/files/cog-init.initd | 0 .../webkit/recipes-browser/cog/{cog => }/files/cog-init.service | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename dynamic-layers/webkit/recipes-browser/cog/{cog => }/cog-init_1.0.bb (100%) rename dynamic-layers/webkit/recipes-browser/cog/{cog => }/files/COPYING.MIT (100%) rename dynamic-layers/webkit/recipes-browser/cog/{cog => }/files/cog-init.default (100%) rename dynamic-layers/webkit/recipes-browser/cog/{cog => }/files/cog-init.initd (100%) rename dynamic-layers/webkit/recipes-browser/cog/{cog => }/files/cog-init.service (100%) diff --git a/dynamic-layers/webkit/recipes-browser/cog/cog/cog-init_1.0.bb b/dynamic-layers/webkit/recipes-browser/cog/cog-init_1.0.bb similarity index 100% rename from dynamic-layers/webkit/recipes-browser/cog/cog/cog-init_1.0.bb rename to dynamic-layers/webkit/recipes-browser/cog/cog-init_1.0.bb diff --git a/dynamic-layers/webkit/recipes-browser/cog/cog/files/COPYING.MIT b/dynamic-layers/webkit/recipes-browser/cog/files/COPYING.MIT similarity index 100% rename from dynamic-layers/webkit/recipes-browser/cog/cog/files/COPYING.MIT rename to dynamic-layers/webkit/recipes-browser/cog/files/COPYING.MIT diff --git a/dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.default b/dynamic-layers/webkit/recipes-browser/cog/files/cog-init.default similarity index 100% rename from dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.default rename to dynamic-layers/webkit/recipes-browser/cog/files/cog-init.default diff --git a/dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.initd b/dynamic-layers/webkit/recipes-browser/cog/files/cog-init.initd similarity index 100% rename from dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.initd rename to dynamic-layers/webkit/recipes-browser/cog/files/cog-init.initd diff --git a/dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.service b/dynamic-layers/webkit/recipes-browser/cog/files/cog-init.service similarity index 100% rename from dynamic-layers/webkit/recipes-browser/cog/cog/files/cog-init.service rename to dynamic-layers/webkit/recipes-browser/cog/files/cog-init.service From 995152f4a4b98e4af512d7b2091f21ca4b517a06 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 14:15:27 -0300 Subject: [PATCH 14/20] distro/oel-tiny: Add whitespace around the USE_NLS assignment BitBake warns about the missing whitespace on every parse with DISTRO=oel-tiny. Tested: bitbake -e output is identical apart from the two warnings, which are gone. Signed-off-by: Luciano Dittgen (cherry picked from commit 64bb8961d920684414e082b309f09543b9d8955a) --- conf/distro/oel-tiny.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/distro/oel-tiny.conf b/conf/distro/oel-tiny.conf index 80b8199..96ae282 100644 --- a/conf/distro/oel-tiny.conf +++ b/conf/distro/oel-tiny.conf @@ -48,7 +48,7 @@ ENABLE_WIDEC:class-native = "true" # Drop native language support to avoid pulling gettext and wide-char libc # features into the tiny image. -USE_NLS="no" +USE_NLS = "no" # DISTRO_FEATURES options: # alsa bluetooth ext2 irda pcmcia usbgadget usbhost wifi nfs zeroconf pci From 4673c9b638d74318e9b7d707dad791fbfe419f44 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:20 -0300 Subject: [PATCH 15/20] chromium-ozone-wayland-init: Register the init script under its real name INITSCRIPT_NAME was "${BPM}", an undefined variable, so update-rc.d registered a script literally named "${BPM}" and the installed /etc/init.d/chromium-ozone-wayland never started. Tested: package_qa with DISTRO=oel-tiny + sysvinit; the postinst now runs update-rc.d on chromium-ozone-wayland. Signed-off-by: Luciano Dittgen (cherry picked from commit ee591f1e2bdb5139d39c9078809537f580111431) --- .../recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb index a46cdb1..d9ea484 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init_1.0.bb @@ -33,7 +33,7 @@ CHROMIUM_EXTRA_ARGS ?= "" SYSTEMD_SERVICE:${PN} = "chromium-ozone-wayland.service" # Start after weston-init -INITSCRIPT_NAME = "${BPM}" +INITSCRIPT_NAME = "chromium-ozone-wayland" INITSCRIPT_PARAMS = "start 10 5 2 . stop 19 0 1 6 ." do_configure[noexec] = "1" From bec9728b438798e81a247ca6b6390a983089f75a Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:25 -0300 Subject: [PATCH 16/20] chromium-ozone-wayland-init: Start /usr/bin/chromium from the init script meta-browser installs the browser only as /usr/bin/chromium; there is no /usr/bin/chromium-ozone-wayland, so the "[ -x $DAEMON ] || exit 0" guard made the sysvinit script a silent no-op. The systemd unit already runs /usr/bin/chromium. NAME stays, as it names the pidfile and the /etc/default file. Signed-off-by: Luciano Dittgen (cherry picked from commit 69d09ed89f1d2e472d05680b7e9b3f409c29ddf7) --- .../chromium-ozone-wayland-init.initd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd index bdd445a..d37031f 100644 --- a/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd +++ b/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-init/chromium-ozone-wayland-init.initd @@ -17,7 +17,7 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="chromium-browser" NAME="chromium-ozone-wayland" -DAEMON=/usr/bin/$NAME +DAEMON=/usr/bin/chromium CHROMIUM_ARGS="" PIDFILE=/var/run/$NAME.pid From 175f78db54eff7bc3c73ed554dfa957686a38abd Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:29 -0300 Subject: [PATCH 17/20] qt-kiosk-browser-init: Install the init script as qt-kiosk-browser The script was installed as /etc/init.d/kiosk while INITSCRIPT_NAME, the systemd unit and the /etc/default file all use qt-kiosk-browser, so update-rc.d linked a script that does not exist. Signed-off-by: Luciano Dittgen (cherry picked from commit 793842f9d74d6310f14b27ee7c185ffb0f9e0427) --- .../recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb index 813e76c..3303558 100644 --- a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb +++ b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/qt-kiosk-browser-init_1.0.bb @@ -40,7 +40,7 @@ INITSCRIPT_NAME = "qt-kiosk-browser" do_install() { if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/kiosk + install -Dm 0755 ${UNPACKDIR}/${PN}.initd ${D}${sysconfdir}/init.d/qt-kiosk-browser fi if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then install -Dm 0644 ${UNPACKDIR}/${PN}.service ${D}${systemd_system_unitdir}/qt-kiosk-browser.service From 0b4074076789a0d58b5405627e1a36db357eb2e2 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 13:45:38 -0300 Subject: [PATCH 18/20] qt-kiosk-browser-init: Point the init script at the real binary and config NAME was "qt-kiosk-browser-init", so the script looked for /usr/bin/qt-kiosk-browser-init and /etc/qt-kiosk-browser-init.conf; neither exists, and "test -x || exit 0" made it a silent no-op. It also never read /etc/default/qt-kiosk-browser, which carries WAYLAND_DISPLAY, XDG_RUNTIME_DIR and QTWEBENGINE_CHROMIUM_FLAGS for the systemd unit. Signed-off-by: Luciano Dittgen (cherry picked from commit b4abb148e3d893396b4e65fc4acfdea7071c51bc) --- .../files/qt-kiosk-browser-init.initd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd index ee415b8..aba5469 100644 --- a/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd +++ b/dynamic-layers/qt5-layer/recipes-qt/qt-kiosk-browser/files/qt-kiosk-browser-init.initd @@ -1,7 +1,7 @@ #!/bin/sh ### BEGIN INIT INFO -# Provides: $NAME +# Provides: qt-kiosk-browser # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 @@ -11,13 +11,20 @@ set -e DESC="Qt kiosk browser init" -NAME="qt-kiosk-browser-init" +NAME="qt-kiosk-browser" DAEMON=/usr/bin/$NAME DAEMON_ARGS="--platform wayland /etc/$NAME.conf --no-sandbox" PIDFILE=/var/run/$NAME.pid test -x ${DAEMON} || exit 0 +# Same environment as the systemd unit's EnvironmentFile +if [ -r /etc/default/$NAME ]; then + set -a + . /etc/default/$NAME + set +a +fi + umask 022 . /etc/init.d/functions From 4824b25e149079bb943f6fae8e1db8e52320531a Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 9 Nov 2026 14:23:22 -0300 Subject: [PATCH 19/20] networkmanager: Drop the bbappend that pins the pppd plugin dir to 2.4.9 OE-Core ships ppp 2.5.x, so the hard-coded plugin dir put the NM plugin where pppd never looks. meta-networking's PACKAGECONFIG[ppp] already takes the dir from pppd.pc. Tested: bitbake -e networkmanager with meta-networking master, default and with PACKAGECONFIG ppp. Signed-off-by: Luciano Dittgen (cherry picked from commit 69ae4644ab4f5a9985738811cc909c206242b843) --- .../recipes-connectivity/networmanager/networkmanager_%.bbappend | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dynamic-layers/networking-layer/recipes-connectivity/networmanager/networkmanager_%.bbappend diff --git a/dynamic-layers/networking-layer/recipes-connectivity/networmanager/networkmanager_%.bbappend b/dynamic-layers/networking-layer/recipes-connectivity/networmanager/networkmanager_%.bbappend deleted file mode 100644 index 8fcaf31..0000000 --- a/dynamic-layers/networking-layer/recipes-connectivity/networmanager/networkmanager_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd_plugin_dir='${libdir}/pppd/2.4.9' -Dpppd=${sbindir}/pppd,-Dppp=false,ppp,ppp" From 431b217e25c133cf6407e7baabee57da415f114e Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 10 Nov 2026 14:07:22 -0300 Subject: [PATCH 20/20] easysplash: Check upstream versions against the branch head Upstream EasySplash has only a 1.0.0 tag, so the 2.0.0 recipes had no version to compare with. Tested with devtool check-upgrade-status: the three recipes went from UNKNOWN_BROKEN to new upstream commits. Signed-off-by: Luciano Dittgen (cherry picked from commit e8c462a9f59340fa2ff282d14c01c254e4c50a32) --- recipes-core/easysplash/easysplash-common-2.0.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes-core/easysplash/easysplash-common-2.0.inc b/recipes-core/easysplash/easysplash-common-2.0.inc index 39bb6f8..7540737 100644 --- a/recipes-core/easysplash/easysplash-common-2.0.inc +++ b/recipes-core/easysplash/easysplash-common-2.0.inc @@ -3,6 +3,9 @@ PV = "2.0.0" SRC_URI = "git://github.com/OSSystems/EasySplash.git;branch=master;protocol=https" SRCREV = "81a44392efe15fd12ea673f1c828a52e95103eea" +# Upstream has no tag for 2.0.0, so the version check follows the branch head. +UPSTREAM_CHECK_COMMITS = "1" + EXTRA_OEMAKE += "\ prefix=${prefix} \ sysconfdir=${sysconfdir} \