<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-freescale.git/recipes-devtools/qemu, branch master</title>
<subtitle>Mirror of github.com/Freescale/meta-freescale</subtitle>
<id>https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-freescale.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/'/>
<updated>2026-09-01T20:57:16+00:00</updated>
<entry>
<title>qemu-qoriq: Use cp --no-preserve=ownership in do_install_ptest per oelint</title>
<updated>2026-09-01T20:57:16+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-09-01T19:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=a940650c5f3de07acc3935779551aead5b836aa6'/>
<id>urn:sha1:a940650c5f3de07acc3935779551aead5b836aa6</id>
<content type='text'>
The recipe carries its own do_install_ptest (overriding the one in
qemu-qoriq.inc) that copies the built tests tree into the ptest package
with plain cp -rL, which oelint.task.nocopy flags because cp inherits
the invoking user's ownership. This is a recursive copy that must
dereference symlinks (-L), which install(1) cannot do, so add
--no-preserve=ownership, the alternative the rule documents, and keep
the -r/-L flags.

This do_install_ptest is a verbatim fork of oe-core's qemu.inc, whose
copy line is still plain "cp -rL ${B}/tests ${D}${PTEST_PATH}". This
change diverges from that source on purpose to satisfy lint; a future
re-sync from oe-core should carry the flag forward rather than drop it.

Validated with buildhistory: rebuilt qemu-qoriq for MACHINE=ls1046ardb
with and without this change; the qemu-qoriq-ptest package is
byte-identical (file list, size, dependencies unchanged), because
packaging runs under pseudo and records the files as root-owned
regardless.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Use cp --no-preserve=ownership in do_install_ptest per oelint</title>
<updated>2026-09-01T20:57:16+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-09-01T18:33:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=ec3359dd154eeba1b33b2bdd339fcb86510d1118'/>
<id>urn:sha1:ec3359dd154eeba1b33b2bdd339fcb86510d1118</id>
<content type='text'>
do_install_ptest copies the built tests tree into the ptest package
with plain cp -rL, which oelint.task.nocopy flags because cp inherits
the invoking user's ownership. This is a recursive copy that must
dereference symlinks (-L), which install(1) cannot do, so add
--no-preserve=ownership, the alternative the rule documents, and keep
the -r/-L flags.

This do_install_ptest is a verbatim fork of oe-core's qemu.inc, whose
copy line is still plain "cp -rL ${B}/tests ${D}${PTEST_PATH}". This
change diverges from that source on purpose to satisfy lint; a future
re-sync from oe-core should carry the flag forward rather than drop it.

Validated with buildhistory: rebuilt qemu-qoriq for MACHINE=ls1046ardb
with and without this change; the qemu-qoriq-ptest package is
byte-identical (file list, size, dependencies unchanged), because
packaging runs under pseudo and records the files as root-owned
regardless.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>Merge pull request #2645 from lucianogdittgen/oelint-vars-inconspaces</title>
<updated>2026-08-25T16:24:43+00:00</updated>
<author>
<name>Otavio Salvador</name>
<email>otavio@ossystems.com.br</email>
</author>
<published>2026-08-25T16:24:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=133d12b64ba177eea37f5dfaf77ca0ae8be7641f'/>
<id>urn:sha1:133d12b64ba177eea37f5dfaf77ca0ae8be7641f</id>
<content type='text'>
Clear all oelint.vars.inconspaces findings</content>
</entry>
<entry>
<title>qemu-qoriq: Move separator space out of conditional EXTRA_OECONF append</title>
<updated>2026-08-25T14:51:47+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-25T14:51:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=636e3e4b670c502b0693a9ab517956638ae32fcf'/>
<id>urn:sha1:636e3e4b670c502b0693a9ab517956638ae32fcf</id>
<content type='text'>
The mipsarcho32 EXTRA_OECONF:append kept its separator space inside
${@bb.utils.contains(...)} (' --disable-capstone'), so the :append value
did not begin with a literal space and tripped oelint.vars.inconspaces.
Move the space outside the expansion, matching the EXTRA_OECONF:append
line directly above it. When the multilib branch is taken the appended
token is identical; otherwise the append adds only whitespace, which is
inert in EXTRA_OECONF.

Validated with buildhistory: baseline and candidate builds of qemu-qoriq
(ls1046ardb), forcing do_package. The mipsarcho32 override is not active
on this build, so the only buildhistory delta is metadata-revs; the
qemu-qoriq packages are byte-identical.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Document INSANE_SKIP arch exception for oelint</title>
<updated>2026-08-24T21:20:36+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-24T19:39:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=f17050dcf5c33039b380bd5c076b1107b2bbf128'/>
<id>urn:sha1:f17050dcf5c33039b380bd5c076b1107b2bbf128</id>
<content type='text'>
QEMU ships firmware and BIOS blobs built for guest architectures other than
the build target, so the arch QA check flags them by design and the
INSANE_SKIP is required. Add an inline # nooelint directive with the
semantic reason. No effective metadata changes.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Drop LIC_FILES_CHKSUM duplicated from the include</title>
<updated>2026-08-17T20:59:56+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-17T20:59:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=ab06a357cc8fd161b26e43c6345c6aec05c8d5a1'/>
<id>urn:sha1:ab06a357cc8fd161b26e43c6345c6aec05c8d5a1</id>
<content type='text'>
qemu-qoriq_4.2.bb set LIC_FILES_CHKSUM to a value byte-identical to the
one already provided by qemu-qoriq.inc, which the recipe requires on the
line above it. The local assignment therefore only re-stated the include
and tripped oelint.var.override without changing anything.

Remove the duplicate and rely on the include. This is value-preserving:
the effective LIC_FILES_CHKSUM is unchanged.

Validated with a real build in a resolved qoriq environment
(MACHINE=ls1046ardb, sharing the existing download/sstate caches):
qemu-qoriq was built at the parent commit and at this commit and their
Yocto buildhistory compared. The only delta is metadata-revs (the layer
commit hash); packages, versions, runtime dependencies and file lists are
unchanged. Behaviour-preserving.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Drop the fossil SRC_URI and its orphaned checksum</title>
<updated>2026-08-07T12:29:59+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-06T15:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=a50978a6b067800c86d31a449794f0ba5b793016'/>
<id>urn:sha1:a50978a6b067800c86d31a449794f0ba5b793016</id>
<content type='text'>
qemu-qoriq_4.2.bb requires this include at line 3 and then replaces
SRC_URI wholesale at line 12 with a gitsm:// fetch of the NXP fork plus
a pinned SRCREV. Everything the include declared for the old tarball
build has been unreachable ever since.

That the block is dead is not an inference: of the 25 file:// entries it
lists, only three exist on disk -- powerpc_rom.bin, run-ptest and
0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch, which
are exactly the three the .bb re-lists. The other 22, including the
whole CVE-2020-* series, have no corresponding file. Were this SRC_URI
ever selected, do_fetch would fail outright.

SRC_URI[sha256sum] is removed with it. A plain SRC_URI assignment does
not clear varflags, so the tarball checksum survived the .bb's override
and was left describing a URL that is no longer fetched.

The two halves were measured separately, because they do not cost the
same:

  dead SRC_URI block removed   all 19 task signatures identical
  SRC_URI[sha256sum] removed   18 of 19 signatures change

The block removal is a true no-op. The checksum removal takes the
varflag out of do_fetch's basehash and that cascades downstream, so this
commit does invalidate sstate for qemu-qoriq and forces a rebuild. It
does not change what gets built: with the change applied, do_fetch,
do_unpack and do_patch all succeed, and the assembled patched source
tree is byte-identical to the baseline -- 66851 files excluding .git,
sha256 1666963241b444dcae50a92f6785c291477bf0eacaad53055cad34ad1e81ae45
on both sides, from a clean rebuild on each. bitbake -e on ls1046ardb
shows the expanded SRC_URI, SRCREV, FILESPATH, S, B and WORKDIR
unchanged; the only delta in the recipe data is the varflag itself.

No buildhistory comparison was run, so packaged output is not measured
here. The claim made is narrower and is what the evidence supports:
every input to do_configure and beyond is identical, so the forced
rebuild should reproduce the same output.

A layer-wide oelint-adv 9.10.1 rescan clears two findings and introduces
none: oelint.vars.srcurimutualex at the checksum, and an
oelint.var.override for SRC_URI that only existed because both files set
it. bitbake -p parses 2222 entries with 0 errors.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Drop the dead class-native and class-nativesdk overrides</title>
<updated>2026-08-07T12:29:58+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-08-06T14:59:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=7ca690408f339e42d4c9122a48580c7c1f4cd29f'/>
<id>urn:sha1:7ca690408f339e42d4c9122a48580c7c1f4cd29f</id>
<content type='text'>
qemu-qoriq_4.2.bb sets BBCLASSEXTEND = "" and neither file inherits
native or nativesdk, so these class-specific overrides -- carried over
from the upstream qemu recipe this one forked -- can never be selected.
Removed:

  qemu-qoriq.inc     do_configure:prepend:class-native()
  qemu-qoriq_4.2.bb  EXTRA_OECONF:append:class-nativesdk
  qemu-qoriq_4.2.bb  do_install:append:class-nativesdk()
  qemu-qoriq_4.2.bb  PACKAGECONFIG:class-nativesdk

The empty BBCLASSEXTEND is deliberate and load-bearing, so the other
remedy oelint.vars.inappclassoverride documents -- declaring
BBCLASSEXTEND or inheriting the class -- is not available here. The
anonymous python in qemu-qoriq_4.2.bb appends BPN with "-qoriq" stripped
to PROVIDES, so a native or nativesdk variant would PROVIDE qemu-native
and collide with the recipe of that name in openembedded-core.

Validated with bitbake -e on ls1046ardb before and after. The expanded
OVERRIDES contains class-target and neither class-native nor
class-nativesdk, and the only difference between the two captures is the
disappearance of the dead variable itself; EXTRA_OECONF, PACKAGECONFIG,
do_configure and do_install are byte-identical. bitbake -p parses 2222
entries with 0 errors.

A layer-wide oelint-adv 9.10.1 rescan clears 4
oelint.vars.inappclassoverride findings and introduces none. It also
clears one oelint.spaces.lineend finding at qemu-qoriq_4.2.bb:37, an
analyzer artifact of the inline python inside the removed do_install
block.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>recipes: Document the remaining custom tasks per oelint</title>
<updated>2026-08-03T19:13:30+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-07-29T13:26:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=a066ce9bfe828855b471e65b72871a3b019a80de'/>
<id>urn:sha1:a066ce9bfe828855b471e65b72871a3b019a80de</id>
<content type='text'>
Set doc strings on the custom functions oelint-adv reports via
'oelint.task.docstrings': the three i.MX boot firmware deploy helpers,
the libubootenv uboot-config fixup handler, the qemu-qoriq wrapper
generator, the testfloat SoftFloat unpack step, the linux-imx device
tree compatibility handler and the imx-mp4-parser QA-skip hook.

imx-mp4-parser reuses the wording already used for the identical hook in
imx-parser, so the two prebuilt-binary recipes read the same.

opencv and libcamera are deliberately left alone.  Both recipes carry
their upstream recipe as a marked verbatim block ("meta-openembedded
copy"), and the two functions oelint flags -- do_unpack_extra and
do_package_recalculate_ipa_signatures -- sit inside those blocks, where
meta-openembedded sets no doc string.  Annotating them would break the
diff against upstream for no functional gain, so those two findings stay
visible.

bitbake never reads the 'doc' flag when computing task checksums --
bb/data.py build_dependencies() only consults vardeps, vardepvalue,
vardepsexclude, exports, postfuncs, prefuncs, lineno and filename -- so
these additions cannot change a signature or invalidate sstate.

Verified by re-linting each file.

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
<entry>
<title>qemu-qoriq: Install the ptest Makefile fragment instead of copying it</title>
<updated>2026-08-03T19:13:00+00:00</updated>
<author>
<name>Luciano Dittgen</name>
<email>luciano.dittgen@ossystems.com.br</email>
</author>
<published>2026-07-29T12:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-freescale.git/commit/?id=794e6a549953d3e8ade70a136ec9dafb0ebd321a'/>
<id>urn:sha1:794e6a549953d3e8ade70a136ec9dafb0ebd321a</id>
<content type='text'>
Both do_install_ptest implementations placed tests/Makefile.include into
${PTEST_PATH}/tests with a bare "cp", so the installed mode came from
the source tree filtered through the building user's umask. The file is
plain ptest data, so give it an explicit 0644.

The surrounding "cp -rL ${B}/tests" is deliberately left alone: it
copies a whole directory tree and dereferences symlinks, which install
cannot express.

The .inc and the 4.2 recipe carry the same do_install_ptest body, so
both are updated together to keep them in sync.

Resolves two oelint.task.nocopy findings.

Validation:
- Built qemu-qoriq on a QorIQ e5500 target with ptest in
  DISTRO_FEATURES, as a bound baseline/candidate pair with do_install
  forced
- Buildhistory and a full ${D}/${PKGDEST} snapshot are identical on both
  sides; tests/Makefile.include is 0644 either way, so the recipe now
  states the mode the source tree was already producing
- Reaching do_install_ptest needs the ptest feature plus local QA
  workarounds, so this is not a configuration the layer ships

Signed-off-by: Luciano Dittgen &lt;luciano.dittgen@ossystems.com.br&gt;
</content>
</entry>
</feed>
