<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-freescale.git/oelint.constants.json, branch wrynose</title>
<subtitle>Mirror of github.com/Freescale/meta-freescale</subtitle>
<id>https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=wrynose</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=wrynose'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/'/>
<updated>2026-09-14T21:38:23+00:00</updated>
<entry>
<title>oelint: Accept upstream spellings of the "oe specific" patch reason</title>
<updated>2026-09-14T21:38:23+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-09-14T21:10:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=cc2686f9dce104e7959139675455a6746570456c'/>
<id>urn:sha1:cc2686f9dce104e7959139675455a6746570456c</id>
<content type='text'>
The classifier list matches case- and punctuation-sensitively, rejecting
the "OE-specific" and "[ OE-Specific ]" forms that OE-core and meta-oe
use for the reason the recipe style guide sanctions. Both flagged
recipes carry those patches as verbatim upstream copies, so fixing the
headers would drift the forks over a spelling that is not ours.
Full oelint run: 26 -&gt; 24 findings, none introduced.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit ae4b1e6fdf677d6c401e276cf43a18f798021d39)
</content>
</entry>
<entry>
<title>oelint: Declare IMAGE_CMD as a known variable</title>
<updated>2026-09-14T18:00:55+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-09-14T14:04:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=03b46df2060cdb75b46b14409ade918960fc5f16'/>
<id>urn:sha1:03b46df2060cdb75b46b14409ade918960fc5f16</id>
<content type='text'>
IMAGE_CMD is set by OE-core's image.bbclass, but oelint-adv's variable
list does not carry it, so an assignment is reported as
oelint.vars.mispell suggesting 'IMAGE_CMD_TAR'. image_types_fsl is
about to set it per image type, so declare it once here rather than
annotating each assignment.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit 6f8cf7d44582f2c6ac2306454990db6e861558ba)
</content>
</entry>
<entry>
<title>oelint: Ignore known out-of-layer requires via oelint-require-file-ignore</title>
<updated>2026-08-28T14:24:37+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-28T14:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=e2b219058ce18739230da05affe5a09c50c1426b'/>
<id>urn:sha1:e2b219058ce18739230da05affe5a09c50c1426b</id>
<content type='text'>
A layer is linted on its own, but it is not built on its own. Several
recipes here 'require' a shared include that another layer provides:
u-boot.inc and the gstreamer plugin includes (-common, -license,
-packaging) live in OE-core. bitbake resolves those through BBPATH at
build time, but oelint-adv, scanning this layer alone, cannot follow
them and reports oelint.file.requirenotfound for a file that is not
missing. oelint-adv has no BBPATH: its resolver stops at the layer
boundary by design (upstream issues #376, #626).

oelint-adv 9.11.1 adds a first-class exception list for exactly this
case: the oelint-require-file-ignore constant (upstream commit e767b12,
PR #934). A require whose name or resolved path is in the list is not
reported. Use it instead of a per-recipe '# nooelint' on every such
line, which scatters the same annotation across the layer and dilutes
the rule.

List the four OE-core includes by the path each recipe writes; the rule
matches the require string directly, so no expansion is needed. The
fifth entry, u-boot-fslc-common_${PV}.inc, is an in-layer include that
oelint-adv cannot resolve because it does not expand ${PV}. The rule
compares only the raw require string and its non-${PV} term expansion,
so the exception must be the literal ${PV} string; a version-resolved
path would never match. This entry is version-agnostic and stays valid
across PV bumps, at the cost of not re-checking that the in-layer file
still exists.

Every other require is still fully checked, so a real typo or a
genuinely missing include elsewhere is never hidden, and no recipe
carries a suppression for this.

This supersedes the wrapper-side cross-layer resolver drafted on branch
oelint-file-requirenotfound (never merged): the native constant needs no
post-filter, no ${PV}/${PN}/${BPN} re-implementation, and no
OELINT_LAYER_PATH plumbing, so contrib/oelint/run-oelint.sh stays the
plain oelint-adv invocation it is on master.

Testing: ran contrib/oelint/run-oelint.sh over the whole layer. The 13
oelint.file.requirenotfound findings are gone; no new finding appears and
no oelint.file.inlinesuppress_na is raised. Requires oelint-adv &gt;= 9.11.1.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit 7d5b4a38a40a8733c7bc367ef14b95c18d3a79ae)
</content>
</entry>
<entry>
<title>oelint: Declare six known variables in the constant DB</title>
<updated>2026-08-09T00:38:12+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-06T16:49:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=7de1a0df187ba5d14d27bb38b9294864e33b02fa'/>
<id>urn:sha1:7de1a0df187ba5d14d27bb38b9294864e33b02fa</id>
<content type='text'>
oelint-adv scans meta-freescale on its own, without the surrounding
bitbake metadata context, so it judges every variable name against its
own database. Six names it does not know are reported either as
oelint.vars.mispell -- "unknown, maybe you meant ..." -- or as
oelint.vars.mispell.unknown, which asks outright for a --constantmods
entry. Together they are the layer's last nine findings of that rule.

None of them is a typo, which is what the rule alleges. Each is both
assigned and consumed, through the same feature-gate idiom used
throughout the layer:

  VAR = "value"
  ... ${@bb.utils.contains('FEATURE', 'f', '${VAR}', '', d)} ...

The database already accepts that pattern; these six were simply missed.
PACKAGECONFIG_GL, PACKAGECONFIG_GRAPHICS, PACKAGECONFIG_IMXGPU_X11 and
PACKAGECONFIG_OPENGL are all declared, and PACKAGECONFIG_GRAPHICS is
defined in qtbase_%.bbappend -- the same file in which
PACKAGECONFIG_VULKAN was still being flagged. ALSA_INSTALL is declared
too, while its twin PULSEAUDIO_INSTALL, ten lines below it in
packagegroup-imx-tools-audio.bb and consumed by the adjacent line of the
same RDEPENDS, was not.

VIRTUAL-RUNTIME_keymaps is not layer-local at all. openembedded-core
sets it in conf/distro/include/default-providers.inc, and
packagegroup-fsl-mfgtool.bb takes the idiom verbatim from oe-core's own
packagegroup-core-boot.bb. That oelint does not know it is a gap in the
analyzer's built-in database rather than in this layer, and is worth
reporting upstream; it is declared here so the layer scans clean in the
meantime.

Fixing this in the constant database rather than with nine inline "#
nooelint:" directives keeps one analyzer gap recorded as one entry,
instead of nine exceptions scattered across six files.

A layer-wide oelint-adv 9.10.1 rescan goes from 558 findings to 548,
removing 36 and introducing 26. The difference is fully attributed:

  oelint.vars.mispell         9 removed,  0 introduced -- the intent
  oelint.var.override        17 removed, 17 introduced
  oelint.vars.outofcontext    9 removed,  9 introduced
  oelint.vars.homepageping    1 removed,  0 introduced

The override and outofcontext pairs are the known shared-metadata scan
non-determinism, in which those rules anchor a finding to a different
member of the file set on each run. They are net zero here, and were
confirmed identical after normalising the file-pair ordering inside each
message rather than assumed. The homepageping removal is on
gli_0.8.4.0.bb, a file this change does not touch, and comes from that
rule contacting the network; it is not attributable here. No finding is
genuinely introduced, and the unique rule count drops from 42 to 41.

No recipe is modified. oelint.constants.json is not bitbake metadata --
no .bb, .inc, .bbclass or .conf refers to it, and it reaches oelint-adv
only through the --constantmods argument in contrib/oelint/run-oelint.sh
-- so this change cannot affect a build, and none was run.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit 4bcd1256ea16e001d449634f3d865ca7a89f7b87)
</content>
</entry>
<entry>
<title>oelint: Declare poky-agl as a known distro</title>
<updated>2026-08-04T11:22:12+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-07-29T13:15:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=96590b0f9f2bf868d7e0195fc3b824bf33fa1af6'/>
<id>urn:sha1:96590b0f9f2bf868d7e0195fc3b824bf33fa1af6</id>
<content type='text'>
dynamic-layers/aglprofilegraphical/ carries a weston-init bbappend with
a 'do_install:append:poky-agl' override. poky-agl is the Automotive
Grade Linux distro, defined in meta-agl-distro, so the override is
correct -- but oelint-adv scans meta-freescale on its own and has no way
to learn about a distro defined in another layer. It therefore reports:

  oelint.func.specific: 'do_install' is set specific to ['poky-agl'],
  but isn't known from PACKAGES, MACHINE, DISTRO

This is an analyzer knowledge gap, not a metadata defect, so fix it
where the other cross-layer override tokens are already declared rather
than touching the bbappend. replacements.distros already lists
imx-nxp-bsp, use-mainline-bsp and use-nxp-bsp for the same reason.

Verified by running the linter on the bbappend with and without the new
entry: the finding is reported without it and gone with it. No recipe is
modified, so there is no build impact.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit 291391c5affebbffd32c378eaf1ea6ff133e7c12)
</content>
</entry>
<entry>
<title>oelint: Declare module_conf_moal as a variable, not a function</title>
<updated>2026-08-04T11:22:12+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-07-29T12:51:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=b5a3b554e0a293f0312eb37cd1c5780145785ca2'/>
<id>urn:sha1:b5a3b554e0a293f0312eb37cd1c5780145785ca2</id>
<content type='text'>
module_conf_moal was listed under "functions" in the layer constant DB,
so oelint.vars.mispell.unknown kept reporting it as an unknown variable
in kernel-module-nxp-wlan: the mispell check reads the "variables" list
and never consults the "functions" one, and the entry had no effect
where it was.

It is genuinely a variable. oe-core's kernel-module-split.bbclass reads
it with d.getVar('module_conf_%s' % basename) and lists it in
do_package[vardeps]; the recipe sets it as a plain assignment alongside
KERNEL_MODULE_PROBECONF. Move it to the "variables" list, in
alphabetical position.

This is an analyzer-knowledge gap, not a metadata defect, so it is fixed
in the constant DB rather than by touching the recipe or adding a
suppression.

Validation: "oelint-adv --constantmods +oelint.constants.json" on
kernel-module-nxp-wlan_git.bb now reports nothing at all, where the
baseline reported oelint.vars.mispell.unknown on the module_conf_moal
line. Note the constants only take effect when --constantmods is passed,
as contrib/oelint/run-oelint.sh does; a scan without it still reports
the finding. No recipe is modified, so there is no build impact.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit a376d50a68f49269a53ada3367375994ecc3f10b)
</content>
</entry>
<entry>
<title>contrib/oelint: Add layer lint wrapper</title>
<updated>2026-07-09T13:11:38+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-07-07T17:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=449d16174abb4313373a4a12856237187c4daf09'/>
<id>urn:sha1:449d16174abb4313373a4a12856237187c4daf09</id>
<content type='text'>
Add an oelint-adv wrapper, default release setting, and layer-specific
constant database so standalone lint runs know the variables and
overrides expected by this layer.

Tested with: git diff --check. contrib/oelint/run-oelint.sh still exits
non-zero because of existing layer findings outside this wrapper.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
(cherry picked from commit e603bd0c69f0cb4f295824037f8b975db45917cc)
</content>
</entry>
</feed>
