summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/openembedded-layer
Commit message (Collapse)AuthorAgeFilesLines
* opencv: Add OpenCL patches 0110 and 0111 from LF6.18.37_2.1.0Rodrigo M. Duarte5 days3-0/+211
| | | | | | | | | | | | | | Port two patches from meta-imx rel_imx_6.18.37_2.1.0: - 0110 backports the upstream OpenCL kernel for UMat::diag, which avoids data races between kernels on aliased views of one buffer. - 0111 keeps the image read by example_tapi_clahe alive until it is copied to the UMat, fixing a segmentation fault with the asynchronous SVM mapping of the Vivante GPU. Tested by building opencv for imx8mq-evk. Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* opencv: Rewrite build paths in all CPU-dispatch stubsRodrigo M. Duarte5 days1-4/+4
| | | | | | | | | | | | | | | | OpenCV generates one dispatch stub per enabled ISA in every module, and each stub includes its source through an absolute ${S} path. Only the two PowerPC vsx3 stubs were rewritten, so on aarch64 the neon, neon_fp16 and neon_dotprod stubs copied into opencv-src fail the buildpaths QA check. Backport meta-openembedded fdfca71954, which rewrites every generated stub under ${B}/modules. Tested by building opencv for imx8mq-evk, which failed do_package_qa with buildpaths errors before this change and now succeeds. Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* isp-imx: Update to 4.2.2.26.3Rodrigo M. Duarte6 days1-12/+5
| | | | | | | | | | | | | | | Update to the version used by the lf-6.18.37_2.1.0 release, which ships under the LA_OPT_NXP_Software_License v64.2 EULA. The 4.2.2.26.3 binaries are already linked against libjsoncpp.so.27, so drop the patchelf step that rewrote the jsoncpp dependency, along with the patchelf-native build dependency. Tested by building isp-imx for imx8mp-lpddr4-evk: the start_isp patch applies, and libmedia_server.so and isp_media_server need libjsoncpp.so.27. No board test: i.MX 8M Plus only. Signed-off-by: Rodrigo M. Duarte <rodrigo.duarte@ossystems.com.br>
* opencv: only rename bin/cpp when the C++ samples are installedPrasanth R2026-10-131-2/+6
| | | | | | | | | | | | | | OpenCV installs the C++ samples to ${bindir}/cpp only when every module they depend on is built e.g. gapi. Otherwise it skips them silently and do_install fails: mv: cannot stat '.../image/usr/bin/cpp': No such file or directory Check that the directory exists before renaming it, as the meta-openembedded recipe already does for ${bindir}/shape. Fixes: #2570 Signed-off-by: Prasanth R <prasanth.r@lineo.co.jp>
* tsntool: Move to dynamic-layers/openembedded-layerLuciano Dittgen2026-10-012-0/+67
| | | | | | | | | | tsntool DEPENDS on cjson from meta-oe, which the layer does not require, so world broke on QorIQ machines without meta-oe (yocto-check-layer test_machine_world). packagegroup-fsl-network now pulls it only with meta-oe. Checked with -k -S none world on ls2088ardb and p5040ds-64b without meta-oe; with it, tsntool sigs and the RDEPENDS are unchanged. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* Merge pull request #2768 from lucianogdittgen/check-layer-machine-world-spcOtavio Salvador2026-10-011-0/+36
|\ | | | | spc: Move to dynamic-layers/openembedded-layer
| * spc: Move to dynamic-layers/openembedded-layerLuciano Dittgen2026-10-011-0/+36
| | | | | | | | | | | | | | | | | | | | spc DEPENDS on tclap, which only meta-oe provides, so bitbake world broke on qoriq-arm64 without it, failing yocto-check-layer test_machine_world. packagegroup-fsl-network now only pulls it in with meta-oe. Tested with bitbake spc on lx2160ardb (no buildhistory delta) and bitbake -S none world without meta-oe on ls1012ardb and lx2160ardb. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | Merge pull request #2757 from lucianogdittgen/check-layer-machine-world-isp-imxOtavio Salvador2026-10-013-0/+170
|\ \ | |/ |/| isp-imx: Move to dynamic-layers/openembedded-layer
| * isp-imx: Move to dynamic-layers/openembedded-layerLuciano Dittgen2026-09-303-0/+170
| | | | | | | | | | | | | | | | | | | | | | isp-imx DEPENDS on jsoncpp and libtinyxml2 from meta-oe, which the layer does not require, so bitbake world broke for mx8mp-nxp-bsp machines without it, failing yocto-check-layer test_machine_world. basler-camera RDEPENDS on isp-imx and moves with it; packagegroup-fsl-isp now only pulls both in with meta-oe. Tested with bitbake -S none world on imx8mp-lpddr4-evk and imx8mp-ddr4-evk without meta-oe. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | Merge pull request #2759 from lucianogdittgen/check-layer-machine-world-odpOtavio Salvador2026-10-016-0/+183
|\ \ | | | | | | odp: Move to dynamic-layers/openembedded-layer
| * | odp: Move to dynamic-layers/openembedded-layerLuciano Dittgen2026-09-306-0/+183
| |/ | | | | | | | | | | | | | | | | | | odp DEPENDS on cunit from meta-oe, which the layer does not require, so bitbake world broke for Layerscape machines without it, failing yocto-check-layer test_machine_world. odp-module, odp-counters and ofp depend on odp and move too; packagegroup-fsl-network adds ofp only with meta-oe. Task signatures are unchanged on ls1088ardb-pb with meta-oe. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* / imx-gpu-sdk: Move to dynamic-layers/openembedded-layerLuciano Dittgen2026-09-301-0/+164
|/ | | | | | | | | | imx-gpu-sdk DEPENDS on rapidjson, nlohmann-json, glm and googletest from meta-oe, which the layer does not require, so bitbake world broke for i.MX GPU machines without it, failing yocto-check-layer test_machine_world. packagegroup-fsl-tools-gpu now only pulls it in with meta-oe. libxdg-shell stays, so imx-gpu-sdk-src.inc is required by path. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* packagegroup-fsl-tools-testapps: scope imx-gpu-viv-demos to Vivante GPUsFrancesco Dolcini2026-09-301-1/+2
| | | | | | | | | | | | | | | | | | | | | SOC_TOOLS_TEST:imxgpu unconditionally added imx-gpu-viv-demos for every imxgpu machine, but that package is only produced by imx-gpu-viv, whose COMPATIBLE_MACHINE does not cover non-Vivante imxgpu SoCs such as i.MX 95's Mali GPU. That left packagegroup-fsl-tools-testapps unbuildable there, breaking 'bitbake world'. Same issue class as PR #2748 and the packagegroup-fsl-tools-gpu fix, just a different recipe. Move imx-gpu-viv-demos to its own SOC_TOOLS_TEST:imxviv, the same override imx-gpu-viv itself is gated on. Tested with 'bitbake -n packagegroup-fsl-tools-testapps' for an i.MX8M Plus and an i.MX95 machine: i.MX 8M Plus keeps imx-gpu-viv-demos, i.MX 95 now resolves instead of failing with "Nothing RPROVIDES 'imx-gpu-viv-demos'". Assisted-by: LLM Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
* opencv: Follow IMXGPU_OPENCL_PROVIDER for OpenCL supportOtavio Salvador2026-09-281-2/+5
| | | | | | | | | | | | | | | | | | | | OpenCL was enabled for every i.MX GPU but i.MX 8M Mini. On i.MX 7ULP the Vivante driver has no OpenCL either, and on i.MX 95 the Mali GPU relies on the standard ICD loader, which requires the opencl distro feature; without it virtual/libopencl1 has no provider and opencv cannot be built. Enable OpenCL on Vivante GPUs only when IMXGPU_OPENCL_PROVIDER is set, which covers the i.MX 8M Mini case without a SoC-specific override, and on other GPUs only when the opencl distro feature is enabled. Tested with 'bitbake -n opencv' for imx7ulpevk, imx8mm-lpddr4-evk, imx8mp-lpddr4-evk, imx8mq-evk and imx95-19x19-verdin, with and without the opencl distro feature. Reported-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* opencv: Document the download-cache taskLuciano Dittgen2026-09-161-0/+2
| | | | | | | | | do_unpack_extra is addtask'd but carried no doc string, so it was undescribed in bitbake opencv -c listtasks. The flag is set in the .inc so opencv_4.13.0.imx.bb stays a verbatim copy of the meta-openembedded recipe it tracks. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Accept upstream's literal /usr/lib in the copied bodyLuciano Dittgen2026-09-141-0/+3
| | | | | | | | | | | The .bb is kept a verbatim meta-openembedded copy so a version bump can be diffed straight against upstream; the i.MX changes live in the required opencv_4.13.0.imx.inc. This multilib relocation is byte-identical to meta-oe at the header's hash 9b77eae6, so editing it here would make every future re-sync ambiguous. Tagged UPSTREAM-PARITY; comment-only, so the effective metadata is unchanged. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Drop the redundant leading space in two assignmentsLuciano Dittgen2026-09-111-2/+2
| | | | | | | | | | | EXTRA_OECMAKE and PACKAGECONFIG are a plain and a weak assignment, so the space after the opening quote joins no previous value; only :append needs one, which line 106 keeps. 96a58b1e3 added it when it reflowed these values. Both are whitespace-split, so the token sets are unchanged. Tested with bitbake opencv -C configure on imx8mm-lpddr4-evk: buildhistory byte-identical. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Accept the upstream variable order in the copied bodyLuciano Dittgen2026-09-091-0/+2
| | | | | | | | | SUMMARY:python3-opencv sits below FILES in meta-openembedded's opencv_4.13.0.bb, which this file copies verbatim at the hash in its header. Reordering it here would diverge the copy, so the finding is documented inline instead. Comments only; effective metadata is unchanged. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Move the i.MX overrides into a version-specific includeLuciano Dittgen2026-09-092-91/+93
| | | | | | | | | | | The recipe is a verbatim copy of the meta-openembedded original followed by a trailing i.MX block. Holding both in one file leaves a re-sync unable to tell a local addition from an upstream removal, so the block now lives in opencv_4.13.0.imx.inc, required where it used to sit. Parse order is therefore unchanged: bitbake -e matches bar the added BBINCLUDED entry, and buildhistory on imx8mp-lpddr4-evk is unchanged. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* sg3-utils: Scope the class extension to our machinesLuciano Dittgen2026-09-041-1/+4
| | | | | | | | | | | | utp-com is BBCLASSEXTEND'd and DEPENDS on sg3-utils, so the native and nativesdk variants have to exist for it to build. Adding them for every machine overrides core behaviour and fails yocto-check-layer; imx-generic-bsp and qoriq are disjoint and cover every machine we provide, which is everywhere utp-com is useful. Verified sg3-utils-native still resolves on imx8mm-lpddr4-evk, and built both variants with do_package forced: buildhistory is identical. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* glm: Scope the empty main package to imxgpu machinesLuciano Dittgen2026-09-041-2/+3
| | | | | | | | | | | | imx-gpu-sdk RDEPENDS on the empty glm package to pull the header-only library into the SDK, and it is the only consumer in the tree. It carries COMPATIBLE_MACHINE "(imxgpu)", so ALLOW_EMPTY belongs on the same override instead of applying to every machine, which fails yocto-check-layer. Built glm on imx8mm-lpddr4-evk with do_package forced; buildhistory is identical. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Add a DESCRIPTIONLuciano Dittgen2026-09-021-0/+1
| | | | | | | | | | | | | Without it bitbake.conf applies DESCRIPTION ?= "${SUMMARY}.", so the package shipped its one-line summary as its full description. The Yocto recipe style guide lists DESCRIPTION among the variables a recipe should set. Kept on one line: an indented continuation leaks its indent into the packaged value as a run of spaces. This diverges on purpose from the verbatim meta-openembedded copy, which sets no DESCRIPTION. Validated on imx8mp-lpddr4-evk with do_package forced; buildhistory is unchanged apart from metadata-revs. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Declare PACKAGECONFIG-gated split packages via PACKAGES_DYNAMICLuciano Dittgen2026-08-311-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ${PN}-java, ${PN}-samples and python3-opencv enter PACKAGES only under the matching PACKAGECONFIG (java/oracle-java, samples, python3) through the bb.utils.contains() expressions in the PACKAGES assignment. oelint-adv parses the recipe without any PACKAGECONFIG active, so those expressions expand empty and it cannot see the packages, flagging their FILES/RDEPENDS/SUMMARY/INSANE_SKIP assignments as oelint.vars.specific ("set specific to a package not known from PACKAGES"). Extend the existing PACKAGES_DYNAMIC (which already covers ^libopencv-.*) with anchored patterns for the three conditionally-created packages, so they are recognised regardless of which PACKAGECONFIG the current parse enables. This does not add them to PACKAGES: a machine/config that enables the PACKAGECONFIG still ships them, one that does not still omits them. The top section of this recipe is a verbatim copy of meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.13.0.bb, which has the same limitation (its PACKAGES_DYNAMIC also covers only ^libopencv-.*). This PACKAGES_DYNAMIC extension is therefore a deliberate divergence from the meta-oe source, added to satisfy standalone linting; a future re-sync should keep it rather than revert to the upstream form. Removes 6 oelint.vars.specific findings; introduces none. Verified output-neutral on imx8mp-lpddr4-evk (PACKAGECONFIG enables samples and python3, so opencv-samples and python3-opencv are shipped): bitbake -e shows the effective PACKAGES set byte-identical before and after (only PACKAGES_DYNAMIC gains the three patterns), and a forced do_package rebuild produced a "No changes" buildhistory commit across all opencv outputs. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* Merge pull request #2645 from lucianogdittgen/oelint-vars-inconspacesOtavio Salvador2026-08-251-1/+4
|\ | | | | Clear all oelint.vars.inconspaces findings
| * opencv: Fix PACKAGES spacing and suppress inconspaces on SRCREV_FORMATLuciano Dittgen2026-08-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two oelint.vars.inconspaces findings in the i.MX customization section: - PACKAGES += " \ carried a redundant leading space inside the opening quote. += already inserts a separator, so the space is removed. The expanded PACKAGES token list is unchanged (10 identical tokens). - SRCREV_FORMAT:append = "_extra" is an underscore-joined list of SRC_URI names; the appended component must attach with no leading space, or the SRCREV name resolution would break. The structural fix would corrupt the value, so annotate it with # nooelint: oelint.vars.inconspaces and document the format-list semantics. Validated with buildhistory: baseline and candidate builds of opencv for imx8mm-lpddr4-evk / fslc-framebuffer, forcing do_package. The only buildhistory delta is metadata-revs recording the local tree state; the opencv packages, dependencies, files and sizes are byte-identical. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | opencv: Document upstream-parity INSANE_SKIP for oelintLuciano Dittgen2026-08-241-0/+6
|/ | | | | | | | | | | | | The INSANE_SKIP:${PN}-java/-dbg = "libdir" lines are byte-identical to meta-openembedded meta-oe/recipes-support/opencv/opencv_*.bb and live in the verbatim meta-openembedded copy section of this i.MX fork. Removing or rewriting them to satisfy oelint.vars.insaneskip would diverge from the upstream recipe and cost extra conflict resolution on every re-sync. Add an inline # nooelint directive to each, classified UPSTREAM-PARITY. No effective metadata changes: only comments were added. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Reformat multiline values, drop multilineident overridesLuciano Dittgen2026-08-241-12/+16
| | | | | | | | | | | | | | | | | | | | | | | oelint.vars.multilineident flagged EXTRA_OECMAKE, PACKAGECONFIG, PACKAGECONFIG:append:class-target and PACKAGES because the first value started on the opening-quote line, which does not align with the continuation column. Per review, reformat all four: put an empty opening quote and move every item onto an aligned continuation line, so the first item is no longer special-cased. This satisfies the rule without a nooelint directive. All four values are whitespace-split, so the cmake args, PACKAGECONFIG entries and the package list are unchanged. The top section is a verbatim meta-openembedded copy (see the file header); this reformat makes the four assignments diverge from upstream whitespace, which the maintainer requested to avoid the lint override. A before/after buildhistory comparison for imx8mm-lpddr4-evk shows no change to any binary package, file list or dependency; only opencv-src PKGSIZE shifts by the whitespace delta recorded in the debug sources. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Document i.MX-fork LIC_FILES_CHKSUM override for oelintLuciano Dittgen2026-08-171-0/+3
| | | | | | | | | | | | | | | | | opencv_4.13.0.imx.bb is the i.MX fork of the meta-openembedded recipe: its top section is a verbatim copy of meta-oe (see the "meta-openembedded copy" / "Upstream hash" header), and the "i.MX overrides" section re-sets LIC_FILES_CHKSUM. Setting it in both sections trips oelint.var.override. Rewriting or dropping the copied assignment would diverge from the meta-oe recipe the block mirrors and reappear on the next re-sync. Annotate the copied LIC_FILES_CHKSUM with an inline "# nooelint: oelint.var.override" (UPSTREAM-PARITY) instead, matching the weston, gstreamer and libcamera i.MX forks. Comment-only change; no recipe output is affected. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Document FILES overrides per oelint.var.filesoverrideLuciano Dittgen2026-08-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | oelint.var.filesoverride flags six FILES assignments in this recipe. All are intentional and correct as written, so document each with an inline # nooelint rather than rewriting it: - ${PN} is intentionally empty (ALLOW_EMPTY:${PN}), with everything split into the sub-packages and the PACKAGES_DYNAMIC libopencv-* packages. - -dev is deliberately curated to headers/pkgconfig/cmake because the per-library dev symlinks ship via those dynamic packages; += would re-add the default ${libdir}/*.so and pull them out of the dynamic packages. - -apps, -java, -samples and python3-opencv are recipe-specific split packages with no default FILES, so '=' is a complete definition. These lines are kept byte-identical to meta-oe opencv_4.13.0.bb to avoid drift in this .imx fork. No functional change. Tested with opencv on imx8mp-lpddr4-evk; buildhistory unchanged. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* oelint: Suppress noncoreoverride on the machine-gated bbappend idiomLuciano Dittgen2026-08-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | oelint.vars.noncoreoverride flags every statement in a bbappend that carries no MACHINE or DISTRO override suffix, because an unconditional override of core behaviour fails yocto-check-layer. The check is purely syntactic: it cannot see that a statement's effective value is already machine-gated, which is exactly how most of this layer is written. DRM-REMOVE = "" <- flagged DRM-REMOVE:imxgpu:mx6-nxp-bsp = "drm-gl drm-gles2" PACKAGECONFIG:remove = "${DRM-REMOVE}" <- flagged Neither line can be scoped. A fallback default cannot carry an override for the machines it is the fallback for, and the dispatch line that consumes it is a no-op wherever the helper expands empty. Scoping them anyway would damage correct metadata: weston-init reads HAS_G2D as "elif ${HAS_G2D};" in shell, where an empty value is a syntax error. Suppress the 58 sites proven inert, each with its own rationale. The proof is a bitbake -e comparison on MACHINE=qemuarm64 -- a machine this layer does not own -- with meta-freescale in and out of BBLAYERS. At every suppressed site SRC_URI, DEPENDS, PACKAGECONFIG, OPENGL_PKGCONFIGS and REQUIRED_DISTRO_FEATURES are unchanged; eight recipes show no effective difference at all. The helper variables are defined in the datastore but every consumer is override-scoped. For the 18 FILESEXTRAPATHS sites there is a stronger result: FILESPATH and FILESEXTRAPATHS are both in BB_BASEHASH_IGNORE_VARS, so they cannot reach a task signature. Two anonymous python blocks are deliberately left unsuppressed and explained in place instead. For those, oelint anchors the finding to the line before the block, so a directive placed above only moves the anchor onto itself: the finding survives and inlinesuppress_na is reported for the directive. oelint.task.noanonpython anchors the same block to the 'python' line and suppresses correctly, so the two rules disagree about where the construct starts. Upstream oelint bug candidate. The rule count goes 76 -> 18 and the layer total 548 -> 491. The 16 findings that remain are not noise: they are measured, genuine unconditional changes to machines this layer does not own, and are left open for separate fixes. This change is comment-only; no non-comment line is added or modified. Validated with bitbake -p (1166 recipes, 0 errors) and an authoritative driver rescan showing zero introduced findings in any of the 24 edited files. The residual override/outofcontext churn in the rescan is the known shared-metadata scan non-determinism and nets to zero. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* fmc: Drop the dead class-native EXTRA_OEMAKE overrideLuciano Dittgen2026-08-071-3/+0
| | | | | | | | | | | | | | | | | | | | | | fmc_git.bb sets no BBCLASSEXTEND and does not inherit native, so the EXTRA_OEMAKE:class-native variant carrying FMCHOSTMODE=1 can never be selected. This is the same dead override removed from spc_git.bb, which shares the recipe shape line for line. The remedy oelint.vars.inappclassoverride documents -- declaring BBCLASSEXTEND = "native" -- is not available here either: DEPENDS lists fmlib, and fmlib_git.bb sets no BBCLASSEXTEND of its own, so there is no fmlib-native for an fmc-native to build against. The validation here is weaker than for spc, and is stated rather than implied. This recipe lives under dynamic-layers/openembedded-layer and meta-openembedded is not part of this build tree, so it is not parsed in this configuration and no bitbake -e capture was taken for it. The evidence is the layer-wide oelint-adv 9.10.1 rescan, which clears the finding and introduces none, together with the byte-identical removal shown inert on spc_git.bb. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* packagegroups: Correct the dependsordered suppression rationaleLuciano Dittgen2026-08-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Both packagegroups suppress oelint.vars.dependsordered on RDEPENDS:${PN}, and oelint reports oelint.file.inlinesuppress_na against both, claiming the suppression is not needed. It is needed: removing either line makes oelint.vars.dependsordered fire again on the same file set, with the same analyzer version and configuration, reported as [branch:true]. oelint 9.10.1 therefore contradicts itself here -- inlinesuppress_na does not account for branch-conditional findings. Keep both suppressions and record the trap, so the next reader does not drop a load-bearing line on the strength of that report. While here, correct the stated mechanism. The entries are not mis-sorted by a tokenizer: they are grouped conditional ${@...} first and then alphabetically, and oelint sorts the expanded branch:true form, in which the conditional entries land out of order. RDEPENDS ordering has no build effect, so the readable grouping is kept. Comment-only change. Verified with oelint-adv 9.10.1 (finding set unchanged) and bitbake -p (1166 recipes, 0 errors). Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Correct the patch header metadataLuciano Dittgen2026-08-036-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <luciano.dittgen@ossystems.com.br>
* opencv: Install the sample binaries instead of copying themLuciano Dittgen2026-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <luciano.dittgen@ossystems.com.br>
* opencv: Drop the redundant leading space in SRC_URI overridesLuciano Dittgen2026-08-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <luciano.dittgen@ossystems.com.br>
* fmc: Add DESCRIPTION and SECTION per oelintLuciano Dittgen2026-07-221-0/+3
| | | | | | | | Add a DESCRIPTION and SECTION=base to the DPAA Frame Manager configuration tool (mandatoryvar.DESCRIPTION, suggestedvar.SECTION). No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* packagegroup-fsl-opencv-imx: Add SUMMARY, expand DESCRIPTION and SECTION per ↵Luciano Dittgen2026-07-221-1/+4
| | | | | | | | | | | oelint Add a SUMMARY ahead of DESCRIPTION and SECTION=multimedia (mandatoryvar.SUMMARY, suggestedvar.SECTION), and expand the terse DESCRIPTION so it is longer than the SUMMARY (descriptiontoobrief). No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* Merge pull request #2574 from ↵Otavio Salvador2026-07-172-18/+22
|\ | | | | | | | | lucianogdittgen/oelint-cleanup-10-recipe-metadata-6 oelint: Class/anon-python docstrings, image and packagegroup metadata
| * packagegroup-fsl-tools-testapps: Order metadata and RDEPENDS per oelintLuciano Dittgen2026-07-171-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Place SUMMARY before DESCRIPTION (oelint.var.order.SUMMARY), add SECTION = "console/utils" (oelint.var.suggestedvar.SECTION) and sort the RDEPENDS list alphabetically (conditional ${@...} and ${SOC_TOOLS_TEST} first, then literals). The dependsordered check is suppressed inline: the list is ordered per the rule's own sorted(tokens, key=str.lower) algorithm, but oelint-adv 9.7.1 still flags this particular mix of several ${@...} conditionals and the ${SOC_TOOLS_TEST} indirection. No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
| * packagegroup-fsl-tools-benchmark: Order metadata and RDEPENDS per oelintLuciano Dittgen2026-07-171-5/+6
| | | | | | | | | | | | | | | | | | | | | | Place SUMMARY before DESCRIPTION (oelint.var.order.SUMMARY), add SECTION = "console/utils" (oelint.var.suggestedvar.SECTION) and sort the RDEPENDS list alphabetically with the conditional ${@...} entry first (oelint.vars.dependsordered). No functional change. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | Merge pull request #2565 from lucianogdittgen/oelint-cleanup-8-recipe-metadata-4Otavio Salvador2026-07-171-6/+6
|\ \ | |/ |/| oelint: Recipe metadata and variable-order cleanups
| * uuu: Set SECTION and order variables per oelintLuciano Dittgen2026-07-141-6/+6
| | | | | | | | | | | | | | | | | | | | | | Add a SECTION and reorder into the canonical oelint variable order: LICENSE before PV, PV before SRC_URI/SRCREV, and DEPENDS moved above the inherit so it is no longer flagged as overwriting DEPENDS after an inherit. No functional change; pure recipe-metadata cleanup. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | opencv: sync 4.13.0.imx recipe with meta-imx and fix buildLuciano Dittgen2026-07-161-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recipe was imported with style adjustments from opencv_4.6.0.imx.bb that diverged from the meta-imx 4.13.0 source, breaking the i.MX build: - Restore the -DCPU_DISPATCH=SSE,... form (the -DENABLE_SSE=1 flags and the EXTRA_OECMAKE:remove:x86 workaround were leftovers from 4.6.0). - Pass KLEIDICV_SOURCE_PATH on aarch64 so configure uses the pre-fetched Kleidicv source instead of attempting a network download. - Keep the /usr/bin/cpp rename, which OpenCV 4.13 still installs. Select 4.13.0.imx for the mx8 and mx9 NXP BSP overrides. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* | opencv: imx: update the i.mx fork to 4.13.0Alexander Stein2026-07-1523-541/+1185
|/ | | | | | | Copy from meta-imx tag rel_imx_6.18.20_2.0.0 with style adjustments from opencv_4.6.0.imx.bb. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
* utp-com: Set SUMMARY/SECTION and order variables per oelintLuciano Dittgen2026-07-141-3/+4
| | | | | | | | | | | | | oelint-adv flagged a missing SUMMARY, a suggested SECTION, and SRC_URI/PV appearing out of the expected order. Add SUMMARY and SECTION and reorder the fetch variables to PV / SRC_URI / SRCREV as oelint expects. Metadata-only change; the built package is unaffected. oelint-adv now reports no findings for this recipe. Signed-off-by: Luciano Dittgen <luciano.dittgen@ossystems.com.br>
* opencv: Sort DEPENDS entries alphabeticallyOtavio Salvador2026-07-121-1/+1
| | | | | | | Order DEPENDS alphabetically per oelint.vars.dependsordered. No functional change. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* uuu: Sort DEPENDS entries alphabeticallyOtavio Salvador2026-07-121-1/+1
| | | | | | | Order DEPENDS alphabetically per oelint.vars.dependsordered. No functional change. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* fmc: Sort DEPENDS and drop double blank lineOtavio Salvador2026-07-121-2/+1
| | | | | | | Order DEPENDS alphabetically (oelint.vars.dependsordered) and remove a consecutive blank line (oelint.newline.consecutive). No functional change. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* global: Use single space around variable assignmentsoelint-cleanup-2-homepage-sectionOtavio Salvador2026-07-123-7/+7
| | | | | | | | | | | | | | | meta-freescale used columnar alignment (multiple spaces padding the variable name out to a common column) for tables of assignments such as the fsl-eula-unpack MD5 sums and PACKAGECONFIG[...] entries. The Yocto Recipe Style Guide and oelint-adv (oelint.vars.spacesassignment) call for a single space around the assignment operator. Collapse the padding to a single space on every flagged assignment. The change is purely whitespace around the operator: variable names, operators and values (including whitespace inside quoted values) are untouched, as confirmed by an empty 'git diff -w'. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* global: Set HOMEPAGE from SRC_URIOtavio Salvador2026-07-122-0/+2
| | | | | | | | | | | | | | Add the mandatory HOMEPAGE to recipes that were missing it, using each recipe's own upstream git repository (github.com/gitlab.com) taken from its SRC_URI. Clears the oelint-adv oelint.var.mandatoryvar.HOMEPAGE error for these recipes. Only recipes with a single, unambiguous upstream repo were set automatically; recipes with multiple repos in SRC_URI (a main source plus dependency/patch repos) were resolved by hand or left for a maintainer, to avoid pointing HOMEPAGE at a dependency. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>