]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/log
thirdparty/openembedded/openembedded-core-contrib.git
2 weeks agokea: remove obsolete staticdev packaging ross/sent/lesspython
Ross Burton [Wed, 1 Jul 2026 16:25:14 +0000 (17:25 +0100)] 
kea: remove obsolete staticdev packaging

Kea doesn't build pointless static libraries for dynamically loaded
modules anymore, so remove this line.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agokea: fix python module packaging
Ross Burton [Wed, 1 Jul 2026 15:26:22 +0000 (16:26 +0100)] 
kea: fix python module packaging

This was previously installing into the wrong target directory because
it was using the python3-native's directory layout.

Now that meson.bbclass is telling meson where to put files, we need to
inherit python3-dir and package the correct files.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agoat-spi2-core: inherit python3-dir not python3targetconfig
Ross Burton [Wed, 1 Jul 2026 14:27:31 +0000 (15:27 +0100)] 
at-spi2-core: inherit python3-dir not python3targetconfig

Now that meson.bbclass tells meson where to install Python files this
recipe just needs to know the value of PYTHON_SITEPACKAGES_DIR for
FILES, so just inherit python3-dir to remove a dependency on the target
python recipe.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agopython3-pycairo: inherit python3-dir not python3targetconfig
Ross Burton [Wed, 1 Jul 2026 14:27:30 +0000 (15:27 +0100)] 
python3-pycairo: inherit python3-dir not python3targetconfig

Now that meson.bbclass tells meson where to install Python files this
recipe just needs to know the value of PYTHON_SITEPACKAGES_DIR for
FILES, so just inherit python3-dir to remove a dependency on the target
python recipe.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agoblueprint-compiler: inherit python3-dir not python3targetconfig
Ross Burton [Wed, 24 Jun 2026 15:39:34 +0000 (16:39 +0100)] 
blueprint-compiler: inherit python3-dir not python3targetconfig

Now that meson.bbclass tells meson where to install Python files this
recipe just needs to know the value of PYTHON_SITEPACKAGES_DIR for
FILES, so just inherit python3-dir to remove a dependency on the target
python recipe.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agoclasses/meson: set python install locations in the cross file
Ross Burton [Wed, 1 Jul 2026 13:06:43 +0000 (14:06 +0100)] 
classes/meson: set python install locations in the cross file

Instead of needing recipes to inherit python3targetconfig so that Python
when asked will report the correct target directory to install into, we
can pass the right directory via meson's cross file.

This means recipes that currently inherit python3targetconfig to get
this path no longer need to.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2 weeks agodhcpcd: Add PACKAGECONFIG for seccomp
Alex Kiernan [Tue, 30 Jun 2026 15:17:05 +0000 (16:17 +0100)] 
dhcpcd: Add PACKAGECONFIG for seccomp

Pass --enable/disable-seccomp to the build based on DISTRO_FEATURES.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agosanity.bbclass: warn on cargo config files outside the build tree
Hemanth Kumar M D [Thu, 25 Jun 2026 06:52:13 +0000 (23:52 -0700)] 
sanity.bbclass: warn on cargo config files outside the build tree

Cargo walks from CWD up to the filesystem root merging every
.cargo/config[.toml] it finds. Any such file above BASE_WORKDIR is
silently picked up and can override Yocto's linker, registry or
compiler settings, leading to build failures.

Until cargo provides a proper fix upstream, add a warning so users
get a clear diagnostic instead of a build error.

Upstream meta-issue: https://github.com/rust-lang/cargo/issues/9769

[YOCTO #15637]

Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agodropbear: Add missing WTFPL & Unlicense in LICENSE and LIC_FILES_CHKSUM
Yoann Congal [Tue, 30 Jun 2026 13:48:54 +0000 (15:48 +0200)] 
dropbear: Add missing WTFPL & Unlicense in LICENSE and LIC_FILES_CHKSUM

Vendored libtomcrypt and libtommath are respectively WTFPL and
Unlicense: update LICENSE to reflect that and include vendored LICENSE
files in LIC_FILES_CHKSUM to detect changes.

Note: libtomcrypt/LICENSE also specify "Public domain" but that is not a
real licence, so choose the alternative: WTFPL.

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agolibxml2: patch CVE-2026-11979
Anton Skorup [Tue, 30 Jun 2026 06:20:51 +0000 (08:20 +0200)] 
libxml2: patch CVE-2026-11979

Pick patch from [1] linked from [2].

[1] https://gitlab.gnome.org/GNOME/libxml2/-/commit/c2e233fc1b341685fc99621b2768b503f777a72e
[2] https://gitlab.gnome.org/GNOME/libxml2/-/work_items/1124

Signed-off-by: Anton Skorup <anton.skorup@axis.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agosystemd-systemctl-native: remove systemd-sysv-install logic
Ross Burton [Mon, 29 Jun 2026 14:15:59 +0000 (15:15 +0100)] 
systemd-systemctl-native: remove systemd-sysv-install logic

The use of systemd-sysv-install was removed before Wrynose[1], so we do
not need to install it in systemd-systemctl-native.

[1] oe-core d9ec9e20eeb ("systemd: Stop supporting sysvinit compatibility")

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agosystemd-systemctl-native: update MESON_TARGET for direct ninja use
Ross Burton [Mon, 29 Jun 2026 14:15:58 +0000 (15:15 +0100)] 
systemd-systemctl-native: update MESON_TARGET for direct ninja use

We can't specify the target type now that the Meson class calls ninja
directly, so drop it. This doesn't change what is built.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoclasses/meson: use ninja explicitly when compiling
Ross Burton [Mon, 29 Jun 2026 14:15:57 +0000 (15:15 +0100)] 
classes/meson: use ninja explicitly when compiling

"meson compile" is essentially a glorified wrapper around calling ninja
that doesn't support all of the options that ninja does, so calling it
directly means builds are fractionally faster and we get direct control
over the flags that ninja is passed.

A longer rationale can be found in the Gentoo change by Eli Schwartz
that caused this patch, who is both a Gentoo and Meson developer:

https://github.com/gentoo/gentoo/commit/66011abd663671947fe07835f0d9cc360f5de317

The only change is that the compile target doesn't support the optional
convenience target type, but this is rarely used.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoglib-2.0: refresh gio-querymodules install path patch
Ross Burton [Mon, 29 Jun 2026 15:39:42 +0000 (16:39 +0100)] 
glib-2.0: refresh gio-querymodules install path patch

This patch was badly rebased onto upstream changes and ended up setting
install_dir twice. Refresh the patch to change the existing value
instead of adding another.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agobc: set CVE_PRODUCT
Daniel Turull [Mon, 29 Jun 2026 13:19:35 +0000 (15:19 +0200)] 
bc: set CVE_PRODUCT

Set vendor to gnu similar as other tools from gnu
to have clear naming for registering into vulnerability management tools

Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoclang_git.bb: remove dangling comment
João Marcos Costa [Mon, 29 Jun 2026 11:06:19 +0000 (13:06 +0200)] 
clang_git.bb: remove dangling comment

CMAKE_VERBOSE is already enabled in cmake.bbclass (inherited in this
recipe). I would have considering uncommenting the line if it originally
meant to disable the verbose mode.

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agocommon-clang.inc: fix undefined name in get_clang_arch
João Marcos Costa [Mon, 29 Jun 2026 11:06:18 +0000 (13:06 +0200)] 
common-clang.inc: fix undefined name in get_clang_arch

Replace arch_val by arch_var, thus fixing:

NameError: name 'arch_val' is not defined. Did you mean: 'arch_var'?

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoavahi: upgrade 0.9-rc4 -> 0.9-rc5
Ross Burton [Mon, 29 Jun 2026 10:55:06 +0000 (11:55 +0100)] 
avahi: upgrade 0.9-rc4 -> 0.9-rc5

Notably, this has security fixes:

- common: make sure valid domain names can be normalized

  It fixes a bug where it was possible for unprivileged local users to
  crash avahi-daemon via D-Bus by calling the RecordBrowserNew method
  with bogus domain names.

- core: always create new lookups and let queriers coalesce them

  It fixes a bug where it was possible to trigger a use-after-free by
  sending CNAME RRs.

Curated upstream changelog:
- core: always create new lookups and let queriers coalesce them
- tree-wide: cast chars to unsigned chars before passing them to ctype functions
- common: make sure valid domain names can be normalized
- core: add missing check to avahi_record_copy
- core: add missing checks to avahi_dns_packet_append_name
- core: add missing checks to parse_rdata
- core: handle prefix lengths longer than 120 correctly
- core: use ip6_masklen for IPv6 prefix lengths on BSD
- core: no longer read past netmask in ip6_masklen
- core: set scope ids for link-local IPv6 addresses
- tests: cover oversize rdata rejection in avahi_rdata_parse
- dns: reject rdata larger than the 16 bit rdlength field
- common: free copy instead of NULL on failures in string_list_copy
- common: add missing checks to avahi_alternative_*
- core: free copy's HINFO 'os' field on rdata copy failure
- core: fill out msg_controllen for IPV6_PKTINFO control messages correctly
- tests: call functions with side effects outside of assertions
- tests: call avahi_string_list_parse outside of assert
- fix: replace __FUNCTION__ with __func__ in AVAHI_WARN_UNSUPPORTED

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agogdk-pixbuf: upgrade 2.44.6 -> 2.44.7
Ross Burton [Mon, 29 Jun 2026 10:55:05 +0000 (11:55 +0100)] 
gdk-pixbuf: upgrade 2.44.6 -> 2.44.7

Upstream changes:

- xpm: Fix loading the xpm module if built-in
- glycin: Fix the build on 32bit
- glycin: Use fwrite to avoid problems with saving
- glycin: Add signature for webp
- glycin: Make filename tricks work in pid namespaces
- Translation updates

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agopango: upgrade 1.57.1 -> 1.58.0
Ross Burton [Mon, 29 Jun 2026 10:55:04 +0000 (11:55 +0100)] 
pango: upgrade 1.57.1 -> 1.58.0

Upstream changes:

* PangoFontDescription has a new width attribute, which is like stretch,
  but allows intermediate values

* PangoRenderer has gained the ability to render only certain components
  of a layout (such overlines, underlines, text,...)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoqemu: set the compilation progress bar flag
Ross Burton [Mon, 29 Jun 2026 10:11:36 +0000 (11:11 +0100)] 
qemu: set the compilation progress bar flag

Qemu uses meson to build but wraps it in Makefiles, so we don't get the
progress bar assignment from meson.bbclass.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agooeqa: allow exceptions in buildpath HOME checks
Alexander Kanavin [Sat, 27 Jun 2026 07:55:30 +0000 (09:55 +0200)] 
oeqa: allow exceptions in buildpath HOME checks

Sometimes upstreams hardcode directories that match
users' own home directories, which triggers a false
positive in the test:

https://lore.kernel.org/yocto/An64.1782521077873496785.i3e6@lists.yoctoproject.org/

It's very hard to programmatically establish what is
hardcoded in the original source, and what is a genuine
build contamination, so this adds a way to specify such
occurences in recipes.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agoboost: upgrade 1.90.0 -> 1.91.0
Alexander Kanavin [Sat, 27 Jun 2026 07:55:29 +0000 (09:55 +0200)] 
boost: upgrade 1.90.0 -> 1.91.0

Drop 'system' from BOOST_LIBS, as it seems
to be header-only (no separate shared library)
in the new version.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agokea: upgrade 3.0.3 -> 3.2.0
Alexander Kanavin [Sat, 27 Jun 2026 07:55:28 +0000 (09:55 +0200)] 
kea: upgrade 3.0.3 -> 3.2.0

Drop patches, as they're either backports
or not necessary anymore (issue solved upstream
differently).

Drop a chunk from fix-multilib-conflict.patch
as the file has been removed upstream.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agosystemtap: upgrade 5.4 -> 5.5
Alexander Kanavin [Sat, 27 Jun 2026 07:55:27 +0000 (09:55 +0200)] 
systemtap: upgrade 5.4 -> 5.5

Drop a backport, rebase a readline patch
(it may be hard to read, but the + and - sections are reordered),
add a reproducibility tweak.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agowebkitgtk: upgrade 2.50.6 -> 2.52.4
Alexander Kanavin [Sat, 27 Jun 2026 07:55:25 +0000 (09:55 +0200)] 
webkitgtk: upgrade 2.50.6 -> 2.52.4

Disable on 32 bit x86: upstream doesn't test the build for it, it has regressed,
and it's just not a relevant or useful target for a web engine in 2026.

Drop patch merged upstream.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agopkgconf: exclude pre-releases from version checks
Alexander Kanavin [Sat, 27 Jun 2026 07:55:23 +0000 (09:55 +0200)] 
pkgconf: exclude pre-releases from version checks

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 weeks agobaremetal-helloworld: Fix override order
Khem Raj [Sat, 27 Jun 2026 02:20:02 +0000 (19:20 -0700)] 
baremetal-helloworld: Fix override order

In current state it does not work as intended.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/selftest/pkgdata: add a test for variable consistency in multilib
Jaeyoon Jung [Mon, 11 May 2026 03:11:51 +0000 (12:11 +0900)] 
oeqa/selftest/pkgdata: add a test for variable consistency in multilib

There was a case where a package's LICENSE in a multilib build is not
expanded properly and it ends up with fallback to the main LICENSE value
which is unexpected. This adds a selftest for that; verify the pkgdata
variable LICENSE is identical between the base and multilib packages.

Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agomultilib: extend variables after packages split
Jaeyoon Jung [Mon, 11 May 2026 03:11:50 +0000 (12:11 +0900)] 
multilib: extend variables after packages split

A new function do_rename_package_variables() that invokes
ClassExtender.rename_package_variables() is appended to
PACKAGESPLITFUNCS in order to extend per-package variables in
PACKAGEVARS for all packages including dynamically split ones.

[RP: Add comment to the code explaining why we need to do this]
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/selftest: add copydebugsources tests
Anders Heimer [Fri, 26 Jun 2026 15:04:46 +0000 (17:04 +0200)] 
oeqa/selftest: add copydebugsources tests

Cover multiple source-prefix mappings, recipe-sysroot and compiler
entry filtering, filenames requiring safe argument handling, symlink
dereferencing, tolerated cpio copy failures, empty-directory cleanup,
and externalsrc relocation.

Exercise paths containing spaces and glob metacharacters, leading-dash
filenames, mv overwrite behavior, an empty relocation directory, and a
source copy failure which leaves the prefix-specific destination
uncreated.

AI-Generated: Claude Opus 4.6

Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopackage: replace copydebugsources shell pipelines
Anders Heimer [Fri, 26 Jun 2026 15:04:45 +0000 (17:04 +0200)] 
package: replace copydebugsources shell pipelines

Replace the sort/grep/sed parts of copydebugsources with Python
filtering on the NUL-separated source list. Keep cpio since it is
faster than doing it in python.

Use an explicit prefix + "/" match before stripping the prefix so source
selection is limited to files in the mapped debug source directory.

Replace the find/sed symlink fixup pipeline with os.walk() plus cpio,
use an argv-list mv for the externalsrc relocation, and pass the
empty-directory find command as an argv list.

The first cpio copy pass continues to ignore failures as before since
some inputs are expected to fail. The symlink fixup copy still reports
cpio failures.

Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agollvm/mesa/rust: simplify llvm-config handling
Deepesh Varatharajan [Fri, 12 Jun 2026 03:46:43 +0000 (20:46 -0700)] 
llvm/mesa/rust: simplify llvm-config handling

Replace PATH-based llvm-config discovery with explicit sysroot-native
resolution and simplify the target llvm-config wrapper to act as a pure
pass-through while preserving Yocto alternate path handling.

The previous implementation relied on:

* `which -a llvm-config | sed -n 2p`
   which is unreliable in cross-build environments because it only
   searches executables present in $PATH. Native sysroot tools
   (e.g. recipe-sysroot-native llvm-config) are not guaranteed to be
   exposed via PATH, so they may not be discovered at all.

* `echo $base_libdir | sed -n '/lib64/p'`
   which depends on a BitBake variable that may be empty or unset
   in certain build contexts, leading to incorrect libdir selection.

Update the wrapper to:

* Use an @LLVM_CONFIG_PATH@ placeholder that is replaced during the
  build with the appropriate native llvm-config path.
* Detect libdir using filesystem inspection rather than variable
  parsing.
* Preserve `YOCTO_ALTERNATE_EXE_PATH` and
  `YOCTO_ALTERNATE_LIBDIR` handling.
* Delegate all arguments directly to the native llvm-config.

Update rust and mesa recipes to replace the placeholder with the native
llvm-config path during target and nativesdk builds.

Also remove the native llvm-config copy logic and lib/lib64 symlink
workarounds, relying instead on explicit native tool resolution.

Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agobitbake.conf: drop opencl from DISTRO_FEATURES_FILTER_NATIVE/_NATIVESDK
Dmitry Baryshkov [Fri, 26 Jun 2026 20:06:16 +0000 (23:06 +0300)] 
bitbake.conf: drop opencl from DISTRO_FEATURES_FILTER_NATIVE/_NATIVESDK

Since the commit ac5e0160df78 ("mesa: depend on mesa-tools-native for
less expensive libclc dependency"), there is no mesa -> mesa-native
dependency anymore, thus there is no need to propagate the opencl
DISTRO_FEATURE. Drop it from DISTRO_FEATURES_FILTER_NATIVE and
_NATIVESDK.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3: skiptest tracemalloc_track_race
Kris Gavvala [Fri, 26 Jun 2026 18:48:32 +0000 (11:48 -0700)] 
python3: skiptest tracemalloc_track_race

In python3 ptests, tracemalloc_track_race fails with a segfault.
To avoid ptest failures for now, skip the test.

Fixes [YOCTO #16182]
Upstream Issue: https://github.com/python/cpython/issues/143143

Signed-off-by: Kris Gavvala <kris.gavvala@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoclasses/gtk-doc: inherit python3native only if gtk-doc is enabled
Ross Burton [Fri, 26 Jun 2026 15:13:25 +0000 (16:13 +0100)] 
classes/gtk-doc: inherit python3native only if gtk-doc is enabled

Use inherit_defer to only inherit python3native (thus, a dependency on
python3-native) when gtk-doc is actually enabled.

This is useful in native builds where gtk-doc is disabled and so will no
longer depend on python3-native.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoshared-mime-info: remove python3native dependency
Ross Burton [Fri, 26 Jun 2026 15:13:24 +0000 (16:13 +0100)] 
shared-mime-info: remove python3native dependency

This was added in the shared-mime-info 1.15 upgrade[1] with no rationale,
I suspect it was for itstool-native which is no longer used[2]. At least,
none of the dependencies would need python3-native over the host python3.

[1] oe-core 09ef7f8e4b9 ("shared-mime-info: upgrade 1.10 -> 1.15")
[2] oe-core 8ca8687b336 ("shared-mime-info: drop itstool-native from DEPENDS")

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agolib/sstatesig: use the SHA256 fastpath in bitbake/utils.py
Ross Burton [Fri, 26 Jun 2026 13:42:21 +0000 (14:42 +0100)] 
lib/sstatesig: use the SHA256 fastpath in bitbake/utils.py

Instead of iterating through a file by hand to hash it, call into the
hashing code in bitbake's utils.py.  This uses mmap() instead of plain
file operations which is ~30% faster in benchmarks[1], and will speed
up hash calculations when writing sstate.

[1] On my build machine, hashing a 300MB kernel image 100 times takes
    34s with open() and 26s with mmap()

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agocreate-spdx-image-3.0: correct SSTATE_SKIP_CREATION key for do_create_image_sbom_spdx
Eric Meyers [Fri, 26 Jun 2026 13:16:30 +0000 (08:16 -0500)] 
create-spdx-image-3.0: correct SSTATE_SKIP_CREATION key for do_create_image_sbom_spdx

The override was "task-create-image-sbom" but BitBake derives it as
"task-create-image-sbom-spdx" (do_ stripped, underscores to hyphens), so
the skip was never applied. The task then cached an ${IMAGE_NAME}-stamped
SBOM in sstate, letting a stale spdx.json be restored via setscene. A
later do_sbom_cve_check would compute the current IMAGE_NAME and fail with
"No such file or directory" on the missing timestamped SBOM. Correct the
key so the image SBOM is always regenerated, never restored from sstate.

Signed-off-by: Eric Meyers <eric.meyers@arthrex.com>
Cc: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agodlopen-deps.inc: treat soname list as ordered alternatives
Daniel Turull [Fri, 26 Jun 2026 07:38:07 +0000 (09:38 +0200)] 
dlopen-deps.inc: treat soname list as ordered alternatives

The .note.dlopen format defines the soname array as a list of
alternatives (e.g. ["libcrypt.so.2", "libcrypt.so.1"]). The previous
code warned for every soname that was not found, even when an earlier
entry in the list already satisfied the dependency.

Select the first available provider and only warn when no alternative
can be resolved.

AI-Generated: Claude-opus-4.6
Signed-off-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoinstall-buildtools: add --local-file option
Jaipaul Cheernam [Thu, 25 Jun 2026 17:06:20 +0000 (19:06 +0200)] 
install-buildtools: add --local-file option

Add --local-file so that bitbake-setup (or any other caller that
already fetched and verified the installer) can pass a local path
directly without re-downloading.

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoinstall-buildtools: refactor fetch and install logic
Jaipaul Cheernam [Thu, 25 Jun 2026 17:06:19 +0000 (19:06 +0200)] 
install-buildtools: refactor fetch and install logic

Pull the download and checksum code into fetch_buildtools() and
switch subprocess calls from shell=True to list form.

No functional change.

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3-certifi: upgrade 2026.5.20 -> 2026.6.17
Tim Orling [Thu, 25 Jun 2026 16:53:17 +0000 (09:53 -0700)] 
python3-certifi: upgrade 2026.5.20 -> 2026.6.17

d46de62 Bump actions/checkout from 6.0.2 to 6.0.3 (#417)
6c183ec fix: update Requests docs link to canonical URL (#415)
36e3568 Bump dessant/lock-threads from 6.0.0 to 6.0.2

For full comparison of changes, see [2].

[2] https://github.com/certifi/python-certifi/compare/2026.05.20...2026.06.17

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoncurses: fix split wide library and pkg-config installs
Luca Fancellu [Thu, 25 Jun 2026 13:31:06 +0000 (14:31 +0100)] 
ncurses: fix split wide library and pkg-config installs

Add a patch which makes generated install/install.libs targets depend
on the installed shared-library set. Without this, a wide install after
a narrow install can install libticw and the secondary wide libraries
while leaving libncursesw.so missing.

Also patch the misc install rule to regenerate pkg-config files during
install.libs instead of relying on the pc-files stamp. The stamp is not
one of the generated .pc files, so an existing build tree can contain a
stale stamp while the .pc files that must be installed into a clean
DESTDIR are missing.

Recipes such as procps use pkg-config to detect ncurses, so missing
ncursesw.pc makes configure fail with errors like
`ncurses support missing/incomplete`.

Fixing the misc Makefile keeps the install target self-contained and
avoids a recipe-side workaround that deletes ncurses' internal pc-files
stamp before rerunning the misc install.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoe2fsprogs: fix parallel library build ordering
Luca Fancellu [Thu, 25 Jun 2026 13:30:39 +0000 (14:30 +0100)] 
e2fsprogs: fix parallel library build ordering

Add a patch which fixes ordering problems in parallel e2fsprogs builds
with --enable-elf-shlibs.

Library subdirectories can otherwise return from "make all" before both
the static archive and the ELF shared library image have been created.
Consumers from other subdirectories can then link against incomplete or
incorrect artifacts.
On x86-64 this can make libext2fs.so fall back to the non-PIC
libcom_err.a and fail on R_X86_64_TPOFF32 relocations from
lib/et/error_message.o.

The patch also tightens lib/ss ordering so generated files and install
directories are present before parallel consumers use them.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agocpio_2.15.bb: delete unnecessary RDEPENDS of "ptest-runner"
Robert P. J. Day [Thu, 25 Jun 2026 08:15:56 +0000 (04:15 -0400)] 
cpio_2.15.bb: delete unnecessary RDEPENDS of "ptest-runner"

Since all ptest-enabled recipes already have an RRECOMMENDS of
ptest-runner, there is no value in listing it in RDEPENDS as well.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agojansson: Fix build with lld linker
Khem Raj [Wed, 24 Jun 2026 23:21:19 +0000 (16:21 -0700)] 
jansson: Fix build with lld linker

jansson hard-codes -Wl,--default-symver on glibc, which ld.lld does not
understand. Probe the linker for the option before using it so the recipe
builds with the clang/lld toolchain as well as GNU ld.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agosbom-cve-check-update-nvd-native: update to version 2026.06.24-000003
Benjamin Robin (Schneider Electric) [Wed, 24 Jun 2026 16:53:56 +0000 (18:53 +0200)] 
sbom-cve-check-update-nvd-native: update to version 2026.06.24-000003

Update fkie-cad/nvd-json-data-feeds to the CVE database from 2026-06-24.

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agosbom-cve-check-update-cvelist-native: update to version 2026-06-24
Benjamin Robin (Schneider Electric) [Wed, 24 Jun 2026 16:53:55 +0000 (18:53 +0200)] 
sbom-cve-check-update-cvelist-native: update to version 2026-06-24

Update cvelistV5 to the CVE database from 2026-06-24.

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3-sbom-cve-check: update to version 1.3.2
Benjamin Robin (Schneider Electric) [Wed, 24 Jun 2026 16:53:54 +0000 (18:53 +0200)] 
python3-sbom-cve-check: update to version 1.3.2

For details on this new release, see:
https://github.com/bootlin/sbom-cve-check/releases/tag/v1.3.2

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3-spdx-python-model: update from version 0.0.5 to 0.0.6
Benjamin Robin (Schneider Electric) [Wed, 24 Jun 2026 16:53:53 +0000 (18:53 +0200)] 
python3-spdx-python-model: update from version 0.0.5 to 0.0.6

Drop the patch which should no longer be necessary. This is a partial
revert of f6557000abc90b0c3b7ca5b4560849e64425c853

Signed-off-by: Benjamin Robin (Schneider Electric) <benjamin.robin@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3-maturin: upgrade 1.14.0 -> 1.14.1
Tim Orling [Wed, 24 Jun 2026 16:28:36 +0000 (09:28 -0700)] 
python3-maturin: upgrade 1.14.0 -> 1.14.1

Upstream release notes [1]:

1.14.1

* Bump uraimo/run-on-arch-action to v3 to fix pytest job (#3221)
* Fix platform tag logic to generate the same as cpython on AIX (#3220)
* Bump pyo3-introspection (#3227)
* Upgrade cargo-zigbuild & cargo-xwin (#3228)
* Fix issues around crates enabling abi3 and abi3t features (#3226)
* Add PEP 740 publish attestations to PyPI releases (#3230)
* Set PYO3_PYTHON to run scripts for stable ABI builds (#3233)
* Fix shell quoting in CI scripts (#3231)

For full comparison of changes see [2].

[1] https://www.maturin.rs/changelog.html#1141
[2] https://github.com/PyO3/maturin/compare/v1.14.0...v1.14.1

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agobusybox: fdisk: enable GPT support
Michael Tretter [Wed, 24 Jun 2026 14:31:34 +0000 (16:31 +0200)] 
busybox: fdisk: enable GPT support

busybox' fdisk has optional support for GPT partitions. Since GPT
support is currently disabled in openembedded-core, fdisk cannot be used
to inspect the GPT partition table on block devices on the target.

Make fdisk useful on systems with GPT partitions by enabling
CONFIG_FEATURE_GPT_LABEL.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agocurl: update 8.20.0 -> 8.21.0
Markus Volk [Wed, 24 Jun 2026 12:46:39 +0000 (14:46 +0200)] 
curl: update 8.20.0 -> 8.21.0

After updating oe-core and meta-openembedded I see this error in curl build:
| configure: detected GnuTLS version 3.8.13
| checking for nettle_MD5Init in -lgnutls... no
| checking for x86_64-oe-linux-pkg-config... (cached) /home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/curl/8.20.0/recipe-sysroot-native/usr/bin/pkg-config
| checking for nettle options with pkg-config... found
| checking for nettle_MD5Init in -lnettle... no
| configure: error: GnuTLS found, but nettle was not found

This issue has already been fixed upstream and a new curl version was released today -> update to fix build

- adjust no-test-timeout.patch
- remove backported patches

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/oelib: test patch command argv handling
Anders Heimer [Wed, 24 Jun 2026 12:44:07 +0000 (14:44 +0200)] 
oeqa/oelib: test patch command argv handling

Exercise fallback patch metadata with an author, date and committer name
containing spaces so direct argv execution passes those values to Git
without shell quoting.

Also cover the GitApplyTree and PatchTree run=False paths so
manual-resolution command generation continues to return argv lists
without applying the patch. Use patch filenames with spaces to verify
the paths remain single argv elements.

AI-Generated: Claude Opus 4.6

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: return manual-resolution commands as argv lists
Anders Heimer [Wed, 24 Jun 2026 12:44:06 +0000 (14:44 +0200)] 
oe/patch: return manual-resolution commands as argv lists

PatchTree and GitApplyTree now generate patch commands as argv lists
when run=False.

Pass run through when pushing one patch and return the command without
advancing the current patch state. Use shlex.join() when writing the
command to the manual resolver's shell startup file.

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: pass GitApplyTree commands as argv lists
Anders Heimer [Wed, 24 Jun 2026 12:44:05 +0000 (14:44 +0200)] 
oe/patch: pass GitApplyTree commands as argv lists

After removing PATCHFILE from the git-am command, the GitApplyTree apply
and commit commands no longer need shell syntax. Build the commands as
argv lists and pass them directly to runcmd().

Remove shell quoting from git -c, --author and --date arguments now that
those values are passed directly to Git instead of through sh -c. Update
the devtool upgrade caller to use shlex.join() when it still embeds
those options in a shell command string.

Keep run=False command generation as argv lists and avoid adding notes or
committing fallback changes when no command was run. Run the dirty-tree
status check from self.dir so it inspects the patch tree consistently.

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/oelib: test GitApplyTree patch names
Anders Heimer [Wed, 24 Jun 2026 12:44:04 +0000 (14:44 +0200)] 
oeqa/oelib: test GitApplyTree patch names

Exercise both the git-am path and the fallback commit path through
GitApplyTree.Import() and Push(). Verify that refs/notes/devtool records
the original patch filename and that extractPatches() recreates patches
with that name.

AI-Generated: Claude Opus 4.6

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
AssertionError: Lists differ: ['Fal[45 chars] 'OE Test', 'oe-test@example.com', '2021-01-01T12:34:56Z'] != ['Fal[45 chars] 'OE Test', 'oe-test@example.com', '2021-01-01T12:34:56+00:00']
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: remove obsolete PATCHFILE assignment
Anders Heimer [Wed, 24 Jun 2026 12:44:03 +0000 (14:44 +0200)] 
oe/patch: remove obsolete PATCHFILE assignment

PATCHFILE was used by an older Git hook to preserve the original
patch filename. Current GitApplyTree records that filename in
refs/notes/devtool and extractPatches() reads the note when recreating
patches.

No current OE-Core, BitBake or installed hook consumer remains, so
remove the unused environment assignment. This to simplify the runcmd
argv-list changes.

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: avoid shell pipeline in _applypatch
Anders Heimer [Wed, 24 Jun 2026 12:44:02 +0000 (14:44 +0200)] 
oe/patch: avoid shell pipeline in _applypatch

Use patch -i to read the patch file directly instead of running
cat through a shell pipeline.

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: convert simple runcmd shell callers
Anders Heimer [Wed, 24 Jun 2026 12:44:01 +0000 (14:44 +0200)] 
oe/patch: convert simple runcmd shell callers

Replace simple sh -c runcmd() users with direct argv calls where the
commands do not need shell syntax.

Also replace the cat-to-file redirection used when appending patch files
with shutil.copyfile().

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/oelib: add runcmd tests
Anders Heimer [Wed, 24 Jun 2026 12:44:00 +0000 (14:44 +0200)] 
oeqa/oelib: add runcmd tests

Cover literal argv handling, explicit shell use, subprocess exit
status, and exec failure wrapping.

AI-Generated: Claude Opus 4.6

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe/patch: drop shell=True from runcmd
Anders Heimer [Wed, 24 Jun 2026 12:43:59 +0000 (14:43 +0200)] 
oe/patch: drop shell=True from runcmd

Run runcmd() argument lists directly instead of joining them into a
shell command string.

Callers that still require shell syntax continue to invoke sh -c
explicitly and are left for separate cleanup.

Running Popen with shell=True could return shell status 127/126.
Preserve that behavior by translating the errno codes.

Unrelated bug fix: Stop shifting the return code by 8 bits.
subprocess.Popen.returncode is already the process exit status.

Reviewed-by: Daniel Turull <daniel.turull@ericsson.com>
Signed-off-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agorust: backport explicit-tail-calls test skips for unsupported LLVM targets
Peter Tatrai [Wed, 24 Jun 2026 10:11:15 +0000 (12:11 +0200)] 
rust: backport explicit-tail-calls test skips for unsupported LLVM targets

oe-selftest for rust fails on powerpc and other architectures where LLVM
does not fully support musttail lowering, causing:

  LLVM ERROR: failed to perform tail call elimination on musttail marked calls

Add an upstream backport patch that marks the affected explicit-tail-calls
tests as ignored on unsupported LLVM targets.

Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agotar: Fix CVE-2026-5704
Himanshu Jadon [Fri, 19 Jun 2026 04:02:50 +0000 (21:02 -0700)] 
tar: Fix CVE-2026-5704

Backport the upstream 3-commit fix chain for CVE-2026-5704.

The final CVE fix is [1], which depends on the earlier cleanup in [2]
and the behavioral change in [3]. Keep this patch order so the final
fix applies cleanly and preserves the upstream logic.

Also include upstream follow-up [4] to fix the --no-overwrite-dir ptest
regression caused by the CVE backport. Without this follow-up, tar can
temporarily chmod an existing directory even when --no-overwrite-dir is
used, which breaks the upstream --no-overwrite-dir ptest.

[1] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=b8d8a61b25588caca4efaf9bdd2e3f1a49da77e3
[2] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=112ead79312ea308e58414b74623f101b8c06f0b
[3] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=b009124ffde415515081db844d7a104e1d1c6c58
[4] https://cgit.git.savannah.gnu.org/cgit/tar.git/commit/?id=4e742fc8674064a9fa00d4483d06aca48d5b0463
[5] https://security-tracker.debian.org/tracker/CVE-2026-5704

Signed-off-by: Himanshu Jadon <hjadon@cisco.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agolibcap: add ptest support
Kris Gavvala [Tue, 16 Jun 2026 02:35:45 +0000 (19:35 -0700)] 
libcap: add ptest support

These ptests include a subset of upstream
tests that provide functional coverage of core libcap and libpsx
behavior across target systems.

This approach is preferred instead of using libcap's quicktest.sh
script because the later assumes the upstream build-tree layout and
has too many dependencies not available after installation.
Quicktest exercises a wide range of kernel capability features and
environment-specific functionality that is too comprehensive for ptests.

The ptests include the following from libcap/tests:
uns_test, psx_test, libcap_launch_test, exploit and
noexploit. cap_test from libcap/libcap is also included.

These provide coverage for capability manipulation, libpsx
integration, launch handling, and basic security validation.

Signed-off-by: Kris Gavvala <kris.gavvala@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agovim-tiny: bugfix for lack of defaults.vim
Zheng Ruoqin [Mon, 22 Jun 2026 06:32:18 +0000 (14:32 +0800)] 
vim-tiny: bugfix for lack of defaults.vim

When vim-tiny was used in image, it lacks defaults.vim file which will cause following error
root@qemux86-64:~# vi
E1187: Failed to source defaults.vim
Press ENTER or type command to continue

So add a new patch to fix this issue.

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooeqa/selftest/devtool: add regression test for kernel cfg in subdirs
Siva Balasubramanian [Wed, 24 Jun 2026 11:26:08 +0000 (16:56 +0530)] 
oeqa/selftest/devtool: add regression test for kernel cfg in subdirs

Add test_devtool_modify_kernel_cfg_subdirs which exercises a
kernel-yocto recipe whose .scc file and the .cfg fragments it
references (via "kconf"/"patch" lines) live in separate
FILESEXTRAPATHS subdirectories (bsp/ and cfg/). This reproduces the
layout from [YOCTO #15169], where devtool modify previously failed
with FileNotFoundError while trying to copy the .cfg files: the path
was computed as dirname(<.scc file>) + <cfg filename>, which broke
whenever the .cfg file was not in the same directory as the .scc file
that references it.

The offending copy logic was removed in ce8190c519 ("devtool: Drop
oe-local-files and simplify"); this test guards against a regression.
Verified the test fails on d9328e3b0b (pre-fix, FileNotFoundError)
and passes on current master.

Signed-off-by: Siva Balasubramanian <sivakumar.bs@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoclang/llvm: add missing instance of Distro class in Linux.cpp
João Marcos Costa [Tue, 23 Jun 2026 12:08:16 +0000 (14:08 +0200)] 
clang/llvm: add missing instance of Distro class in Linux.cpp

This instance will be used to perform the checks added by do_preconfigure
task, such as "Distro.IsOpenEmbedded()", or "Distro.IsPOKY()".

Without such instance, the compiler raises an "expected unqualified-id" error.

Something similar is performed by another patch, by the way:

0009-clang-Define-releative-gcc-installation-dir.patch:+  Distro Distro(D.getVFS(), TargetTriple);
0009-clang-Define-releative-gcc-installation-dir.patch:+           Distro.IsOpenEmbedded()},

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agollvm-project-source.inc: fix end of line in triple variable
João Marcos Costa [Tue, 23 Jun 2026 12:08:15 +0000 (14:08 +0200)] 
llvm-project-source.inc: fix end of line in triple variable

After the return statement, a "," is present while a ";" is expected.

This leads to something like:

...return "x86_64-poky-linux",

Fix this syntax error by replacing "," with a ";".

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agollvm-project-source.inc: fix string replacements in do_preconfigure
João Marcos Costa [Tue, 23 Jun 2026 12:08:14 +0000 (14:08 +0200)] 
llvm-project-source.inc: fix string replacements in do_preconfigure

Both CLANG_EXTRA_OE_DISTRO_CASE and CLANG_EXTRA_OE_DISTRO_TRIPLE are
added by the same patch:

0016-llvm-clang-Insert-anchor-for-adding-OE-distro-vendor.patch

and they are supposed to be replaced by a couple of sed commands in
do_preconfigure. However, sed looks for CLANG_EXTRA_OE_DISTRO_CASES (and
CLANG_EXTRA_OE_DISTRO_TRIPLES) and since none is found, the code is left
with the dangling comment like so:

@ clang/lib/Driver/ToolChains/Linux.cpp
82     if (TargetEnvironment == llvm::Triple::GNUX32)
83       return "x86_64-linux-gnux32";
84     //CLANG_EXTRA_OE_DISTRO_TRIPLE
85     return "x86_64-linux-gnu";

Fix that by removing the 'S' in the end of ..._CASES and ..._TRIPLES.

Another way to fix this would be to directly change the patch, but
simply changing do_preconfigure feels cleaner.

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agogo-vendor.bbclass: Remove vendor symlink
John Ripple [Mon, 22 Jun 2026 23:03:30 +0000 (17:03 -0600)] 
go-vendor.bbclass: Remove vendor symlink

The go-vendor class creates a symlink at the end of do_go_vendor between
the vendor.fetch location and the vendor folder used by go to find
vendored sources. The do_vendor_unlink task originally removed the
symlink created in the S directory but only after it had already been
copied to the D directory.

The do_go_vendor and do_vendor_unlink tasks were never tied together.
This caused file not found errors on subsequent builds where the
do_vendor_unlink task was re-run without the do_go_vendor task being
re-run. Leaving the symlink in S and only deleting the symlink copied to
D fixes this issue.

Signed-off-by: John Ripple <john.ripple@keysight.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agogo-vendor.bbclass: Unpack into BP for destsuffix
John Ripple [Mon, 22 Jun 2026 23:03:29 +0000 (17:03 -0600)] 
go-vendor.bbclass: Unpack into BP for destsuffix

The go-vendor class has a hardcoded destsuffix variable used to unpack
sources fetched with the go_src_uri function. This was causing a conflict
with insane.bbclass which prohibts setting S = "${UNPACKDIR}/git" which
was needed to find the vendored sources in the hardcoded location.
Changing this unpack location to use the standard base package name (BP)
fixes the previous issue and no longer requires manually setting S in the
recipes that use go-vendor.

Signed-off-by: John Ripple <john.ripple@keysight.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agouboot-sign: allow customizing the FIT configuration description
Ricardo Salveti [Mon, 22 Jun 2026 18:09:09 +0000 (18:09 +0000)] 
uboot-sign: allow customizing the FIT configuration description

The U-Boot fitImage configuration node description was hardcoded to
"Boot with signed U-Boot FIT". Some targets need a board/hardware
specific configuration description so the correct configuration can be
identified when the SPL loads the U-Boot FIT (SPL -> u-boot.itb).

When CONFIG_SPL_LOAD_FIT is enabled, the SPL selects a U-Boot FIT
configuration via fit_find_config_node(), which matches each
configuration node's "description" property against the board's
board_fit_config_name_match() hook. Boards that override this hook
(e.g. CZ.NIC Turris MOX matching "armada-3720-turris-mox", Engicam
i.CoreM6 matching "imx6q-icore", StarFive VisionFive2 and Siemens
IOT2050) require the description to be a specific board/DT-derived
string. The previously hardcoded "Boot with signed U-Boot FIT" can
never match such a hook; it only works by falling through to the
default configuration and breaks when the right configuration must be
selected by name.

Introduce UBOOT_FIT_CONF_DESC to make the configuration node
description overridable, mirroring the existing UBOOT_FIT_DESC variable
used for the root node description. The default value preserves the
previous behaviour, so existing layers are unaffected.

Signed-off-by: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agospdx: Add custom annotations to recipe packages
Joshua Watt [Mon, 22 Jun 2026 16:01:24 +0000 (10:01 -0600)] 
spdx: Add custom annotations to recipe packages

In addition to adding custom annotations to the build, add them to the
recipe as well.

Historically in the SPDX 2.2 implementation, there was no concept of a
"build" and instead just a "recipe" SPDX package that represented both
the recipe itself and the build that produced the runtime packages. The
custom annotations were attached to this package. When SPDX 3 was first
introduced, this unified recipe package was not kept and instead only a
build object was created to represent the production of the runtime
packages; as such the custom annotations were attached to this build.
Later, it was desired to re-introduce a package to represent the recipe
itself for various reasons, however the custom annotations were not
attached to the recipe object at that time.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agokernel-fit-image.bbclass: Fix operation with KERNEL_DTBVENDORED = "1"
Marek Vasut [Thu, 18 Jun 2026 19:04:21 +0000 (21:04 +0200)] 
kernel-fit-image.bbclass: Fix operation with KERNEL_DTBVENDORED = "1"

In the case KERNEL_DTBVENDORED = "1" , the fitImage configuration
subnode names used to contain the vendor prefix in OE 5.0 , e.g.:
"
$ mkimage  -l fitImage
...
 Configuration 0 (conf-freescale_imx8mn-board.dtb)
                       ^^^^^^^^^^
...
"

With OE 6.0 this is no longer the case and KERNEL_DTBVENDORED = "1"
and KERNEL_DTBVENDORED = "0" behave exactly the same way:
"
$ mkimage  -l fitImage
...
 Configuration 0 (conf-imx8mn-board.dtb)
...
"

Users depend on the correct configuration subnode names as those
are used in the U-Boot "bootm" command when booting fitImages.

Fix this by converting each entry in the KERNEL_DEVICETREE list
into the configuration subnode name by replacing all of its path
separators with underscores.

Fixes: 05d0c7342d76 ("kernel-fit-image.bbclass: add a new FIT image implementation")
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agokernel-fit-image.bbclass: Do not include kernel property in DTBO config subnodes
Marek Vasut [Tue, 16 Jun 2026 22:06:38 +0000 (00:06 +0200)] 
kernel-fit-image.bbclass: Do not include kernel property in DTBO config subnodes

The OE 5.0 implementation of fitImage generation did not include the
kernel property in DTBO configuration node subnodes, while the current
OE 6.0 implementation does. The previous implementation was correct,
because kernel together with only a DTBO overlay can not form bootable
result. The kernel property should only be part of the configuration
subnode which includes both kernel and DTB. Fix this.

Fixes: 05d0c7342d76 ("kernel-fit-image.bbclass: add a new FIT image implementation")
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: Do not expect kernel property in DTBO config subnodes
Adrian Freihofer [Sun, 21 Jun 2026 10:11:59 +0000 (12:11 +0200)] 
oe-selftest: fitimage: Do not expect kernel property in DTBO config subnodes

A DTBO overlay together with only a kernel cannot form a bootable result,
so DTBO configuration subnodes should not include the kernel property.
Update _get_req_its_fields() accordingly: skip appending
'kernel = "kernel-1"' for .dtbo files, aligning it with
_get_req_sections() which already handles this correctly.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: stop hardcoding MACHINE and DISTRO in tests
Adrian Freihofer [Fri, 19 Jun 2026 11:17:14 +0000 (13:17 +0200)] 
oe-selftest: fitimage: stop hardcoding MACHINE and DISTRO in tests

Several fitimage selftests hardcoded DISTRO = "poky" and
MACHINE:forcevariable = "beaglebone-yocto".  That is wrong for two
reasons:
- poky is not part of OE-core
- a non-weak MACHINE assignment conflicts with environments that set the
  machine via OE_FRAGMENTS (bitbake fatal()s when both are present)

Replace both patterns with a machine-aware approach built on the
_MACHINE_SETTINGS table introduced by the previous commit:

- Tests that need machine-specific variables (KERNEL_DEVICETREE,
  UBOOT_MACHINE, UBOOT_DTB_BINARY, FIT_CONF_DEFAULT_DTB, …) now call
  _get_machine_or_skip() at the start. This reads the current MACHINE
  from the build environment. When the machine is not listed in
  _MACHINE_SETTINGS the test is skipped rather than failed, keeping the
  suite green on machines that have not been enumerated yet. Also not
  all architectures are used with fitimage, so skipping is the right
  behavior for machines that do not support it. Maybe we can add more
  machines later.

- The required variables are then injected into the bitbake config string
  via _config_add_machine_settings(), passing only the subset of keys
  each test actually needs.

- Tests that require an optional board capability (ATF/TEE, SPL with
  device-tree) call _require_machine_capability(), which also skips the
  test automatically when the machine does not advertise that capability.

- DISTRO = "poky" is removed; the tests run under whatever distro the
  caller has configured.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: add machine settings table and skip helpers
Adrian Freihofer [Fri, 19 Jun 2026 11:17:13 +0000 (13:17 +0200)] 
oe-selftest: fitimage: add machine settings table and skip helpers

Add a _MACHINE_SETTINGS class-level dict to FitImageTestCase that maps
each supported MACHINE name to the bitbake variables its tests need:
KERNEL_DEVICETREE, FIT_CONF_DEFAULT_DTB, UBOOT_MACHINE, UBOOT_DTB_BINARY,
UBOOT_ARCH, SPL_BINARY and optional capability sub-dicts (_cap_spl_dtb,
_cap_atf_tee, _bl31_image).

Supported machines: qemuarm, qemuarm64, qemux86-64.

Add five helpers that tests will call in subsequent commits:
- _get_machine_settings(machine): return the settings dict.
- _config_add_machine_settings(config, machine, keys=None): append
  a requested subset of settings to a config string.
- _get_machine_capability(machine, cap_name): return a capability
  sub-dict, or None if absent.
- _require_machine_capability(self, config, machine, cap_name): append
  a capability's variables or call self.skipTest() when absent.
- _get_machine_or_skip(self): read MACHINE at runtime and skip the test
  gracefully when the machine is not listed in _MACHINE_SETTINGS.

Add extra variables to both _fit_get_bb_vars implementations:
- KernelFitImageBase: add UBOOT_FIT_ARM_TRUSTED_FIRMWARE*, UBOOT_FIT_TEE*
  so that _gen_atf_tee_dummy_images() can resolve image paths for any
  machine that has ATF/TEE in its FIT image.
- UBootFitImageTests: add TOPDIR (needed to resolve ${TOPDIR} in
  _bl31_image paths), UBOOT_FIT_ARM_TRUSTED_FIRMWARE_IMAGE, and
  UBOOT_FIT_TEE_IMAGE (needed by _gen_atf_tee_dummy_images).

Add BL31 injection logic to UBootFitImageTests._bitbake_fit_image():
when _MACHINE_SETTINGS declares a '_bl31_image' path for the active
machine, generate a minimal ELF64 dummy at that path and inject it via
EXTRA_OEMAKE:append before calling bitbake. This is needed for sunxi/
Allwinner arm64 boards where binman parses BL31 as ELF at build time.

No test code is changed in this commit; all new helpers are dead code
until the following commit wires them in.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: replace MACHINE==qemux86-64 guards with KERNEL_SETUP_BIN
Adrian Freihofer [Fri, 19 Jun 2026 11:17:12 +0000 (13:17 +0200)] 
oe-selftest: fitimage: replace MACHINE==qemux86-64 guards with KERNEL_SETUP_BIN

On x86, the kernel build produces setup.bin which is packed as a separate
section in the FIT image. The existing code used MACHINE == "qemux86-64"
as a proxy to detect this, which is fragile and non-composable.

Replace all such guards with a KERNEL_SETUP_BIN variable that is set to
the filename ("setup.bin") when the artifact is present, or left empty
otherwise.

Also fix the signing verification helpers for machines without DTBs
(e.g. qemux86-64 that uses conf-1 instead of conf-<dtb>.dtb):

- _get_req_sigvalues_config(): make "fdt" conditional in sign-images;
  x86 FIT images have no DTB sections, so the ITS only signs "kernel".
- _check_signing(): when conf-1 has no matching DTB filename, fall back
  to UBOOT_DTB_IMAGE as the key-holding DTB for fit_check_sign; if that
  is also absent, skip the cryptographic check and log a debug message.
- _fit_get_bb_vars(): fetch UBOOT_DTB_IMAGE needed by the above.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: replace bbb-dtbs-as-ext with test-dtbs-as-ext
Adrian Freihofer [Fri, 19 Jun 2026 11:17:11 +0000 (13:17 +0200)] 
oe-selftest: fitimage: replace bbb-dtbs-as-ext with test-dtbs-as-ext

bbb-dtbs-as-ext is tightly coupled to the beaglebone-yocto BSP: it
requires kernel sources from that machine to compile the TI DTS files and
is restricted to COMPATIBLE_MACHINE = "^(beaglebone-yocto)$".  This makes
the external-DTB FIT image selftests impossible to run on any other
machine. The beaglebone-yocto BSP is not part of oe-core.

Replace it with the machine-agnostic test-dtbs-as-ext recipe added in the
previous commit. test-dtbs-as-ext ships self-contained DTS files with no
kernel source dependencies and sets COMPATIBLE_MACHINE = ".*".

Changes:
- Delete bbb-dtbs-as-ext.bb and its DTS source files (am335x-bonegreen-ext.dts,
  BBORG_RELAY-00A2.dts).
- Update _get_dtb_files() to recognise test-dtbs-as-ext as the virtual/dtb
  provider and return the new filenames (test-ext.dtb, test-overlay.dtbo,
  test-ext-alias.dtb).
- Update test_get_compatible_from_dtb() to build test-dtbs-as-ext, check for
  the new compatible string "oe-selftest,test-ext", and drop the
  beaglebone-yocto MACHINE / poky DISTRO overrides that were only needed
  for the old recipe.
- Update test_fit_image_ext_dtb_dtbo() to set
  PREFERRED_PROVIDER_virtual/dtb = "test-dtbs-as-ext".
- Update test_fitimage_py_conf_mappings_with_alias() to use the new DTB and
  symlink names.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: add machine-agnostic test-dtbs-as-ext recipe
Adrian Freihofer [Fri, 19 Jun 2026 11:17:10 +0000 (13:17 +0200)] 
oe-selftest: fitimage: add machine-agnostic test-dtbs-as-ext recipe

Add a minimal, fully standalone device-tree recipe for use by the
fitimage selftests.  The two source files have no kernel-source
dependencies, so the recipe builds on any OE-core machine without
requiring a BSP layer.

test-ext.dts   -- a tiny /dts-v1/ tree with a single aliases node and
                  an oe-selftest,test-ext compatible string.
test-overlay.dts -- a /plugin/ overlay referencing the root node.

COMPATIBLE_MACHINE = ".*" so the recipe is accepted on every target.

A test-ext-alias.dtb symlink is created in both do_install and
do_deploy (mirroring the alias pattern used by the external-DTB
fitimage tests) so that the configuration-node alias code path is
exercised.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agooe-selftest: fitimage: replace _gen_random_file with _gen_elf64_dummy
Adrian Freihofer [Fri, 19 Jun 2026 11:17:09 +0000 (13:17 +0200)] 
oe-selftest: fitimage: replace _gen_random_file with _gen_elf64_dummy

Some boards (e.g. RK3399 with evb-rk3399_defconfig) use binman to build
U-Boot and require BL31 to be a structurally valid ELF file so binman can
parse the load/entry addresses. A plain random-byte file fails with
"Magic number does not match".

Add _gen_atf_tee_dummy_images(bb_vars) which generates both the ATF and
TEE dummy binaries when the corresponding bb_vars keys are set. Tests
will call this helper instead of duplicating the generate-and-path logic.

So far this is a refactoring without functional changes, but it will be
used in a follow-up commit when we are going to replace the beaglebone
MACHINE by other MACHINEs which require a structurally valid ELF for
BL31.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: check for meta-selftest
Trevor Gamblin [Thu, 18 Jun 2026 20:36:32 +0000 (16:36 -0400)] 
scripts/patchtest: check for meta-selftest

The patchtest suite (in particular, the selftests) makes use of the
meta-selftest layer for full operation. Make sure that the layer is
added to bblayers.conf before kicking off any test runs.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: clean up main()
Trevor Gamblin [Thu, 18 Jun 2026 20:36:31 +0000 (16:36 -0400)] 
scripts/patchtest: clean up main()

- Reference PatchtestParser members directly instead of setting local
  variables
- Remove unused variables
- Declare 'ret' just before where it gets used
- Use subprocess.run() instead of os.popen() for a cleaner 'git status'
  call
- Remove unnecessary square brackets in the status_matches if block
- Remove unneeded try-finally block

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: simplify run()
Trevor Gamblin [Thu, 18 Jun 2026 20:36:30 +0000 (16:36 -0400)] 
scripts/patchtest: simplify run()

Set premerge_result and postmerge_result directly by calling
getResult(), instead of doing it in multiple stages with confusing
variable names.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: simplify traceback logging, remove whitespace
Trevor Gamblin [Thu, 18 Jun 2026 20:36:29 +0000 (16:36 -0400)] 
scripts/patchtest: simplify traceback logging, remove whitespace

We currently use the logging module to wrap tracebacks when a failure
occurs. The traceback module is sufficient for this task, so use it
directly. Also remove a redundant import of the traceback module, and
fix some whitespace in the getResult class that was missed previously.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: simplify _runner()
Trevor Gamblin [Thu, 18 Jun 2026 20:36:28 +0000 (16:36 -0400)] 
scripts/patchtest: simplify _runner()

- Use the test suite's countTestCases() method directly instead of
  creating a variable
- Simplify return logic - we still want to fail early if there are no
  test suites to use, but otherwise we can reduce it to a single return
  value determination based on the result of runner.run()
- Add a newline above where the 'runner' variable is initialized

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: clean up startTestRun()
Trevor Gamblin [Thu, 18 Jun 2026 20:36:27 +0000 (16:36 -0400)] 
scripts/patchtest: clean up startTestRun()

- Initialize self.repo directly instead of in two steps
- Remove extra whitespace when setting error and failure members

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoscripts/patchtest: refactor results methods
Trevor Gamblin [Thu, 18 Jun 2026 20:36:26 +0000 (16:36 -0400)] 
scripts/patchtest: refactor results methods

The add{Error,Failure,Success,Skip} methods used by the inner
PatchTestResult class re-use a lot of nearly-identical code. Encapsulate
the logic used into two new functions:

1. _format_test_description(), which includes all of the original
   syntax/tag cleanup logic
2. _write_patchtest_result(), which formats the actual result lines that
   patchtest ultimately emits (to console and/or file)

selftest:

|============================================================================
|Testsuite summary for patchtest
|============================================================================
|# TOTAL: 38
|# XPASS: 18
|# XFAIL: 18
|# XSKIP: 2
|# PASS: 0
|# FAIL: 0
|# SKIP: 0
|# ERROR: 0
|============================================================================

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agoqemuboot.bbclass: add missing task dependency on kernel deploy
Siva Balasubramanian [Fri, 12 Jun 2026 08:58:22 +0000 (14:28 +0530)] 
qemuboot.bbclass: add missing task dependency on kernel deploy

do_write_qemuboot_conf had no dependency on the kernel deploy task,
so if the kernel was rebuilt without invalidating the rootfs sstate,
the task was skipped and .qemuboot.conf was left stale while new
image artifacts were deployed with a new timestamp suffix.

Add do_write_qemuboot_conf[depends] on KERNEL_DEPLOY_DEPEND using a
Python inline expression that skips the dependency when
INITRAMFS_IMAGE_BUNDLE=1. When the initramfs is bundled into the
kernel, linux-yocto:do_deploy depends on the initramfs image
completing first, so an unconditional kernel deploy dependency on
do_write_qemuboot_conf would create a circular dependency.

KERNEL_DEPLOY_DEPEND is defined with ?= in image.bbclass and is
already used by do_build[depends] for the same reason.

Fixes: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14520
Signed-off-by: Siva Balasubramanian <sivakumar.bs@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agomesa: fix INSANE_SKIP package name for mesa-gl
Antoine Gouby [Wed, 24 Jun 2026 09:56:58 +0000 (11:56 +0200)] 
mesa: fix INSANE_SKIP package name for mesa-gl

mesa.inc is shared by both mesa.bb and mesa-gl.bb. The variable
INSANE_SKIP:${PN}-megadriver expands to mesa-gl-megadriver when
included by mesa-gl.bb, but the package is always named mesa-megadriver
(hardcoded via PACKAGES =+). The skip therefore had no effect for
mesa-gl builds.

This was hidden until mesa 26.1.0 removed the with_gbm condition from
the dril subdir build, causing mesa-gl to now install DRI driver
symlinks into mesa-megadriver for the first time.

Use ${MLPREFIX}mesa-megadriver to correctly handle both mesa-gl builds
(where MLPREFIX is empty) and multilib variants (where it expands to
e.g. "lib32-").

Signed-off-by: Antoine Gouby <antoine.gouby@toradex.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopython3-cython: make generated _cyutility.c be reproducible
Zhixiong Chi [Wed, 24 Jun 2026 04:58:16 +0000 (12:58 +0800)] 
python3-cython: make generated _cyutility.c be reproducible

While python3 module use cython to build shared moudle utility library,
the generated source file _cyutility.c is not stable at each build and
made the generated library not be reproducible.

When the option "--generated-shared" is used to generated __cyutility as the
link https://github.com/scikit-learn/scikit-learn/pull/31151/files, the path
for filename_table in the generated pyx/c file contains tmp dir which is not
predictable though it has been updated to the relative path, and it caused
the generated output file is not stable at each build and made the generated
library is not reproducible [1] between builds.

example as python3_pandas:

vim build/_cyutility.c
......
/* #### Code section: filename_table ### */

static const char* const __pyx_f[] = {
  "../../../../../../../../../../../../tmp/tmpXXXXXX/_cyutility.pyx",
  "<stringsource>",
};

After applied this commit, vim build/_cyutility.c
......
/* #### Code section: filename_table ### */

static const char* const __pyx_f[] = {
  "_cyutility.pyx",
  "<stringsource>",
};

This commit use SharedUtilitySourceDescriptor instead of unpredictable
temporary directory unpredictable tmpdir in the generated source file
to assure the file _cyutility.c should be reproducible.

[1] https://reproducible-builds.org/

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agorecipes.txt: correct misspelled "utilties"
Robert P. J. Day [Tue, 23 Jun 2026 08:22:41 +0000 (04:22 -0400)] 
recipes.txt: correct misspelled "utilties"

Fix "utilties" to "utilities".

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agolocal.conf.sample.extended: update fortran example
João Marcos Costa [Mon, 22 Jun 2026 08:39:26 +0000 (10:39 +0200)] 
local.conf.sample.extended: update fortran example

Since Whinlatter [1], FORTRAN is set by a weak assignment, so the
':forcevariable' is no longer needed.

Update the example accordingly, and replace the outdated comments above.

[1]: https://git.openembedded.org/openembedded-core/commit/?id=50abae55eda0115d073bbc6552f2fcb4ecbb7949

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agodmidecode: fix x86-only tools being installed on ARM targets
Wei Gao [Mon, 22 Jun 2026 07:00:50 +0000 (15:00 +0800)] 
dmidecode: fix x86-only tools being installed on ARM targets

The dmidecode Makefile uses $(shell uname -m) to detect architecture, which
returns the build host's arch (x86_64) during cross-compilation. This causes
x86-only utilities (biosdecode, vpddecode, ownership) to be incorrectly built
and installed on ARM targets.

On NVIDIA Tegra234, running biosdecode triggers a flood of CBB fabric
DECODE_ERR interrupts (23,568+ printk messages dropped) by scanning
non-existent x86 BIOS memory at 0xF0000-0xFFFFF.

Fix by passing TARGET_ARCH to the Makefile's MACHINE variable, so it correctly
detects the target architecture and skips x86-only tools on ARM builds.

Signed-off-by: Wei Gao <wei.gao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agocmake-native: prevent host libidn2 contamination
Jaipaul Cheernam [Thu, 18 Jun 2026 07:54:05 +0000 (09:54 +0200)] 
cmake-native: prevent host libidn2 contamination

The bundled cmcurl in CMake 4.3.x unconditionally enables USE_LIBIDN2
and calls find_package(Libidn2). On hosts with libidn2-devel installed
(common on RHEL/EL8), this detects the host library during configure
but the compile fails because the compiler is correctly restricted to
the native sysroot:

  fatal error: idn2.h: No such file or directory

This was introduced in the upgrade from CMake 3.28.x to 4.3.x, where
the bundled cmcurl added find_package(Libidn2) for IDN support.

cmake-native does not need IDN support in its internal curl usage.
Use CMAKE_DISABLE_FIND_PACKAGE_Libidn2 to prevent the host package
from being found without patching the source.

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Reviewed-by: Anders Heimer <anders.heimer@est.tech>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agonospdx: also drop do_create_recipe_sbom
Hiago De Franco [Fri, 19 Jun 2026 18:34:06 +0000 (15:34 -0300)] 
nospdx: also drop do_create_recipe_sbom

create-spdx-3.0 adds do_create_recipe_sbom, which assembles the recipe
SBOM from the SPDX document produced by do_create_recipe_spdx.

nospdx deletes do_create_recipe_spdx but leaves do_create_recipe_sbom
in, so on a recipe that inherits nospdx it has no SPDX document to read
and, if executed, fails with:

  ERROR: meta-world-pkgdata-1.0-r0 do_create_recipe_sbom: Could not find
  a static SPDX document named static-meta-world-pkgdata

do_create_recipe_sbom is reachable via sbom-cve-check-recipe.bbclass or
explicit "bitbake -c create_recipe_sbom". In those cases nospdx recipes
such as meta-world-pkgdata break. Delete it alongside the other recipe
SPDX task.

Signed-off-by: Hiago De Franco <hfranco@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
3 weeks agopackagegroup-core-base-utils.bb: delete duplicate "PACKAGE_ARCH" line
Robert P. J. Day [Fri, 19 Jun 2026 17:56:20 +0000 (13:56 -0400)] 
packagegroup-core-base-utils.bb: delete duplicate "PACKAGE_ARCH" line

Given that this assignment:

  PACKAGE_ARCH = "${MACHINE_ARCH}"

is immediately before the line:

  inherit packagegroup

it's pointless to also have it afterwards.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>