From fa957ac102a236c89c3f20547493e311fb863b63 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:34:22 -0300 Subject: qt4-imx-support: Drop the stale outofcontext suppression The inline "# nooelint: oelint.vars.outofcontext" directive above FILESEXTRAPATHS:prepend no longer suppresses anything: oelint-adv 9.10.3 does not report oelint.vars.outofcontext for this file, and instead reports the directive itself as oelint.file.inlinesuppress_na (a suppression that is not applicable). Removing the dead directive clears that finding and keeps the suppression inventory honest -- a stale suppression hides whether the underlying concern was ever really resolved. The explanatory comment above it is kept, since it documents the fragment's purpose independently of the linter. Validation: oelint-adv rescan of the file; both oelint.file.inlinesuppress_na and oelint.vars.outofcontext are absent afterwards. No parse-affecting change (comment removal only). Signed-off-by: Luciano Dittgen --- dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc index b19227f58..f902715a2 100644 --- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc @@ -1,5 +1,4 @@ # Shared i.MX support fragment, only ever included by qt4 bbappends. -# nooelint: oelint.vars.outofcontext FILESEXTRAPATHS:prepend := "${THISDIR}/qt4:" DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2" -- cgit v1.2.3-54-g00ecf From e042636a232f02e286051f64fcdd17720de6a5a2 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:34:36 -0300 Subject: opencv: Drop the redundant leading space in SRC_URI overrides oelint.vars.notneededspace flagged three SRC_URI assignments in the i.MX fork whose value opens with a space before the line continuation. None of them needs it: - SRC_URI += already inserts a separating space between the old and the appended value, so the extra one only produced a double space. - SRC_URI:remove and SRC_URI:prepend values are whitespace-split by BitBake, so a leading space is not significant. The trailing space on the SRC_URI:prepend value is deliberately kept: :prepend is a plain string concatenation, so that space is what separates the prepended entries from the pre-existing SRC_URI, and removing it would join two URLs into one. These three lines are i.MX-fork-local (they exist purely to swap the upstream tag for IMX_BASE_VERSION), so the change does not add drift against the meta-openembedded recipe. Validation: oelint-adv rescan of the recipe; oelint.vars.notneededspace is absent afterwards. The expanded value of SRC_URI is unchanged apart from collapsed inter-entry whitespace, which BitBake discards when it splits the variable. Signed-off-by: Luciano Dittgen --- .../openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb index d509ac53e..d051b3628 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb @@ -251,15 +251,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" # Need to override opencv and contrib URL because they include PV IMX_BASE_VERSION = "${@'.'.join((d.getVar('PV') or '').split('.')[:3])}" -SRC_URI:remove = " \ +SRC_URI:remove = "\ git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${PV} \ git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${PV}" -SRC_URI:prepend = " \ +SRC_URI:prepend = "\ git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https;tag=${IMX_BASE_VERSION} \ git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${IMX_BASE_VERSION} " # i.MX patches -SRC_URI += " \ +SRC_URI += "\ file://0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch \ file://0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch \ file://0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch \ -- cgit v1.2.3-54-g00ecf From 794e6a549953d3e8ade70a136ec9dafb0ebd321a Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:39:39 -0300 Subject: qemu-qoriq: Install the ptest Makefile fragment instead of copying it 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 --- recipes-devtools/qemu/qemu-qoriq.inc | 2 +- recipes-devtools/qemu/qemu-qoriq_4.2.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/qemu/qemu-qoriq.inc b/recipes-devtools/qemu/qemu-qoriq.inc index 502262f27..33694c5ce 100644 --- a/recipes-devtools/qemu/qemu-qoriq.inc +++ b/recipes-devtools/qemu/qemu-qoriq.inc @@ -66,7 +66,7 @@ do_install_ptest() { cp -rL ${B}/tests ${D}${PTEST_PATH} find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {} - cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests + install -m 0644 ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests # Don't check the file genreated by configure sed -i -e '/wildcard config-host.mak/d' \ -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include diff --git a/recipes-devtools/qemu/qemu-qoriq_4.2.bb b/recipes-devtools/qemu/qemu-qoriq_4.2.bb index 874b77e07..481407769 100644 --- a/recipes-devtools/qemu/qemu-qoriq_4.2.bb +++ b/recipes-devtools/qemu/qemu-qoriq_4.2.bb @@ -41,7 +41,7 @@ do_install_ptest() { cp -rL ${B}/tests ${D}${PTEST_PATH} find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {} - cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests + install -m 0644 ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests # Don't check the file genreated by configure sed -i -e '/wildcard config-host.mak/d' \ -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include -- cgit v1.2.3-54-g00ecf From dce0a5018ce33d7b52f5c314388d41833f865a45 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:40:06 -0300 Subject: imx-gpu-viv: Install the framebuffer libVDK copy instead of copying it The Wayland backend additionally delivers the framebuffer build of libVDK under a distinct name. That was done with a bare "cp", so the recipe never stated the mode of a file it packages. Use "install -m 0644". 0755 would be the usual choice for a shared library, but it would be a fiction here: do_install ends with a blanket "find ${D}${libdir} -type f -exec chmod 644" that rewrites every regular file under ${libdir}, so the library ships 0644 whatever this line asks for. 0644 states what the package actually contains. The other copies in this task are deliberately left as "cp": those use -P/-r to preserve the SONAME symlink chains and to move whole directory trees, neither of which install can express. Resolves an oelint.task.nocopy finding. Validation: - imx-gpu-viv built for an i.MX 6 target with wayland in DISTRO_FEATURES, which is what selects this code path - Builds passed; buildhistory and artifacts unchanged, packaged mode 0644 before and after Signed-off-by: Luciano Dittgen --- recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc index ef6f16d26..c31eca5d3 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc @@ -234,7 +234,7 @@ do_install () { fi if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then # Special case for libVDK on Wayland backend, deliver fb library as well. - cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 + install -m 0644 ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 fi if [ -z "${PACKAGES_OPENCL}" ]; then -- cgit v1.2.3-54-g00ecf From 5475591d0e1e3ec8e7c1f40e440d01fb1a448f6f Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:40:34 -0300 Subject: opencv: Install the sample binaries instead of copying them The i.MX do_install:append placed the compiled example_* programs into ${datadir}/opencv4/samples/bin with "cp -f", so their mode came from the build tree filtered through the building user's umask instead of being stated by the recipe. They are executables, so install them 0755. The two neighbouring "cp -r" calls are left alone: they copy directory trees of sample and test data, which install cannot express. This block sits inside the recipe's i.MX override section, so the change does not add drift against the meta-openembedded recipe. Resolves an oelint.task.nocopy finding. Validation: - Built opencv on an i.MX 8M target as a bound baseline/candidate pair, with do_install forced so the task could not be served from sstate - Buildhistory and a full ${D}/${PKGDEST} snapshot are identical on both sides; the 443 example_* binaries are 0755 either way, so the recipe now states the mode the build tree was already producing rather than inheriting it from the builder's umask - opencv needs an out-of-tree meta-openembedded to build at all, so this is not a configuration the layer ships Signed-off-by: Luciano Dittgen --- .../openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb index d051b3628..ed11c3bfe 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb @@ -308,7 +308,7 @@ do_install:append() { install -d ${D}${datadir}/opencv4/samples/data cp -r ${S}/samples/data/* ${D}${datadir}/opencv4/samples/data install -d ${D}${datadir}/opencv4/samples/bin/ - cp -f bin/example_* ${D}${datadir}/opencv4/samples/bin/ + install -m 0755 bin/example_* ${D}${datadir}/opencv4/samples/bin/ if ${@bb.utils.contains('PACKAGECONFIG', 'tests-imx', 'true', 'false', d)}; then cp -r share/opencv4/testdata/cv/face/* ${D}${datadir}/opencv4/testdata/cv/face/ fi -- cgit v1.2.3-54-g00ecf From 143072a10da64f90812e8ecb956bd9b2a45bca82 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:47:20 -0300 Subject: imx-gpu-viv: Create the packaged vulkan icd.d with install -d do_install:append created ${D}${datadir}/vulkan/icd.d with "mkdir -p", so the mode of a directory that ends up in the package came from the building user's umask rather than from the recipe. Use "install -d", which states 0755 explicitly. The "mkdir -p" in do_install:prepend is deliberately left alone. It creates a staging directory under ${S} so the icd manifest can be moved before packaging; nothing there reaches the image, so there is no mode to fix. oelint.task.nomkdir flags both calls identically, so that one remains reported. Resolves one of the two oelint.task.nomkdir findings. Validation: oelint-adv rescan of the recipe; only the ${S} finding remains. Confirmed in the packaged output of an i.MX 8M build: libvulkan-imx records "drwxr-xr-x ./usr/share/vulkan/icd.d" both before and after, so there is no buildhistory delta -- under the usual umask 022 both forms yield 0755. The change removes the dependency on the builder's umask rather than altering the current result. Signed-off-by: Luciano Dittgen --- recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb index 5a6ba030a..37db9098a 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.11.p4.4-aarch64.bb @@ -18,7 +18,7 @@ do_install:prepend() { do_install:append() { if [ "${IS_MX8}" = "1" ]; then if [ ! -z "${PACKAGES_VULKAN}" ]; then - mkdir -p ${D}${datadir}/vulkan/icd.d + install -d ${D}${datadir}/vulkan/icd.d mv ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json ${D}${datadir}/vulkan/icd.d/verisilicon_icd.json fi fi -- cgit v1.2.3-54-g00ecf From 1c5a0af400153ed20eb10a6df222d90ca6aaf4f8 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 3 Aug 2026 16:13:21 -0300 Subject: kernel-module-ar: Install the auto-response tools instead of copying them do_install copied everything matching ${S}/bin/ar_* with a bare "cp -f", so the packaged modes came from the build tree filtered through the building user's umask rather than from the recipe. oelint-adv reports this as 'oelint.task.nocopy'. A single mode would be wrong here, because ${S}/bin mixes two kinds of file. The directory is not in git at all -- the top-level Makefile creates it -- and the sub-Makefiles fill it with both compiled executables and configuration data: usr/ar-wakeup-lib/Makefile cp ar_wakeup_tool $(PWD)/bin/. cp ar_wakeup_rule_cfg $(PWD)/bin/. usr/ar-snmp-lib/lib-tool/ cp ar_snmp_tool $(PWD)/bin/. cp ../ar_snmp_cfg $(PWD)/bin/. So ar_snmp_tool and ar_wakeup_tool are linker output and want 0755, while ar_snmp_cfg and ar_wakeup_rule_cfg are git-tracked 0644 data files copied verbatim. Split the one "cp" into two "install" calls that say so. The two globs together match exactly the four files the old "ar_*" matched -- ar.ko has no underscore and was never picked up by it -- so the set of packaged files does not change, only the stated modes. Signed-off-by: Luciano Dittgen --- recipes-kernel/kernel-modules/kernel-module-ar_git.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb index 9e1d5b471..b9956ce33 100644 --- a/recipes-kernel/kernel-modules/kernel-module-ar_git.bb +++ b/recipes-kernel/kernel-modules/kernel-module-ar_git.bb @@ -23,7 +23,8 @@ do_install(){ install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} install -d ${D}${bindir} install -m 644 ${B}/bin/ar.ko ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/ - cp -f ${S}/bin/ar_* ${D}${bindir}/ + install -m 0755 ${S}/bin/ar_*_tool ${D}${bindir}/ + install -m 0644 ${S}/bin/ar_*_cfg ${D}${bindir}/ } FILES:${PN} += "${bindir}/" -- cgit v1.2.3-54-g00ecf From 8ecf551be3d96f30be3c17d3d9f0dba6bccabe3b Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:50:26 -0300 Subject: imx-opencl-converter: Expand DESCRIPTION beyond the SUMMARY DESCRIPTION was "NXP Multimedia opencl converter lib" -- shorter than the SUMMARY above it, abbreviated, and inconsistently cased. It told a reader strictly less than the SUMMARY already did, which is what oelint.vars.descriptiontoobrief flags. Replace it with text that actually adds information: what the library does (offloads pixel format and colour space conversion to the GPU), how (through the OpenCL implementation behind virtual/libopencl1, matching DEPENDS), and where it applies (the i.MX 8 and i.MX 95 GPU families, as COMPATIBLE_MACHINE already encodes). This recipe is layer-original NXP metadata rather than a copy of an upstream one, so there is no fork to drift from. Note this is a metadata value change, not a no-op: DESCRIPTION reaches the generated package metadata, so the new text is visible in tmp/pkgdata//runtime/ and in the package control fields. It is not visible in buildhistory, whose package "latest" files record only PV, PR, RPROVIDES, RDEPENDS, RRECOMMENDS, PKGSIZE, FILES and FILELIST -- so confirm it in pkgdata, not there. Validation: oelint-adv rescan of the recipe; both oelint.vars.descriptiontoobrief and the oelint.vars.multilineident findings that the first draft of the continuation lines introduced are absent -- the continuations are indented to match the layer's style. Built for an i.MX 8M target: no buildhistory delta, as expected from the above, and the new text confirmed in pkgdata. Signed-off-by: Luciano Dittgen --- recipes-multimedia/imx-opencl-converter/imx-opencl-converter_git.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_git.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_git.bb index 0ddc30d49..a11d221e4 100644 --- a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_git.bb +++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_git.bb @@ -1,6 +1,10 @@ # Copyright 2023-2026 NXP SUMMARY = "i.MX multimedia OpenCL converter library" -DESCRIPTION = "NXP Multimedia opencl converter lib" +DESCRIPTION = "OpenCL-accelerated image conversion library used by the NXP \ + i.MX multimedia stack. It offloads pixel format and colour \ + space conversion to the GPU through an OpenCL implementation \ + provided by virtual/libopencl1, and is supported on the i.MX 8 \ + and i.MX 95 families that ship a GPU." HOMEPAGE = "https://www.nxp.com/" SECTION = "multimedia" LICENSE = "BSD-3-Clause" -- cgit v1.2.3-54-g00ecf From a376d50a68f49269a53ada3367375994ecc3f10b Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 09:51:41 -0300 Subject: oelint: Declare module_conf_moal as a variable, not a function 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 --- oelint.constants.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oelint.constants.json b/oelint.constants.json index 1379f4eff..c737cf6eb 100644 --- a/oelint.constants.json +++ b/oelint.constants.json @@ -4,8 +4,7 @@ "known": [ "do_image_uboot_mxsboot_nand", "do_image_uboot_mxsboot_sdcard", - "do_image_wic", - "module_conf_moal" + "do_image_wic" ] }, "variables": { @@ -122,6 +121,7 @@ "LICENSE_FLAGS", "MC_FLAVOUR", "MFGTOOL_FILESPATH", + "module_conf_moal", "NETWORK_TOOLS", "ODP_BUILD_TYPE", "OEI_CORE", -- cgit v1.2.3-54-g00ecf From 291391c5affebbffd32c378eaf1ea6ff133e7c12 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:15:08 -0300 Subject: oelint: Declare poky-agl as a known distro 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 --- oelint.constants.json | 1 + 1 file changed, 1 insertion(+) diff --git a/oelint.constants.json b/oelint.constants.json index c737cf6eb..0c37d722a 100644 --- a/oelint.constants.json +++ b/oelint.constants.json @@ -165,6 +165,7 @@ "replacements": { "distros": [ "imx-nxp-bsp", + "poky-agl", "use-mainline-bsp", "use-nxp-bsp" ], -- cgit v1.2.3-54-g00ecf From 626c3981685023657c5b0b836a6a99d3f8727f04 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:19:03 -0300 Subject: u-boot: Set SECTION on the fslc, imx and qoriq recipes oelint-adv reports 'oelint.var.suggestedvar: Variable SECTION should be set' for u-boot-fslc, u-boot-imx and u-boot-qoriq. The finding is genuine: oe-core defines SECTION = "bootloaders" in u-boot-common.inc, but these three recipes require only u-boot.inc, which does not pull u-boot-common.inc in -- oe-core's own u-boot_%.bb requires both. They therefore fall back to the bitbake.conf default SECTION = "base", which is wrong for a bootloader. Use "bootloaders" to match oe-core's u-boot recipes and the layer's own boot-format and uefi recipes. (u-boot-fslc-mxsboot uses the singular "bootloader", but that is an outlier and a host-side tool rather than U-Boot itself.) Set it per recipe rather than in the shared u-boot-*-common includes, because u-boot-fslc-mxsboot already sets its own SECTION and a value in the include would collide with it. Placed after DESCRIPTION/HOMEPAGE per the canonical variable order, so no ordering finding is introduced. Verified by re-linting the three recipes: the SECTION findings are gone and nothing new appears. This changes the Section/Group field of the generated packages from "base" to "bootloaders". That field is not tracked by buildhistory, whose package "latest" files record only PV, PR, RPROVIDES, RDEPENDS, RRECOMMENDS, PKGSIZE, FILES and FILELIST; it is visible in tmp/pkgdata//runtime/ and in the package control metadata. Validation: - Bound baseline/candidate builds on an i.MX 8M, an i.MX 6 and a QorIQ ARM64 target - Task graph and packaged output unchanged; pkgdata shows only the u-boot-imx, u-boot-fslc and u-boot-qoriq packages moving base -> bootloaders, with the -dbg/-dev/-doc/-src/-staticdev overrides that package.bbclass sets left untouched Signed-off-by: Luciano Dittgen --- recipes-bsp/u-boot/u-boot-fslc_2025.01.bb | 1 + recipes-bsp/u-boot/u-boot-imx_2025.04.bb | 1 + recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb | 1 + 3 files changed, 3 insertions(+) diff --git a/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb index 681156041..b493efac7 100644 --- a/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb +++ b/recipes-bsp/u-boot/u-boot-fslc_2025.01.bb @@ -5,6 +5,7 @@ DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \ order to provide support for some backported features and fixes, or because it \ was submitted for revision and it takes some time to become part of a stable \ version, or because it is not applicable for upstreaming." +SECTION = "bootloaders" DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" diff --git a/recipes-bsp/u-boot/u-boot-imx_2025.04.bb b/recipes-bsp/u-boot/u-boot-imx_2025.04.bb index 31424c27a..53853ada6 100644 --- a/recipes-bsp/u-boot/u-boot-imx_2025.04.bb +++ b/recipes-bsp/u-boot/u-boot-imx_2025.04.bb @@ -5,6 +5,7 @@ require recipes-bsp/u-boot/u-boot.inc require u-boot-imx-common_${PV}.inc HOMEPAGE = "https://github.com/nxp-imx/uboot-imx" +SECTION = "bootloaders" PROVIDES += "u-boot u-boot-mfgtool" diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb b/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb index 28b747c70..445e0c363 100644 --- a/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb +++ b/recipes-bsp/u-boot/u-boot-qoriq_2025.04.bb @@ -2,6 +2,7 @@ require recipes-bsp/u-boot/u-boot.inc DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards" HOMEPAGE = "https://github.com/nxp-qoriq/u-boot" +SECTION = "bootloaders" LICENSE = "BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND LGPL-2.0-only AND LGPL-2.1-only" LIC_FILES_CHKSUM = "\ -- cgit v1.2.3-54-g00ecf From 51acb418874002863d8fd00e944646b0a501eecd Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:19:14 -0300 Subject: linux: Set SECTION on the i.MX kernel and header recipes oelint-adv reports 'oelint.var.suggestedvar: Variable SECTION should be set' for linux-fslc-imx, linux-fslc-lts (6.1 and 6.6), linux-imx and linux-imx-headers. The finding is genuine: kernel.bbclass sets no SECTION, so these recipes fall back to the bitbake.conf default SECTION = "base". The layer already answers this for its other kernels -- linux-fslc_6.12 sets SECTION = "kernel" directly after HOMEPAGE, and linux-qoriq.inc does the same -- so follow that idiom rather than inventing one. The four kernel recipes get "kernel"; linux-imx-headers only installs UAPI headers into ${includedir}/imx, so it gets "devel", matching oe-core's linux-libc-headers.inc. Set per recipe rather than in linux-imx.inc, because linux-fslc_6.12 already requires that include and sets SECTION itself; putting it in the include would report the variable as overridden. Verified by re-linting all five recipes: the SECTION findings are gone, no ordering finding is introduced, and linux-imx-headers is now free of findings entirely. This changes the Section/Group field of the generated packages from "base" to "kernel"/"devel". That field is not tracked by buildhistory, whose package "latest" files record only PV, PR, RPROVIDES, RDEPENDS, RRECOMMENDS, PKGSIZE, FILES and FILELIST; it is visible in tmp/pkgdata//runtime/ and in the package control metadata. Validation: - Image build on an i.MX 8M target; signature A/B on an i.MX 6 and a QorIQ target - Task graph and packaged output unchanged; pkgdata shows 656 packages moving base -> kernel (647 of them kernel-module-*) and 2 -> devel Signed-off-by: Luciano Dittgen --- recipes-kernel/linux/linux-fslc-imx_6.18.bb | 1 + recipes-kernel/linux/linux-fslc-lts_6.1.bb | 1 + recipes-kernel/linux/linux-fslc-lts_6.6.bb | 1 + recipes-kernel/linux/linux-imx-headers_6.18.bb | 1 + recipes-kernel/linux/linux-imx_6.18.bb | 1 + 5 files changed, 5 insertions(+) diff --git a/recipes-kernel/linux/linux-fslc-imx_6.18.bb b/recipes-kernel/linux/linux-fslc-imx_6.18.bb index ca917f22a..0aef04565 100644 --- a/recipes-kernel/linux/linux-fslc-imx_6.18.bb +++ b/recipes-kernel/linux/linux-fslc-imx_6.18.bb @@ -9,6 +9,7 @@ DESCRIPTION = "Linux Kernel provided by NXP as the part of release distribution. It includes support for many NXP Proprietary IPs (GPU, VPU, IPU). \ Latest stable Kernel patchlevel is applied and maintained by Community." HOMEPAGE = "https://github.com/Freescale/linux-fslc" +SECTION = "kernel" ############################################################################### # This recipe (and corresponding kernel repository and branch) receives updates diff --git a/recipes-kernel/linux/linux-fslc-lts_6.1.bb b/recipes-kernel/linux/linux-fslc-lts_6.1.bb index e490755e7..da1613558 100644 --- a/recipes-kernel/linux/linux-fslc-lts_6.1.bb +++ b/recipes-kernel/linux/linux-fslc-lts_6.1.bb @@ -10,6 +10,7 @@ DESCRIPTION = "Linux kernel based on LTS kernel used by FSL Community BSP in ord and will not become part of a LTS version, or because it is not applicable for \ upstreaming in any form." HOMEPAGE = "https://github.com/Freescale/linux-fslc" +SECTION = "kernel" require linux-imx.inc diff --git a/recipes-kernel/linux/linux-fslc-lts_6.6.bb b/recipes-kernel/linux/linux-fslc-lts_6.6.bb index a4d15e0cc..9ca1611ac 100644 --- a/recipes-kernel/linux/linux-fslc-lts_6.6.bb +++ b/recipes-kernel/linux/linux-fslc-lts_6.6.bb @@ -10,6 +10,7 @@ DESCRIPTION = "Linux kernel based on LTS kernel used by FSL Community BSP in ord and will not become part of a LTS version, or because it is not applicable for \ upstreaming in any form." HOMEPAGE = "https://github.com/Freescale/linux-fslc" +SECTION = "kernel" require linux-imx.inc diff --git a/recipes-kernel/linux/linux-imx-headers_6.18.bb b/recipes-kernel/linux/linux-imx-headers_6.18.bb index cb05aa2a8..eabc42ecf 100644 --- a/recipes-kernel/linux/linux-imx-headers_6.18.bb +++ b/recipes-kernel/linux/linux-imx-headers_6.18.bb @@ -5,6 +5,7 @@ SUMMARY = "Installs i.MX-specific kernel headers" DESCRIPTION = "Installs i.MX-specific kernel headers to userspace. \ New headers are installed in ${includedir}/imx." HOMEPAGE = "https://github.com/nxp-imx/linux-imx" +SECTION = "devel" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/recipes-kernel/linux/linux-imx_6.18.bb b/recipes-kernel/linux/linux-imx_6.18.bb index 769ef7677..ee2018ff2 100644 --- a/recipes-kernel/linux/linux-imx_6.18.bb +++ b/recipes-kernel/linux/linux-imx_6.18.bb @@ -10,6 +10,7 @@ SUMMARY = "Linux Kernel provided and supported by NXP" DESCRIPTION = "Linux Kernel provided and supported by NXP with focus on \ i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU." HOMEPAGE = "https://github.com/nxp-imx/linux-imx" +SECTION = "kernel" require recipes-kernel/linux/linux-imx.inc -- cgit v1.2.3-54-g00ecf From b4d4505c0a982c552df1afbc57f79fa59abb6b4d Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:26:36 -0300 Subject: classes: Document the custom tasks and helpers per oelint oelint-adv reports 'oelint.task.docstrings: Every custom task should have a doc string set by task[doc] = ...' for the five custom functions in classes/. Doc strings are shown by 'bitbake -c listtasks', so this is useful metadata rather than linter appeasement, and the layer already applies it in fsl-kernel-localversion, fsl-eula-unpack, kernel-imximage and imx-boot-container. The flag has to be keyed on the function name exactly as written, which is why the two image_types_fsl entries are on IMAGE_CMD:uboot-mxsboot-* rather than on the do_image_uboot_mxsboot_* tasks they generate; keying them on the task name does not satisfy the rule. fsl_vivante_kernel_driver_handler is an event handler rather than a task. It is documented here for consistency with the other non-task helpers the layer already documents (__set_insane_skip, update_file), rather than suppressed as machine-overrides-extender does. 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: all five findings are gone and nothing new is reported. Signed-off-by: Luciano Dittgen --- classes/fsl-vivante-kernel-driver-handler.bbclass | 1 + classes/image_populate_mfgtool.bbclass | 2 ++ classes/image_types_fsl.bbclass | 2 ++ 3 files changed, 5 insertions(+) diff --git a/classes/fsl-vivante-kernel-driver-handler.bbclass b/classes/fsl-vivante-kernel-driver-handler.bbclass index c226b0ab7..3477454a7 100644 --- a/classes/fsl-vivante-kernel-driver-handler.bbclass +++ b/classes/fsl-vivante-kernel-driver-handler.bbclass @@ -45,6 +45,7 @@ python fsl_vivante_kernel_driver_handler () { e.data.appendVar('RREPLACES:${KERNEL_PACKAGE_NAME}-base', ' ${MLPREFIX}kernel-module-imx-gpu-viv') e.data.appendVar('RCONFLICTS:${KERNEL_PACKAGE_NAME}-base', ' ${MLPREFIX}kernel-module-imx-gpu-viv') } +fsl_vivante_kernel_driver_handler[doc] = "Let the kernel base package provide kernel-module-imx-gpu-viv when the Vivante driver is built into the kernel instead of as a module" addhandler fsl_vivante_kernel_driver_handler fsl_vivante_kernel_driver_handler[eventmask] = "bb.event.RecipePreFinalise" diff --git a/classes/image_populate_mfgtool.bbclass b/classes/image_populate_mfgtool.bbclass index 2c9b44f44..25ea9820a 100644 --- a/classes/image_populate_mfgtool.bbclass +++ b/classes/image_populate_mfgtool.bbclass @@ -102,6 +102,7 @@ python do_populate_mfgtool() { # Generate MFGTOOL bundle. bb.build.exec_func('generate_mfgtool_bundle', d) } +do_populate_mfgtool[doc] = "Fetch the scripts listed in MFGTOOLCONFIG and generate the manufacturing tool bundle from them" generate_mfgtool_bundle() { bbnote "Processing uuu files ..." @@ -137,3 +138,4 @@ generate_mfgtool_bundle() { ln -fs mfgtool-bundle-${PN}-${MACHINE}.tar.gz \ ${DEPLOY_DIR_IMAGE}/mfgtool-bundle-${PN}.tar.gz } +generate_mfgtool_bundle[doc] = "Expand the .uuu.in templates for the machine and deploy the resulting uuu scripts, uuu binaries and extra files" diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass index 65b6a5dbd..f7f7a32c5 100644 --- a/classes/image_types_fsl.bbclass +++ b/classes/image_types_fsl.bbclass @@ -17,6 +17,7 @@ IMAGE_CMD:uboot-mxsboot-sdcard() { ln -sf ${IMAGE_NAME}.uboot-mxsboot-sdcard \ ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.uboot-mxsboot-sdcard } +IMAGE_CMD:uboot-mxsboot-sdcard[doc] = "Wrap U-Boot in an mxs bootstream for SD card boot on the i.MX23 and i.MX28 families" # U-Boot mxsboot generation for NAND do_image_uboot_mxsboot_nand[depends] += "u-boot-mxsboot-native:do_populate_sysroot \ @@ -28,6 +29,7 @@ IMAGE_CMD:uboot-mxsboot-nand() { ln -sf ${IMAGE_NAME}.uboot-mxsboot-nand \ ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.uboot-mxsboot-nand } +IMAGE_CMD:uboot-mxsboot-nand[doc] = "Wrap U-Boot in an mxs bootstream for NAND boot on the i.MX23 and i.MX28 families" # In case we are building for i.MX23 or i.MX28 we need to have the # image stream built before the wic generation -- cgit v1.2.3-54-g00ecf From 684c3b8b5e28ba2baa69e3913ec0e1b114a07543 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:26:46 -0300 Subject: imx-boot: Document the per-SoC compile and deploy helpers imx-boot_1.0.bb carries sixteen per-SoC helper functions, dispatched by do_compile and do_deploy through compile_${SOC_FAMILY} and deploy_${SOC_FAMILY}. None of them had a doc string, which oelint-adv reports as 'oelint.task.docstrings' -- sixteen findings, the single largest concentration in the layer. Describe what each one stages or deploys, taking the wording from the bbnote each function already prints and from the binaries it handles. The i.MX 91 helpers just call the i.MX 93 ones, and the i.MX 943 and i.MX 95 helpers extend them with the OEI and System Manager firmware; the doc strings say so, which is the part that is hardest to see when reading the dispatch. 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 the recipe: all sixteen findings are gone and nothing new is reported. Signed-off-by: Luciano Dittgen --- recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 59fe5854f..437fffdf6 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -144,6 +144,7 @@ compile_mx8m() { cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin } +compile_mx8m[doc] = "Stage the DDR, HDMI/DP, SPL, ATF and U-Boot binaries for the i.MX 8M boot container" compile_mx8() { bbnote 8QM boot binary build @@ -156,6 +157,7 @@ compile_mx8() { ${BOOT_STAGING}/u-boot-spl.bin fi } +compile_mx8[doc] = "Stage the SCFW, ATF, SECO and U-Boot binaries for the i.MX 8QM boot container" compile_mx8x() { bbnote 8QX boot binary build @@ -168,6 +170,7 @@ compile_mx8x() { ${BOOT_STAGING}/u-boot-spl.bin fi } +compile_mx8x[doc] = "Stage the SECO, SCFW, ATF and U-Boot binaries for the i.MX 8QX boot container" compile_mx8ulp() { bbnote 8ULP boot binary build @@ -180,11 +183,13 @@ compile_mx8ulp() { ${BOOT_STAGING}/u-boot-spl.bin fi } +compile_mx8ulp[doc] = "Stage the SECO, ATF, uPower and U-Boot binaries for the i.MX 8ULP boot container" compile_mx91() { bbnote i.MX 91 boot binary build compile_mx93 } +compile_mx91[doc] = "Stage the i.MX 91 boot container binaries, which are the same as for i.MX 93" compile_mx93() { bbnote i.MX 93 boot binary build @@ -201,6 +206,7 @@ compile_mx93() { ${BOOT_STAGING}/u-boot-spl.bin fi } +compile_mx93[doc] = "Stage the DDR, SECO/ELE, ATF and U-Boot binaries for the i.MX 93 boot container" compile_mx943() { bbnote i.MX 943 boot binary build @@ -210,6 +216,7 @@ compile_mx943() { cp ${DEPLOY_DIR_IMAGE}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin \ ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin } +compile_mx943[doc] = "Stage the i.MX 93 binaries plus the OEI and System Manager firmware for the i.MX 943 boot container" compile_mx95() { bbnote i.MX 95 boot binary build @@ -219,6 +226,7 @@ compile_mx95() { cp ${DEPLOY_DIR_IMAGE}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin \ ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin } +compile_mx95[doc] = "Stage the i.MX 93 binaries plus the OEI and System Manager firmware for the i.MX 95 boot container" do_compile() { # mkimage for i.MX8 @@ -337,6 +345,7 @@ deploy_mx8m() { install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS} } +deploy_mx8m[doc] = "Deploy the i.MX 8M DDR and HDMI/DP firmware together with the mkimage helpers to the boot tools folder" deploy_mx8() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} @@ -347,6 +356,7 @@ deploy_mx8() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } +deploy_mx8[doc] = "Deploy the i.MX 8QM SECO firmware, mkimage tool and SPL to the boot tools folder" deploy_mx8x() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} @@ -357,6 +367,7 @@ deploy_mx8x() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } +deploy_mx8x[doc] = "Deploy the i.MX 8QX SECO firmware, mkimage tool and SPL to the boot tools folder" deploy_mx8ulp() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} @@ -367,10 +378,12 @@ deploy_mx8ulp() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } +deploy_mx8ulp[doc] = "Deploy the i.MX 8ULP SECO firmware, mkimage tool and SPL to the boot tools folder" deploy_mx91() { deploy_mx93 } +deploy_mx91[doc] = "Deploy the i.MX 91 boot tools, which are the same as for i.MX 93" deploy_mx93() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} @@ -386,6 +399,7 @@ deploy_mx93() { ${DEPLOYDIR}/${BOOT_TOOLS} fi } +deploy_mx93[doc] = "Deploy the i.MX 93 DDR and SECO/ELE firmware, mkimage tool and SPL to the boot tools folder" deploy_mx943() { deploy_mx93 @@ -393,6 +407,7 @@ deploy_mx943() { install -m 0644 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \ ${DEPLOYDIR}/${BOOT_TOOLS}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin } +deploy_mx943[doc] = "Deploy the i.MX 93 boot tools plus the OEI and System Manager firmware for i.MX 943" deploy_mx95() { deploy_mx93 @@ -400,6 +415,7 @@ deploy_mx95() { install -m 0644 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \ ${DEPLOYDIR}/${BOOT_TOOLS}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin } +deploy_mx95[doc] = "Deploy the i.MX 93 boot tools plus the OEI and System Manager firmware for i.MX 95" do_deploy() { deploy_${SOC_FAMILY} -- cgit v1.2.3-54-g00ecf From a066ce9bfe828855b471e65b72871a3b019a80de Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Wed, 29 Jul 2026 10:26:59 -0300 Subject: recipes: Document the remaining custom tasks per oelint 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 --- recipes-bsp/firmware-imx/imx-boot-firmware-files_8.31.bb | 3 +++ recipes-bsp/u-boot/libubootenv_%.bbappend | 1 + recipes-devtools/qemu/qemu-qoriq.inc | 1 + recipes-extended/testfloat/testfloat_2a.bb | 1 + recipes-kernel/linux/linux-imx.inc | 1 + recipes-multimedia/imx-parser/imx-mp4-parser_git.bb | 1 + 6 files changed, 8 insertions(+) diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.31.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.31.bb index 87569b4a3..e0219ca8d 100644 --- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.31.bb +++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.31.bb @@ -19,6 +19,7 @@ deploy_for_mx8() { install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} } +deploy_for_mx8[doc] = "Deploy the Cadence HDMI firmware used by the i.MX 8 boot container" deploy_for_mx8m() { # Synopsys DDR @@ -30,6 +31,7 @@ deploy_for_mx8m() { install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} } +deploy_for_mx8m[doc] = "Deploy the Synopsys DDR and Cadence DP/HDMI firmware used by the i.MX 8M boot container" deploy_for_mx9() { # Synopsys DDR @@ -37,6 +39,7 @@ deploy_for_mx9() { install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} done } +deploy_for_mx9[doc] = "Deploy the Synopsys DDR firmware used by the i.MX 9 boot container" python () { # Manually add the required functions as dependencies otherwise they won't be included in the diff --git a/recipes-bsp/u-boot/libubootenv_%.bbappend b/recipes-bsp/u-boot/libubootenv_%.bbappend index 619b510e1..d1cecf100 100644 --- a/recipes-bsp/u-boot/libubootenv_%.bbappend +++ b/recipes-bsp/u-boot/libubootenv_%.bbappend @@ -38,6 +38,7 @@ def fixup_uboot_config_dependency(d): python fixup_uboot_config_dependency_handler() { fixup_uboot_config_dependency(d) } +fixup_uboot_config_dependency_handler[doc] = "Borrow UBOOT_MACHINE and UBOOT_CONFIG from IMX_DEFAULT_BOOTLOADER so libubootenv passes the uboot-config sanity check" fixup_uboot_config_dependency_handler[eventmask] = "bb.event.RecipePreFinalise" addhandler fixup_uboot_config_dependency_handler diff --git a/recipes-devtools/qemu/qemu-qoriq.inc b/recipes-devtools/qemu/qemu-qoriq.inc index 33694c5ce..c598d3ff1 100644 --- a/recipes-devtools/qemu/qemu-qoriq.inc +++ b/recipes-devtools/qemu/qemu-qoriq.inc @@ -146,6 +146,7 @@ make_qemu_wrapper() { GTK_THEME=Adwaita done } +make_qemu_wrapper[doc] = "Wrap the installed qemu-system-* binaries so they find the gdk-pixbuf loaders, fontconfig and GTK theme at runtime" # Disable kvm/virgl/mesa on targets that do not support it PACKAGECONFIG:remove:darwin = "kvm virglrenderer glx gtk+" diff --git a/recipes-extended/testfloat/testfloat_2a.bb b/recipes-extended/testfloat/testfloat_2a.bb index db87ae985..45ca5ae11 100644 --- a/recipes-extended/testfloat/testfloat_2a.bb +++ b/recipes-extended/testfloat/testfloat_2a.bb @@ -29,6 +29,7 @@ do_unpack2(){ echo -e "\nERROR: command dos2unix or fromdos not found\n" && return 1 fi } +do_unpack2[doc] = "Move the SoftFloat sources into ${S} and convert the shipped DOS line endings" addtask do_unpack2 after do_unpack before do_patch do_compile(){ diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc index d704e2921..f0f8b5ba2 100644 --- a/recipes-kernel/linux/linux-imx.inc +++ b/recipes-kernel/linux/linux-imx.inc @@ -60,5 +60,6 @@ python kernel_devicetree_32bit_compatibility_update() { bb.warn("Updating KERNEL_DEVICETREE, removing sub-folders for older kernel. Use -D for more details. Set KERNEL_DEVICETREE_32BIT_COMPATIBILITY_UPDATE = \"0\" to disable.") d.setVar('KERNEL_DEVICETREE', output) } +kernel_devicetree_32bit_compatibility_update[doc] = "Strip device tree sub-folders from KERNEL_DEVICETREE for older 32-bit kernels that keep the dtb files flat" addhandler kernel_devicetree_32bit_compatibility_update kernel_devicetree_32bit_compatibility_update[eventmask] = "bb.event.RecipeParsed" diff --git a/recipes-multimedia/imx-parser/imx-mp4-parser_git.bb b/recipes-multimedia/imx-parser/imx-mp4-parser_git.bb index 1c70fb6e4..2c3628639 100644 --- a/recipes-multimedia/imx-parser/imx-mp4-parser_git.bb +++ b/recipes-multimedia/imx-parser/imx-mp4-parser_git.bb @@ -31,6 +31,7 @@ python __set_insane_skip() { for p in d.getVar('PACKAGES').split(): d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel buildpaths") } +__set_insane_skip[doc] = "Skip QA checks that cannot be satisfied by the prebuilt parser binaries" do_package_qa[prefuncs] += "__set_insane_skip" -- cgit v1.2.3-54-g00ecf From be9c9a18283e64a32f203b221fcc9123180fe3dd Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:53:46 -0300 Subject: opencv: Correct the patch header metadata Five of the carried patches used "Inappropriate [i.MX specific]", which is not one of the recognised reasons, so oelint.file.inappropriatemsg fired on the recipe. Use [embedded specific], which oelint accepts and which this layer already uses elsewhere. Only the headers change; the diffs are untouched. The two HoughLines patches also trip oelint.file.patchsignedoff, and that one is suppressed rather than fixed. A Signed-off-by is a certification the signer makes about their right to submit the code, so it can be neither invented for the author named in the From: header nor supplied by whoever happens to carry the patch downstream. These two arrived through f95346d4 ("opencv: imx: update the i.mx fork to 4.13.0") already without one, and their upstream submission could not be located to recover it. There is nothing here for this layer to correct, so the finding is marked as such in place. The suppression sits on the SRC_URI block and therefore covers every patch listed in it, not just these two; the comment says so, since a future patch added there without a sign-off will not be reported either. 0001-Use-Os-to-compile-tinyxml2.cpp.patch is deliberately left alone. It belongs to the marked "meta-openembedded copy" block of this recipe and its header is byte-identical to meta-openembedded's own copy, which still reads "[ OE-Specific ]". Rewriting it here would only make the file differ from upstream; that fix belongs in meta-openembedded, so the finding stays visible. Signed-off-by: Luciano Dittgen --- .../0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch | 2 +- ...0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch | 2 +- ...0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch | 2 +- ...0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch | 2 +- ...0105-MGS-8318-ccc-Fix-error-implicit-declaration-of-funct.patch | 2 +- .../openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb | 7 +++++++ 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch index 82afd5c72..6b5d092c1 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch @@ -5,7 +5,7 @@ Subject: [PATCH 1/4] MGS-6470 [#ccc] Modify host ptr alignment size in UMAT change CV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR from 4 to 64 -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Eric Guo --- modules/core/src/ocl.cpp | 2 +- diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch index 50240093c..c19e7d58e 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch @@ -6,7 +6,7 @@ Subject: [PATCH 2/4] MGS-6470 [#ccc] Add configuration parameter to force USAGE: `set OPENCV_OPENCL_ALIGNMENT_MEM_ALLOC_HOST_PTR=true` -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Eric Guo --- modules/core/src/ocl.cpp | 4 +++- diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch index 3b429b383..bd04a463f 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0103-MGS-6470-ccc-Change-configuration-to-enable-hostptr-.patch @@ -4,7 +4,7 @@ Date: Thu, 9 Dec 2021 15:25:42 +0800 Subject: [PATCH 3/4] MGS-6470 [#ccc] Change configuration to enable hostptr in OpenCL by default. -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Eric Guo --- modules/core/src/ocl.cpp | 2 +- diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch index ebca4ce35..cc4e61f8b 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0104-MGS-8011-ccc-Fix-the-problem-of-syntax-error-at-doub.patch @@ -10,7 +10,7 @@ disabled the related ocl function in opencv_test_imgproc to avoid the following error: syntax error at 'double4' -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: jiajia Qian --- modules/imgproc/src/imgwarp.cpp | 4 ++++ diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0105-MGS-8318-ccc-Fix-error-implicit-declaration-of-funct.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0105-MGS-8318-ccc-Fix-error-implicit-declaration-of-funct.patch index d742b9123..f2ac82375 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0105-MGS-8318-ccc-Fix-error-implicit-declaration-of-funct.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv/0105-MGS-8318-ccc-Fix-error-implicit-declaration-of-funct.patch @@ -10,7 +10,7 @@ This feature requires at least OpenCL 2.0 or higher. By default, the C++ C langu is C++ C 1.2. Therefore, specify OpenCL version to 3.0 in the build-options. -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: jiajia Qian --- modules/video/src/dis_flow.cpp | 2 +- diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb index ed11c3bfe..e10048095 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/opencv_4.13.0.imx.bb @@ -259,6 +259,13 @@ SRC_URI:prepend = "\ git://github.com/opencv/opencv_contrib.git;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/contrib;name=contrib;branch=4.x;protocol=https;tag=${IMX_BASE_VERSION} " # i.MX patches +# +# 0107 and 0108 carry no Signed-off-by. They came in from upstream review +# rather than from this layer, and a sign-off is a certification only their +# author can make, so there is nothing here for us to correct. Note this +# covers the whole block: a patch added below without a sign-off will not be +# reported either. +# nooelint: oelint.file.patchsignedoff SRC_URI += "\ file://0101-MGS-6470-ccc-Modify-host-ptr-alignment-size-in-UMAT.patch \ file://0102-MGS-6470-ccc-Add-configuration-parameter-to-force-en.patch \ -- cgit v1.2.3-54-g00ecf From 8cf681cbb96083f70566dada7670c3afe1121ae1 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:54:08 -0300 Subject: weston: Use a recognised Upstream-Status reason for the scanner revert Both copies of the wayland-scanner revert carried "Inappropriate [Cross-compile Specific]", which is not one of the recognised reasons, so oelint.file.inappropriatemsg fired on weston_10.0.5.imx. The revert exists because the OE build resolves wayland-scanner from the native sysroot rather than /usr/bin, so [oe-specific] describes it and is already used elsewhere in the layer. Both copies are updated so they do not drift apart. Signed-off-by: Luciano Dittgen --- .../0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch | 2 +- .../0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-graphics/wayland/weston-10.0.5.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch b/recipes-graphics/wayland/weston-10.0.5.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch index 59f2a4b67..921b778b0 100644 --- a/recipes-graphics/wayland/weston-10.0.5.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch +++ b/recipes-graphics/wayland/weston-10.0.5.imx/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch @@ -20,7 +20,7 @@ Thus the build fails with: Dropping weston 9.0.0-imx commit 7859a762 (protocol: no found wayland-scanner with Yocto toolchain") fixes the issue. -Upstream-Status: Inappropriate [Cross-compile Specific] +Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Max Krummenacher --- protocol/meson.build | 2 +- diff --git a/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch b/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch index 4d2a333a3..25b649a8c 100644 --- a/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch +++ b/recipes-graphics/wayland/weston/0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch @@ -20,7 +20,7 @@ Thus the build fails with: Dropping weston 9.0.0-imx commit 7859a762 (protocol: no found wayland-scanner with Yocto toolchain") fixes the issue. -Upstream-Status: Inappropriate [Cross-compile specific] +Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Max Krummenacher --- protocol/meson.build | 2 +- -- cgit v1.2.3-54-g00ecf From 1ac3f85428453908637208edeb18011707d21e9b Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:54:44 -0300 Subject: gstreamer1.0-plugins-bad: Correct the patch header metadata 0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch used "Inappropriate [i.MX specific]", which is not one of the recognised reasons, so oelint.file.inappropriatemsg fired on the recipe. Use [embedded specific], which oelint accepts and which this layer already uses elsewhere. Only the header changes; the diff is untouched. The patch also trips oelint.file.patchsignedoff, and that one is suppressed rather than fixed. A Signed-off-by is a certification the signer makes about their right to submit the code, so it can be neither invented for the author named in the From: header nor supplied by whoever happens to carry the patch downstream. This is an NXP-internal change that arrived through 25c0c7d3 ("gst/gstreamer: Bump 1.26.0 -> 1.26.6") already without one, and its original cannot be consulted. There is nothing here for this layer to correct, so the finding is marked as such in place. Signed-off-by: Luciano Dittgen --- .../0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch | 2 +- recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.1.imx.bb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch index 38282e478..1455ea626 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch @@ -7,7 +7,7 @@ Subject: [PATCH] MMFMWK-9590 gstcuda: disable gir build for cuda plugin This is a workaround to only disable cuda gir build to avoid totally disable bad library gir build. mesa-rvgpu-emu patch break cuda gir build -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] --- gst-libs/gst/cuda/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.1.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.1.imx.bb index c978097aa..288445961 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.1.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.1.imx.bb @@ -185,6 +185,10 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plug " SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " +# The cuda gir patch carries no Signed-off-by. It is an NXP-internal change +# that arrived here without one, and a sign-off is a certification only its +# author can make, so there is nothing here for us to correct. +# nooelint: oelint.file.patchsignedoff SRC_URI:append:mx93-nxp-bsp = " file://0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch" SRC_URI:append:mx943-nxp-bsp = " file://0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch" -- cgit v1.2.3-54-g00ecf From 5be56e399d2ddf00de13fac56710f2d35538b05c Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:54:44 -0300 Subject: gstreamer1.0-plugins-base: Correct the patch header metadata 0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch used "Inappropriate [i.MX specific]", which is not one of the recognised reasons, so oelint.file.inappropriatemsg fired on the recipe. Use [embedded specific], which oelint accepts and which this layer already uses elsewhere. Only the header changes; the diff is untouched. The patch also trips oelint.file.patchsignedoff, suppressed rather than fixed for the same reason as the matching gstreamer1.0-plugins-bad change: a Signed-off-by is a certification the signer makes, and this patch arrived through 25c0c7d3 ("gst/gstreamer: Bump 1.26.0 -> 1.26.6") already without one. There is nothing here for this layer to correct. Signed-off-by: Luciano Dittgen --- .../0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch | 2 +- recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.28.1.imx.bb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch index 3f709d84f..11e72613b 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch @@ -8,7 +8,7 @@ This is a workaround to only display gl gir build to avoid totally disable base library gir build. mesa-rvgpu-emu patch break gl gir build -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] --- gst-libs/gst/gl/meson.build | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.28.1.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.28.1.imx.bb index 5c61a823c..be9a2d39b 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.28.1.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.28.1.imx.bb @@ -115,6 +115,10 @@ SRC_URI:remove = "\ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " +# The gl gir patch carries no Signed-off-by. It is an NXP-internal change +# that arrived here without one, and a sign-off is a certification only its +# author can make, so there is nothing here for us to correct. +# nooelint: oelint.file.patchsignedoff SRC_URI:append:mx93-nxp-bsp = " file://0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch" SRC_URI:append:mx943-nxp-bsp = " file://0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch" -- cgit v1.2.3-54-g00ecf From 09229b238bdb7c6d287659c78d38a3ef70b3dd41 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:54:44 -0300 Subject: gstreamer1.0-rtsp-server: Use a recognised Upstream-Status reason The rtsp examples patch used "Inappropriate [i.MX specific]", which is not one of the recognised reasons, so oelint.file.inappropriatemsg fired on the recipe. Use [embedded specific], as already used elsewhere in the layer. Signed-off-by: Luciano Dittgen --- .../0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch index 9a1d206b6..1a8b9a1d7 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch @@ -7,7 +7,7 @@ Subject: [PATCH] YOCIMX-9113 rtsp examples: install test-launch and test-uri gstreamer community has no plan to install these binary as test tool https://discourse.gstreamer.org/t/gst-rtsp-server-examples-are-not-installed-by-default/4806 -Upstream-Status: Inappropriate [i.MX specific] +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Haihua Hu --- -- cgit v1.2.3-54-g00ecf From b318930071f4b690aa30aa71de521d8623990679 Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Tue, 28 Jul 2026 16:55:02 -0300 Subject: smw: Mark the qualifiers fix as having no recoverable sign-off 0001-Fixed-discarded-qualifiers-error.patch carries only an Upstream-Status line, so oelint.file.patchsignedoff fired on the recipe. There is nothing to fix. A Signed-off-by is a certification the signer makes about their right to submit the code, so it cannot be supplied on someone else's behalf -- and this patch has no From: header either, so there is not even an author to attribute one to. Inferring it from whoever authored the layer commit that added the patch, 3f1340976 ("smw: Upgrade to v5.3"), would put a statement in someone's mouth that they never made. Mark it in place instead, per the layer's inline-exception policy in .oelint.cfg, so the reasoning sits next to the patch rather than in a global suppression list. Signed-off-by: Luciano Dittgen --- recipes-security/smw/smw_5.3.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-security/smw/smw_5.3.bb b/recipes-security/smw/smw_5.3.bb index b7313ac11..3454e0865 100644 --- a/recipes-security/smw/smw_5.3.bb +++ b/recipes-security/smw/smw_5.3.bb @@ -20,6 +20,10 @@ DEPENDS = "\ SRC_URI = "${SMW_LIB_SRC};branch=${SRCBRANCH_smw};name=smw \ ${PSA_LIB_SRC};branch=${SRCBRANCH_psa};name=psa;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/${PSA_ARCH_TESTS_SRC_PATH}" +# The qualifiers fix carries no Signed-off-by, and no From: header either, so +# there is no author to recover one from. A sign-off is a certification the +# signer makes, so inventing one here would be wrong. +# nooelint: oelint.file.patchsignedoff SRC_URI += "file://0001-Fixed-discarded-qualifiers-error.patch" SMW_LIB_SRC ?= "git://github.com/nxp-imx/imx-smw.git;protocol=https" PSA_LIB_SRC ?= "git://github.com/ARM-software/psa-arch-tests.git;protocol=https" -- cgit v1.2.3-54-g00ecf From 6ee2655a2588db48f24f05fd61e06fc740734bdb Mon Sep 17 00:00:00 2001 From: Luciano Dittgen Date: Mon, 3 Aug 2026 10:02:45 -0300 Subject: jailhouse-imx: Upgrade to NXP lf-6.18.20_2.0.0 The recipe still tracked lf-6.12.20_2.0.0 while the rest of the layer moved on to NXP's 6.18 releases, and that mismatch made it unbuildable: driver/sysfs.c hands a plain "struct bin_attribute *" to the sysfs read callback, but the kernel made that pointer const in 6.16. NXP guarded the signature with LINUX_VERSION_CODE on the 6.18 branches, so move to lf-6.18.20_2.0.0, the release libcamera and the multimedia recipes already track. Drop both YOCIMX-9281 patches, which NXP has merged -- each one reverse-applies cleanly against the new SRCREV. Keep the -march removal patch: it is oe-specific and hypervisor/arch/arm64/Makefile still sets -march=armv8-a+nofp upstream. PV is left alone. It is a hand-set NXP branch marker rather than anything derived from upstream, which still reports v0.12 in its VERSION file on both branches; SRCREV is what identifies the new snapshot. Dropping the deprecated ${SRCPV} from it would change PKGV and so needs its own validation, which does not belong in this change. Append to PACKAGE_BEFORE_PN rather than assigning it, so the entry bash-completion.bbclass contributes survives. Assigning dropped it from PACKAGES, leaving the jailhouse-completion.bash that tools/Makefile installs with no package to claim it, and do_package failed on the unshipped file. The defect goes back to the recipe's introduction in 46a2165f0 ("jailhouse: add imx version") and was simply unreachable while do_compile still failed. Also sort DEPENDS alphabetically, per oelint.vars.dependsordered. DEPENDS is a set, so the order carries no meaning. Tested with bitbake jailhouse-imx on imx8mq-evk against linux-fslc-imx 6.18.24; module and tools package cleanly. Signed-off-by: Luciano Dittgen --- .../0001-YOCIMX-9281-1-Fix-gcc15-errors.patch | 113 --------------------- ...MX-9281-2-hypervisor-arm64-fix-strh-usage.patch | 34 ------- recipes-extended/jailhouse/jailhouse-imx_git.bb | 12 +-- 3 files changed, 5 insertions(+), 154 deletions(-) delete mode 100644 recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch delete mode 100644 recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch diff --git a/recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch b/recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch deleted file mode 100644 index c1e3eaa25..000000000 --- a/recipes-extended/jailhouse/files/0001-YOCIMX-9281-1-Fix-gcc15-errors.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 2be7793ca658015470fe0d60c0c973e12ce68d73 Mon Sep 17 00:00:00 2001 -From: Tom Hochstein -Date: Thu, 12 Jun 2025 06:49:58 -0700 -Subject: [PATCH 1/2] YOCIMX-9281-1: Fix gcc15 errors - -Fix several instances of the following errors: - -``` -| inmates/lib/include/inmate_common.h:87:16: error: cannot use keyword 'true' as enumeration constant -| 87 | typedef enum { true = 1, false = 0 } bool; -| | ^~~~ -``` - -``` -| In file included from configs/arm64/hikey.c:16: -| include/jailhouse/cell-config.h:318:41: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (6 chars into 5 available) [-Werror=unterminated-string-initialization] -| 318 | #define JAILHOUSE_SYSTEM_SIGNATURE "JHSYS" -| | ^~~~~~~ -| configs/arm64/hikey.c:26:30: note: in expansion of macro 'JAILHOUSE_SYSTEM_SIGNATURE' -| 26 | .signature = JAILHOUSE_SYSTEM_SIGNATURE, -| | ^~~~~~~~~~~~~~~~~~~~~~~~~~ -``` - -Upstream-Status: Backport [Pending] -Signed-off-by: Tom Hochstein -Signed-off-by: Peng Fan ---- - hypervisor/include/jailhouse/header.h | 2 +- - hypervisor/include/jailhouse/types.h | 2 ++ - include/jailhouse/cell-config.h | 4 ++-- - include/jailhouse/hypercall.h | 2 +- - inmates/lib/include/inmate_common.h | 2 ++ - 5 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/hypervisor/include/jailhouse/header.h b/hypervisor/include/jailhouse/header.h -index 518bc5cb..324eb94b 100644 ---- a/hypervisor/include/jailhouse/header.h -+++ b/hypervisor/include/jailhouse/header.h -@@ -55,7 +55,7 @@ struct jailhouse_header { - /** Signature "JAILHOUS" used for basic validity check of the - * hypervisor image. - * @note Filled at build time. */ -- char signature[8]; -+ char signature[8] __attribute__ ((nonstring)); - /** Size of hypervisor core. - * It starts with the hypervisor's header and ends after its bss - * section. Rounded up to page boundary. -diff --git a/hypervisor/include/jailhouse/types.h b/hypervisor/include/jailhouse/types.h -index 6d78ad6d..f79d7428 100644 ---- a/hypervisor/include/jailhouse/types.h -+++ b/hypervisor/include/jailhouse/types.h -@@ -19,7 +19,9 @@ - - #ifndef __ASSEMBLY__ - -+#if __GNUC__ < 15 - typedef enum { true = 1, false = 0 } bool; -+#endif - - /** Describes a CPU set. */ - struct cpu_set { -diff --git a/include/jailhouse/cell-config.h b/include/jailhouse/cell-config.h -index 17d59306..affce1c2 100644 ---- a/include/jailhouse/cell-config.h -+++ b/include/jailhouse/cell-config.h -@@ -91,7 +91,7 @@ - * structure. - */ - struct jailhouse_cell_desc { -- char signature[5]; -+ char signature[5] __attribute__ ((nonstring)); - __u8 architecture; - __u16 revision; - -@@ -330,7 +330,7 @@ struct jailhouse_pio { - * General descriptor of the system. - */ - struct jailhouse_system { -- char signature[5]; -+ char signature[5] __attribute__ ((nonstring)); - __u8 architecture; - __u16 revision; - -diff --git a/include/jailhouse/hypercall.h b/include/jailhouse/hypercall.h -index 07574d3d..cf58a4c9 100644 ---- a/include/jailhouse/hypercall.h -+++ b/include/jailhouse/hypercall.h -@@ -107,7 +107,7 @@ - - #define COMM_REGION_GENERIC_HEADER \ - /** Communication region magic JHCOMM */ \ -- char signature[6]; \ -+ char signature[6] __attribute__ ((nonstring)); \ - /** Communication region ABI revision */ \ - __u16 revision; \ - /** Cell state, initialized by hypervisor, updated by cell. */ \ -diff --git a/inmates/lib/include/inmate_common.h b/inmates/lib/include/inmate_common.h -index 1c20a0af..43cd7a20 100644 ---- a/inmates/lib/include/inmate_common.h -+++ b/inmates/lib/include/inmate_common.h -@@ -84,7 +84,9 @@ typedef u32 __u32; - typedef s64 __s64; - typedef u64 __u64; - -+#if __GNUC__ < 15 - typedef enum { true = 1, false = 0 } bool; -+#endif - - #include - --- -2.34.1 - diff --git a/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch b/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch deleted file mode 100644 index 4c8fefa36..000000000 --- a/recipes-extended/jailhouse/files/0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 98f6f8dc23d6b3d4fe5b15045ccb3d3ef36747be Mon Sep 17 00:00:00 2001 -From: Peng Fan -Date: Mon, 25 Aug 2025 09:48:05 +0800 -Subject: [PATCH 2/2] YOCIMX-9281-2: hypervisor: arm64: fix strh usage - -hypervisor/arch/arm64/entry.S:555: Error: immediate offset out of range - -Per ARM spec: -STRH (immediate) - Is the optional positive immediate byte offset, a multiple of 2 in -the range 0 to 8190, defaulting to 0 and encoded in the "imm12" field -as /2. - -So align sdei_event to 2 bytes aligned. - -Upstream-Status: Pending -Signed-off-by: Peng Fan ---- - hypervisor/arch/arm64/include/asm/percpu_fields.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hypervisor/arch/arm64/include/asm/percpu_fields.h b/hypervisor/arch/arm64/include/asm/percpu_fields.h -index 32f42a53..844a9417 100644 ---- a/hypervisor/arch/arm64/include/asm/percpu_fields.h -+++ b/hypervisor/arch/arm64/include/asm/percpu_fields.h -@@ -18,4 +18,4 @@ - bool suspended; \ - bool suspending; \ - bool resuming; \ -- bool sdei_event; -+ bool sdei_event __attribute__((aligned(2))); --- -2.34.1 - diff --git a/recipes-extended/jailhouse/jailhouse-imx_git.bb b/recipes-extended/jailhouse/jailhouse-imx_git.bb index f2e1e989c..9c63cbaba 100644 --- a/recipes-extended/jailhouse/jailhouse-imx_git.bb +++ b/recipes-extended/jailhouse/jailhouse-imx_git.bb @@ -15,24 +15,22 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9fa7f895f96bde2d47fd5b7d95b6ba4d \ " DEPENDS = "\ + dtc-native \ make-native \ - python3-mako-native \ python3-mako \ - dtc-native \ + python3-mako-native \ " PROVIDES = "jailhouse" PV = "2023.03+git${SRCPV}" -SRCBRANCH = "lf-6.12.20_2.0.0" +SRCBRANCH = "lf-6.18.20_2.0.0" IMX_JAILHOUSE_SRC ?= "git://github.com/nxp-imx/imx-jailhouse.git;protocol=https" SRC_URI = "${IMX_JAILHOUSE_SRC};branch=${SRCBRANCH} \ file://arm-arm64-Makefile-Remove-march-option-from-Makefile.patch \ - file://0001-YOCIMX-9281-1-Fix-gcc15-errors.patch \ - file://0002-YOCIMX-9281-2-hypervisor-arm64-fix-strh-usage.patch \ " -SRCREV = "399d65450e9a377b4aaff4b0627619174e1c8c46" +SRCREV = "8d6d397f7f88f4bd0d9f99933a13163266d09099" inherit module bash-completion deploy setuptools3 @@ -88,7 +86,7 @@ do_install:append() { install ${B}/inmates/tools/${JH_ARCH}/linux-loader.bin ${D}${INMATES_DIR}/tools/${JH_ARCH} } -PACKAGE_BEFORE_PN = "pyjailhouse" +PACKAGE_BEFORE_PN += "pyjailhouse" FILES:${PN} += "${nonarch_base_libdir}/firmware ${libexecdir} ${sbindir} ${JH_DATADIR}" # Remove libdir/* appended by setuptools3-base.bbclass for module split to work correctly -- cgit v1.2.3-54-g00ecf