Skip to content

wrynose: Backport master fixes#127

Merged
otavio merged 46 commits into
OSSystemsEmbeddedLinux:wrynosefrom
lucianogdittgen:backport/master-fixes-wrynose
Jun 19, 2026
Merged

wrynose: Backport master fixes#127
otavio merged 46 commits into
OSSystemsEmbeddedLinux:wrynosefrom
lucianogdittgen:backport/master-fixes-wrynose

Conversation

@lucianogdittgen

Copy link
Copy Markdown
Contributor

Backport master fixes to wrynose

This backports the current fixes from master to wrynose.

The branch includes updates for recipe metadata, dynamic layers, oelint, and
Yocto layer compatibility.

Validation:

  • yocto-check-layer passed for meta-ossystems-base

lucianogdittgen and others added 30 commits June 19, 2026 14:19
…stallation

easysplash-common-2.0.inc: Drop the redundant 'S' assignment, as it defaults to /git for git-based recipes.

easysplash-config_2.0.0.bb: Use  for the configuration file source to comply with the recent OE-Core 'unpack-to-unpackdir' changes.

easysplash_2.0.0.bb: Explicitly pass 'INIT' and 'SYSTEMD' flags to 'oe_runmake' during the service installation in 'do_install:append'. This ensures the build system correctly identifies which service files to install based on the enabled PACKAGECONFIG, while removing these flags from the default PACKAGECONFIG variables where they were not effectively reaching the install target.

(cherry picked from commit d5561a9)
Enable the kms PACKAGECONFIG so the gstreamer1.0-plugins-bad-kms package is
  built from the layer metadata. EasySplash animation recipes depend on this
  runtime package, so keeping the setting in the layer avoids requiring a
  local.conf workaround and fixes the build-deps QA issue.

(cherry picked from commit bf86df1)
Update the EasySplash recipes to satisfy oelint checks by adding missing
  metadata, fixing SPDX license syntax, avoiding duplicate license assignments,
  and using the expected BitBake append spacing.

  Rename the EasySplash animation class to use an underscore and update the
  animation recipes to inherit the new class name.

(cherry picked from commit 4e922ac)
- Scope base-files locale handling to the oel override and generate locale.conf during do_install.
  - Scope BusyBox configuration fragments to the oel override.
  - Scope the systemd util-linux-umount runtime dependency to the oel override.
  - Keep the os-release build number append spacing consistent with BitBake
    append syntax.

(cherry picked from commit 393cea2)
Update core recipes to align their metadata and packaging details:
  - Restrict psplash FILESEXTRAPATHS to the oel distro override.
  - Complete EasySplash recipe metadata and explicitly disable BBCLASSEXTEND
    where native/nativesdk variants are not useful.
  - Rename tiny-init-system to include its recipe version, add missing metadata,
    use a recipe-local MIT license file, and make FILES additive.

(cherry picked from commit 6cf743a)
- Update recipe to version 1.0 and use recipe-local MIT license file.
- Document the class helper and use install -d when creating runtime default symlink directories.

(cherry picked from commit 9be6067)
- Update recipe to version 1.0 and use recipe-local MIT license file.
- Use UNPACKDIR to align with current OE-Core defaults.
- Complete metadata (HOMEPAGE, BUGTRACKER, CVE_PRODUCT).

(cherry picked from commit fbbeeb1)
- Update generate-release-bundle to version 1.0 and use a recipe-local MIT license file.
- Refine release-bundle-generation task metadata and UNPACKDIR usage for current OE-Core.
- Handle an empty release bundle download cache without failing.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit c5c09e5)
- Update recipe to version 1.0.
- Use recipe-local MIT license.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit c4b9e8b)
- Drop LICENSE override as it's no longer needed.
- Restrict SYSTEMD_AUTO_ENABLE override to the oel distro.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 5762a1d)
- Update init recipe to version 1.0.
- Use recipe-local MIT license for init recipe.
- Update package metadata in bbappend.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit a8e4a99)
- Update recipe to version 1.0.
- Use recipe-local MIT license.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 03b0305)
- Restrict recipe overrides to the oel distro.
- Use UNPACKDIR for source files.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 2509c1e)
Use SRCPV instead of a hardcoded AUTOINC suffix so the package version follows the configured source revision.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit e56dbb8)
Keep the EasySplash animation helper aligned with the layer's hyphenated class naming convention and update animation recipes to inherit the renamed class.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit c4a81c4)
- Complete summary, description, and metadata for initramfs images.
- Drop debug-tweaks from initramfs-psplash-image.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 6b1e4cf)
- Complete summary, description, and metadata.
- Use a recipe-local MIT license file.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 5c97245)
- Complete summary, description, and metadata.
- Use a recipe-local MIT license file.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 0f103dc)
- Upgrade telegraf to version 1.38.4.
- Provide a default telegraf.conf file.
- Use UNPACKDIR and refine installation steps.
- Complete recipe metadata.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 17ef707)
- Upgrade zram-init to version 13.2.
- Complete recipe metadata.
- Add gettext-native to DEPENDS and set PE = "1".
- Use EXTRA_OEMAKE to set the shebang and force regeneration of the generated script.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit da6c88b)
- Update recipe to version 1.0.
- Complete recipe metadata.
- Use UNPACKDIR for source files.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit f2f2e77)
- Upgrade beep to version 1.4.12.
- Drop obsolete linux-input.patch.
- Complete recipe metadata.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit b25d863)
- Restrict gstreamer plugin overrides to the oel distro.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 90c3f29)
- Update recipe to version 1.0.
- Complete recipe metadata.
- Use recipe-local GPL-2.0 license file and UNPACKDIR.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 9aa92fc)
- Upgrade linuxconsole to version 1.8.1.
- Complete recipe metadata.
- Use UNPACKDIR and handle udev directory alignment.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit d124f42)
- Restrict weston overrides to the oel distro.
- Use append for PACKAGE_BEFORE_PN.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit b267de9)
- Upgrade wifi-connect to version 4.11.84.
- Update crates and add patches to fix builds with recent Rust.
- Fetch pre-built UI from GitHub releases.
- Complete recipe metadata.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 0949664)
Add the oelint-adv setup for linting meta-ossystems-base:

- oelint.constants.json at the layer root declares the layer's custom
  variables and machine/distro overrides; oelint-adv auto-loads it for
  any recipe in this layer, so no --constantmods is needed.
- .oelint.cfg sets the release and the one layer-wide suppression,
  auto-loaded from the working directory.
- contrib/oelint/run-oelint.sh enumerates the layer's files (oelint-adv
  does not recurse into directories) and runs oelint-adv serially, as its
  parallel workers race while loading the constants and emit spurious
  findings.

The only layer-wide suppression is oelint.var.bbclassextend: every recipe
here is target-only, so its "set BBCLASSEXTEND for native/nativesdk"
suggestion never applies and would otherwise need a redundant inline
comment on every recipe. All other exceptions stay inline as
'# nooelint: <rule.id>' comments next to the finding, so new recipes are
always fully linted and each exception is documented in place.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 9f5c8e4)
Fix the actionable findings:
- mirrors.bbclass: indent the MIRRORS/PREMIRRORS continuation lines and
  drop the legacy '\n' separators (BitBake splits on whitespace).
- image-license-checker.bbclass and others: add task[doc] strings to
  custom tasks; drop trailing whitespace and consecutive blank lines.
- ossystems-srcrev-handler.bbclass, ossystems-onsite-only-recipe-handler.bbclass:
  add a [doc] flag to the event handlers.

Document the remaining, non-applicable findings inline with
'# nooelint:' comments: dashed bbclass names (no EXPORT_FUNCTIONS),
MIRRORS/PREMIRRORS set on purpose in the mirror class, and the
anonymous python needed to SkipPackage at parse time.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 77cafb1)
Document findings that do not apply to these recipes with inline
'# nooelint:' comments instead of global suppressions:
- vars.srcuridomains: cargo crates .inc files are multi-domain by design.
- var.filesoverride: linuxconsole intentionally empties the main package.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 521e47f)
otavio and others added 16 commits June 19, 2026 16:00
telegraf links into a large binary whose PLT-to-GOT displacement exceeds
the 28-bit range of the short ARM PLT entry, tripping a BFD_ASSERT in
binutils (bfd/elf32-arm.c) at the final link:

  ld: BFD ... assertion fail ... elf32-arm.c
  collect2: error: ld returned 1 exit status

Pass --long-plt so the linker emits 16-byte long PLT entries that reach
the full address space. This is independent of how the Go modules are
fetched.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit cef1828)
Switch the recipe from the plain go-mod class -- which fetched modules
over the network during do_compile via do_compile[network] = "1" -- to
properly vendored modules.

Inherit go-mod-update-modules and require the generated
telegraf-go-mods.inc and telegraf-licenses.inc. The module zips are now
pulled and checksummed through the gomod:// fetcher at do_fetch time, so
the build no longer needs network access during compilation and the
module set is pinned and reproducible.

Many vendored module LICENSE files carry customised copyright headers
that the generic matcher cannot identify, so add files/license-hashes.csv
mapping their md5sums to the real SPDX identifiers; oe.license_finder
loads it (the same mechanism oe-core itself uses) so update_modules emits
proper licenses instead of "Unknown".

The manifests were produced with 'bitbake -c update_modules'. Drop the
now-unneeded do_compile[network] flag.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 2e01a47)
Add a GitHub Actions workflow that runs oelint-adv over the layer on
every pull request (and pushes to master), so recipe-style regressions
are caught before merge.

The linter is loaded from the shared OSSystems/yocto-env.nix flake via
its '#lint' dev shell, so CI and developers use the exact same pinned
oelint-adv. The job is advisory (continue-on-error) until our upstream
linter fixes are released; see the in-file comment for details.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 97d3ea6)
The workflow used the deprecated zeebe-io/backport-action@v0.0.4 and
relied on the default GITHUB_TOKEN, which is read-only by default, so it
could not actually create the backport branches and pull requests.

Switch to the maintained korthout/backport-action@v4, grant the
required contents and pull-requests write permissions, and bump
actions/checkout to v4. Trigger on both 'closed' and 'labeled' so a
'backport <branch>' label backports automatically on merge whether it
was added before or after merging, with no manual /backport comment.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit f93c31d)
The crate:// fetcher URIs in these autogenerated -crates.inc files all
resolve to crates.io, so the inline 'nooelint: oelint.vars.srcuridomains'
exceptions added when the rule misfired are no longer needed: the
oelint-adv carried by the yocto-env.nix '#lint' devshell (now 9.8.4) no
longer reports srcuridomains for them and instead flags the exceptions
themselves via oelint.file.inlinesuppress_na.

Remove the two exception lines so the layer lints clean. The lines are
not emitted by the cargo update_crates generator, so regenerating these
files will not bring them back.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit de392d6)
Drop continue-on-error from the OE Lint job so any oelint-adv finding
fails the workflow. The job was advisory because released oelint-adv
still tripped two false positives on our recipes (oelint-adv #889 gomod
SRC_URI support and oelint-parser #383 leftover-buffer drain). Both
fixes are now carried by the github:OSSystems/yocto-env.nix '#lint'
devshell the workflow uses, so the generated telegraf-go-mods.inc and
the custom task handlers lint clean and the gate can enforce.

Verified the layer lints clean (oelint-adv 9.8.4, zero findings) with
the stale crate suppressions removed in the preceding commit.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
(cherry picked from commit 3602d9d)
The project has moved to GitHub and the old O.S. Systems server links are
now dead. Update the contributing instructions and source code links to
point to the GitHub repository.

Additionally, the OpenEmbedded wiki page for commit guidelines has moved,
so update the reference to point to the current Yocto Project
Contributor Guide. Finally, add the maintainer information as required.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 12bd2f7)
Define the process for reporting potential vulnerabilities in the layer, allowing for reporting via GitHub issues for public bugs or via direct maintainer contact for urgent or unreleased issues.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 812fe24)
Move wifi-connect from recipes-staging into the networking-layer
dynamic layer so it is only considered when the networking layer is
active.

Add a systemd condition so the service only starts when a wireless
interface exists, and refresh the bundled patch metadata to use the
current author and oe-specific upstream status.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit d3052e8)
Set S explicitly to UNPACKDIR because this recipe only unpacks a local
configuration file. This avoids BitBake warning that the default
${UNPACKDIR}/${BP} source directory does not exist.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 0ea7347)
Mark the EasySplash animation recipes with the commercial license flag
because they unconditionally depend on gstreamer1.0-libav, which
OE-Core skips unless commercial licenses are accepted.

This lets default world builds and yocto-check-layer skip the recipes
cleanly instead of failing on an unavailable runtime dependency.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 6d797a6)
Use the existing wayland distro feature to skip the service when Wayland support is not enabled. OEL enables wayland by default, and the Weston touch calibrator package split remains tied to the oel override.

Append the required distro feature so the recipe keeps any distro feature requirements provided by inherited classes or future recipe updates.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 40800cc)
Move cog-init into a dynamic webkit layer so it is only parsed when
the layer providing cog is present.

This avoids yocto-check-layer failures under nodistro when no cog
provider is available in the checkout.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 1aa0efb)
Regenerate the Go module metadata to include
github.com/klauspost/cpuid/v2, which is required by Telegraf's
dependency graph. Without the module in SRC_URI, do_compile attempts
to fetch it from proxy.golang.org during the build.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit f7efd40)
Declare the core collection dependency in layer.conf so layer tooling
can validate the dependency already documented in the README.

Signed-off-by: Luciano Gomes <luciano.dittgen@ossystems.com.br>
(cherry picked from commit 4954305)
weston-init depends on pam being enabled and is skipped under nodistro
when DISTRO_FEATURES does not include it. Since the calibrator service
unconditionally RDEPENDS on weston-init, require pam here too so
yocto-check-layer skips the recipe instead of failing world signature
generation.

(cherry picked from commit 6a2a42f)
@otavio otavio merged commit 751da59 into OSSystemsEmbeddedLinux:wrynose Jun 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants