summaryrefslogtreecommitdiffstats
path: root/recipes-core
diff options
context:
space:
mode:
authorLuciano Dittgen <luciano.dittgen@ossystems.com.br>2026-08-06 14:36:34 -0300
committerLuciano Dittgen <luciano.dittgen@ossystems.com.br>2026-08-07 09:30:00 -0300
commitf22a7b5863e81b58c21ee5c9f535074ea4d09497 (patch)
tree46e0a0939fc70ba81a82ef8bcbf4ecb463832fe9 /recipes-core
parent4bcd1256ea16e001d449634f3d865ca7a89f7b87 (diff)
downloadmeta-freescale-f22a7b5863e81b58c21ee5c9f535074ea4d09497.tar.gz
oelint: Suppress noncoreoverride on the machine-gated bbappend idiom
oelint.vars.noncoreoverride flags every statement in a bbappend that carries no MACHINE or DISTRO override suffix, because an unconditional override of core behaviour fails yocto-check-layer. The check is purely syntactic: it cannot see that a statement's effective value is already machine-gated, which is exactly how most of this layer is written. DRM-REMOVE = "" <- flagged DRM-REMOVE:imxgpu:mx6-nxp-bsp = "drm-gl drm-gles2" PACKAGECONFIG:remove = "${DRM-REMOVE}" <- flagged Neither line can be scoped. A fallback default cannot carry an override for the machines it is the fallback for, and the dispatch line that consumes it is a no-op wherever the helper expands empty. Scoping them anyway would damage correct metadata: weston-init reads HAS_G2D as "elif ${HAS_G2D};" in shell, where an empty value is a syntax error. Suppress the 58 sites proven inert, each with its own rationale. The proof is a bitbake -e comparison on MACHINE=qemuarm64 -- a machine this layer does not own -- with meta-freescale in and out of BBLAYERS. At every suppressed site SRC_URI, DEPENDS, PACKAGECONFIG, OPENGL_PKGCONFIGS and REQUIRED_DISTRO_FEATURES are unchanged; eight recipes show no effective difference at all. The helper variables are defined in the datastore but every consumer is override-scoped. For the 18 FILESEXTRAPATHS sites there is a stronger result: FILESPATH and FILESEXTRAPATHS are both in BB_BASEHASH_IGNORE_VARS, so they cannot reach a task signature. Two anonymous python blocks are deliberately left unsuppressed and explained in place instead. For those, oelint anchors the finding to the line before the block, so a directive placed above only moves the anchor onto itself: the finding survives and inlinesuppress_na is reported for the directive. oelint.task.noanonpython anchors the same block to the 'python' line and suppresses correctly, so the two rules disagree about where the construct starts. Upstream oelint bug candidate. The rule count goes 76 -> 18 and the layer total 548 -> 491. The 16 findings that remain are not noise: they are measured, genuine unconditional changes to machines this layer does not own, and are left open for separate fixes. This change is comment-only; no non-comment line is added or modified. Validated with bitbake -p (1166 recipes, 0 errors) and an authoritative driver rescan showing zero introduced findings in any of the 24 edited files. The residual override/outofcontext churn in the rescan is the known shared-metadata scan non-determinism and nets to zero. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
Diffstat (limited to 'recipes-core')
-rw-r--r--recipes-core/init-ifupdown/init-ifupdown_%.bbappend3
1 files changed, 3 insertions, 0 deletions
diff --git a/recipes-core/init-ifupdown/init-ifupdown_%.bbappend b/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
index 46dfc1245..5f559c2ec 100644
--- a/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
+++ b/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
@@ -1,2 +1,5 @@
1# Standard bbappend idiom: cannot carry an override, and FILESEXTRAPATHS is
2# in BB_BASEHASH_IGNORE_VARS, so it cannot reach a task signature.
3# nooelint: oelint.vars.noncoreoverride
1FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 4FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
2 5