If this was originally intended to be an actual warning, it was not
behaving as such: echo only prints to log.do_patch, so the message ends
up hidden there.
Replace 'echo' by bbverbnote to display the message (as a NOTE) correctly.
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>
Peter Marko [Fri, 20 Mar 2026 07:30:31 +0000 (08:30 +0100)]
glib-2.0: upgrade 2.86.4 -> 2.88.0
Deleted patches included in this release.
Refreshed patches and resolved conflicts.
Reworked relocate-modules.patch because of upstream commit which moved
the code we were using into macos specific function, so get the code
back to place we need it.
* https://gitlab.gnome.org/GNOME/glib/-/commit/9adec080ab80787eb53ef4dafaa1561e31731a6a
Release notes with filtered "bugs fixed" and "translation updates":
Overview of changes in GLib 2.88.0, 2026-03-16
Overview of changes in GLib 2.87.5, 2026-03-12
* Brown paper bag release to attempt to fix the dist-job in CI; this caused it to be impossible to build a release archive for 2.87.4
Overview of changes in GLib 2.87.4, 2026-03-12
* Avoid installing broken symlinks as part of the test data for the gdatetime tests (!5054 (merged), work by Alessandro Astone)
* Fix g_file_set_contents() with non-ASCII filenames on Windows (#3873 (closed), work by Lukas K.)
Overview of changes in GLib 2.87.3, 2026-02-25
* Improved support for GNotification on Windows (#3867 (closed), #3869 (closed), work by Oscar Pernia Moreno)
* Fix module lookups via GModule on Cygwin (#3741 (closed), work by Ailin Nemui)
* Fix local timezone lookup with nested symlinks in /etc/localtime (#3816 (closed), work by Alessandro Astone)
* Fix ordering and sequential consistency of gatomic memory barriers on MSVC and fallback GCC code paths (#3829 (closed), #3852 (closed), work by Luca Bacci)
* Fix various integer overflow bugs (#3870 (closed), #3871 (closed), #3872 (closed), CVE-2026-1484, CVE-2026-1485, CVE-2026-1489, work by Marco Trevisan)
* Add GSocketControlMessage subclasses for receiving IP_TOS and IPV6_TCLASS (!4846 (merged), work by Jakub Adam)
* Support polling more than 1024 FDs on macOS (!4953 (merged), work by Ihar Hrachyshka)
* Remove platform-specific backward compatibility from GLib-2.0 as it’s impossible to support (#3839 (closed), !4881 (merged), work by Marco Trevisan)
* Improve introspection annotations for delimiters on g_strsplit_set() (this may require changes in introspection bindings)
* Basic support for building and running some functionality on tvOS and watchOS (!4992 (merged), work by Nirbheek Chauhan)
* Add g_get_monotonic_time() variant with nanosecond precision (!5004 (merged), work by Benjamin Otte)
Overview of changes in GLib 2.87.2, 2026-01-19
* Add initial support for GNotification on Windows (#3857 (closed), work by Oscar Pernia Moreno)
Overview of changes in GLib 2.87.1, 2025-12-30
* Several low-risk CVE fixes (#3827 (closed), #3834 (closed), #3845 (closed))
* Fix return type of gi_callable_info_get_closure_native_address() (#3859 (closed), work by Philip Chimento)
* Tweak thread pool handling for GTask threads to prevent stalls (#3840 (closed), work by Ignazio Pillai)
* Respect NO_COLOR environment variable in log output (!4898 (merged), work by Aaron Andersen)
* Update file system type lists to mark more file system types as system ones and to recognise ntfs3 file systems (!4916 (merged) and #3828 (closed), work by Christian Hergert and Alexander Schwinn)
* Add G_GNUC_FLAG_ENUM attribute to mark enums as flags (!4900 (merged), work by Philip Chimento)
* Add a static CRT constructor and fusion manifest XML for GLib utilities on Windows so that stderr can be unbuffered and streams are flushed on exit (#3733 (closed), work by Luca Bacci)
* Fix G_FILE_MONITOR_WATCH_HARD_LINKS on Windows (#3819 (closed), work by Jehan)
Overview of changes in GLib 2.87.0, 2025-11-03
* Update to Unicode 17.0.0 (!4793 (merged), work by Peng Wu)
* Support runtime extensions to gdbus-codegen tool to allow modifying its output in project-specific ways (!4812 (merged), work by Sebastian Wick)
* Use document portal to open all the URIs for snaps (!4822 (merged), work by Marco Trevisan)
* Add g_markup_parse_context_get_offset() API for getting error locations in XML files (!4879 (merged), work by Matthias Clasen)
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Shaik Moin [Thu, 19 Mar 2026 18:23:17 +0000 (23:53 +0530)]
libpcre2: Enabling Ptest support
Install libpcre2 test suite and run it as ptest.
Add tests for POSIX wrapper (pcre2posix_test), core PCRE2 engine (RunTest), and grep utility (RunGrepTest).
pcre2posix_test: Verifies the POSIX wrapper API
RunTest: Executes the core PCRE2 test suite through pcre2test
RunGrepTest: Checks pcre2grep to ensure its grepping style matching works as expected with various patterns and input files.
Ross Burton [Fri, 20 Mar 2026 12:27:29 +0000 (12:27 +0000)]
class/pkgconfig: use pkgconf instead of pkgconfig
The last meaningful change to freedesktop.org pkgconfig was in 2019, but
pkgconf is actively maintained.
Major distributions such as Fedora (and derivates), Debian (ditto), Arch
Linux, Buildroot, and Alpine have all moved to pkgconf already.
There's a subtle behaviour change between pkgconfig and pkgconf, whereas
pkgconfig appends the sysroot to PKG_CONFIG_SYSTEM_INCLUDE_PATH pkgconf
does not, so we need to sysroot-prefix those variables.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 20 Mar 2026 12:27:28 +0000 (12:27 +0000)]
pkgconf: minimise wrapper
There's no need to look at the passed arguments and unset variables, we
want fdo's pkgconfig behaviour when called from the pkg-config wrapper
and this can be done by exporting PKG_CONFIG_FDO_SYSROOT_RULES.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jörg Sommer [Wed, 18 Mar 2026 05:16:44 +0000 (06:16 +0100)]
systemd: Populate udev-bash-completion before bash-completion
The `inherit bash-completion` places its package at the front of
PACKAGE_BEFORE_PN. So this picks up the udevadm file before
udev-bash-completion is populated. Therefore, u-b-c has to go to the front
of PACKAGE_BEFORE_PN.
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nora Schiffer [Wed, 18 Mar 2026 15:24:36 +0000 (16:24 +0100)]
systemd-bootconf: do not modify build directory in do_install
do_install should only modify ${D}, otherwise rerunning the task will
have inconsistent results. In the case of systemd-bootconf, a second run
of do_install without rerunning do_configure (for example after modifying
it in a bbappend) fails altogether, as loader.conf would be missing.
Rather than fixing this up by deleting loader.conf from ${D} instead of
${S} after copying *.conf, clean up systemd-boot-cfg.bbclass not to
store loader.conf at the same location as the individual entries in the
first place, so they can be copied separately. While we're at it, also
change the recipe to make use of the variables defined by the class.
systemd: add detailed debug logging to fdset_new_fill()
Currently, when fdset_new_fill() fails to open /proc/self/fd or
encounters an error while processing individual file descriptors
(such as fcntl or fstat failures), it returns a silent error code.
For debugging rarely reproducible failures it becomes difficult to
know the exact cause of failure
This commit updates the function to use log_debug_errno() for all
error paths and hence provides better visibility into why FD collection
failed, including the path of the problematic FD (via fd_get_path)
and its inode type.
Jörg Sommer [Thu, 19 Mar 2026 09:26:07 +0000 (10:26 +0100)]
nfs-utils: Add RDEPENDS netbase
The package netbase has to be installed. Otherwise nfs-server.service fails
to start, because /etc/services is missing:
sh[584]: nfsdctl: getaddrinfo of "(null)" failed: Servname not supported for ai_socktype
sh[584]: nfsdctl: Error: Protocol not supported
sh[584]: nfsdctl: Error: Invalid argument
sh[583]: rpc.nfsd: unable to resolve ANYADDR:nfs: Servname not supported for ai_socktype
sh[583]: rpc.nfsd: Unable to request RDMA services: Protocol not supported
sh[583]: rpc.nfsd: unable to set any sockets for nfsd
systemd[1]: nfs-server.service: Main process exited, code=exited, status=1/FAILURE
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Functional changes:
- New Vulkan renderer. A "vulkan" PACKAGECONFIG option has been
added to enable building it, and it is enabled if "vulkan" is
present in DISTRO_FEATURES, similar to how X11 and Wayland are
handled. A post-release change has been backported to fix
building the new backend with X11 or Wayland disabled.
- New Lua shell. A "lua-shell" PACkAGECONFIG option has been added
to enable building it, but it has not been enabled by default to
avoid affecting build times.
- Fullscreen shell and screen-share module marked as deprecated.
Their PACKAGECONFIG options have been updated to still work, but
have not been renamed to avoid breaking working configurations.
- Perfetto support. A "perfetto" PACKAGECONFIG option has been
added to enable building it, but it is not on by default due
to meta-oe being required to build.
- The "client-no-resize" option for the RDP backend has been
replaced with "resizeable/no-resizeable" to match the VNC
backend. The example in weston.ini has been updated.
Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 19 Mar 2026 10:13:24 +0000 (18:13 +0800)]
python3-testtools: upgrade 2.8.3 -> 2.8.7
Improvements
------------
* Fix an issue with "iterate_tests", which was recently changes to insist
on accepting an instance of "unittest.TestSuite", breaking some users.
* Improve the type annotations for "testtools.testcase.TestCase.skipTest"
* Correct a URL in the README
* Improve the type annotations for "testtools.testcase.TestCase.assertRaises".
This method will now be typed correctly when called as a method or as a
context manager.
* Fix the type annotations for "testtools.testcase.TestCase.useFixture"
* Clear "force_failure" in "_reset()" so that re-running a test
after an "expectThat" failure can succeed if successful conditions are met again.
* Make "extract_result()" and "DeferredNotFired" public APIs in
"testtools.twistedsupport". These utilities are useful for extracting
results from synchronous Deferreds in tests.
* Add support for "unittest.TestCase.subTest". Failures are reported
individually while the entire test method is still treated as a single test.
* Add "testtools.matchers.test" module providing a test harness for
users who write their own custom matchers.
Changes
-------
* Re-add compat helpers and helper modules that were accidentally removed
in a patch release, breaking API compatibility. These are now deprecated
and will be removed in a future major release.
* "typing-extensions" is no longer required at runtime; it is only needed
for type checking.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 19 Mar 2026 10:13:21 +0000 (18:13 +0800)]
python3-setuptools: upgrade 82.0.0 -> 82.0.1
Changelog:
=============
- Fix the loading of launcher manifest.xml file.
- Replaced deprecated json.__version__ with fixture in tests.
- Add advice about how to improve predictability when installing sdists
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 19 Mar 2026 10:13:19 +0000 (18:13 +0800)]
python3-pyopenssl: upgrade 25.3.0 -> 26.0.0
Changes:
- Added support for using aws-lc instead of OpenSSL.
- Properly raise an error if a DTLS cookie callback returned a cookie longer
than DTLS1_COOKIE_LENGTH bytes. Previously this would result in a
buffer-overflow. Credit to dark_haxor for reporting the issue. CVE-2026-27459
- Added OpenSSL.SSL.Connection.get_group_name to determine which group name was
negotiated.
- Context.set_tlsext_servername_callback now handles exceptions raised in the
callback by calling sys.excepthook and returning a fatal TLS alert.
Previously, exceptions were silently swallowed and the handshake would proceed
as if the callback had succeeded. Credit to Leury Castillo for reporting this
issue. CVE-2026-27448
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 19 Mar 2026 10:13:17 +0000 (18:13 +0800)]
python3-numpy: upgrade 2.4.2 -> 2.4.3
Changelog:
============
- MAINT: Prepare 2.4.x for further development
- BUG: Fix some leaks found via LeakSanitizer
- MAINT: Synchronize 2.4.x submodules with main
- TYP: matlib: missing extended precision imports
- BUG: Fix weak hash function in np.isin().
- BUG: fix infinite recursion in np.ma.flatten_structured_array...
- BUG: Fix buffer overrun in CPU baseline validation
- BUG: Fix busdaycalendar's handling of a bool array weekmask....
- BUG: Fix reference leaks and NULL pointer dereferences
- MAINT: fix two minor issues noticed when touching the C API setup
- ENH: Test .kind not .char in np.testing.assert_equal
- BUG: fix type issues in uses if PyDataType macros
- MAINT: Don't use vulture 2.15, it has false positives
- MAINT: update openblas
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:40 +0000 (07:44 -0600)]
spdx: Update to latest bindings
Updates the to bindings generated from version 1.0.0 of shacl2code.
These bindings make some changes to the way extension classes are
generated, add support for context in generate SPDX files, and are about
25% faster and more space efficient than the previous version
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:39 +0000 (07:44 -0600)]
spdx: Remove do_collect_spdx_deps task
Removes the do_collect_spdx_deps task. This task was added a long time
ago, and appears to have been added due to a misunderstanding about how
the task graph works. It is not necessary since tasks can directly call
collect_direct_deps() with the appropriate task that they depend on to
get their dependencies.
This should fix several classes of SPDX bug where documents could not be
found because the wrong deps were being looked for due to which tasks
were re-run
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:36 +0000 (07:44 -0600)]
spdx: Remove fatal errors for missing providers
When creating images and SDKs, do not error on missing providers. This
allows recipes to use the `nospdx` inherit to prevent SPDX from being
generated, but not result in an error when assembling the final image.
Note that runtime packages generation already ignored missing
providers, so this is changing image and SDK generation to match
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:35 +0000 (07:44 -0600)]
spdx30: Remove package VEX
Removes VEX statements from packages. These are no longer necessary
since the VEX data is now attached to the recipes, which significantly
reduces the duplication of the data, and thus the size of the SPDX
output files.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:34 +0000 (07:44 -0600)]
spdx_common: Check for dependent task in task flags
Checks that the task being used to detect dependencies is present in at
least one dependency task flag of the current task. This helps prevent
errors where the wrong task is specified and never found.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:33 +0000 (07:44 -0600)]
spdx: De-duplicate CreationInfo
De-duplicates CreationInfo objects that are identical (except for ID)
when writing out an SBoM. This significantly reduces the number of
CreationInfo objects that end up in the final document.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:32 +0000 (07:44 -0600)]
spdx30: Include patch file information in VEX
Modifies the SPDX VEX output to include the patches that fix a
particular vulnerability. This is done by adding a `patchedBy`
relationship from the `VexFixedVulnAssessmentRelationship` to the `File`
that provides the fix.
If the file can be located without fetching (e.g. is a file:// in
SRC_URI), the checksum will be included.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 18 Mar 2026 13:44:29 +0000 (07:44 -0600)]
spdx3: Add recipe SPDX data
Adds a new package to the SPDX output that represents the recipe data
for a given recipe. Importantly, this data contains only things that can
be determined statically from only the recipe, so it doesn't require
fetching or building anything. This means that build time dependencies
and CVE information for recipes can be analyzed without needing to
actually do any builds.
Sadly, license data cannot be included because NO_GENERIC_LICENSE means
that actual license text might only be available after do_fetch
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Wed, 18 Mar 2026 10:10:25 +0000 (18:10 +0800)]
packagegroup-core-tools-profile: add lttng-modules to LTTNGTOOLS
It has removed lttng-modules from lttng-tools's RRECOMMENDS, so add
lttng-modules to LTTNGTOOLS in packagegroup-core-tools-profile.bb to
make its dependent packages unchanged.
[RP: Fix for riscv64 which doesn't support lttng-modules] Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Wed, 18 Mar 2026 10:10:24 +0000 (18:10 +0800)]
lttng-tools: not rrecommend on lttng-modules
As in the lttng manual [1]:
Most distributions mark the LTTng-modules and LTTng-UST packages as
optional when installing LTTng-tools (which is always required). In
the following sections, we always provide the steps to install all
three, but note that:
* You only need to install LTTng-modules if you intend to use the
Linux kernel LTTng tracer.
* You only need to install LTTng-UST if you intend to use the user
space LTTng tracer.
there should be no force dependency between lttng-tools and
lttng-modules. When set lttng-modules in RRECOMMENDS, it always forces
to build lttng-modules whether it is required or not.
Compare to rpm spec [2] and debian conf [3], there are no any dependency
between them too.
Ricardo Ungerer [Tue, 17 Mar 2026 22:03:50 +0000 (22:03 +0000)]
documentation.conf: Add LICENSE_FLAGS related variables
The LICENSE_FLAGS, LICENSE_FLAGS_ACCEPTED, and LICENSE_FLAGS_DETAILS
documented in [1] are not listed in documentation.conf. This commit adds
them to the documentation.conf file.
Highlights in v2026.03.0:
- Security fix: signed FIT image vulnerability fixed; users doing
secure boot with signed FIT images should update to this release
- Added Rockchip RK3562 SoC support along with KickPi K3 board
- USB Fastboot now supports booting Linux kernels generically across
architectures (previously limited to ARM32 zImage)
- CI infrastructure gained PowerPC Qemu test coverage
- ARM NXP i.MX8MP: Fixed SoC UID incorrectly reading 64bit instead of
128bit; enable CONFIG_ARCH_IMX8MP_KEEP_COMPATIBLE_SOC_UID if rolled
out devices depend on constant SoC UID
For full release notes, see:
https://lore.kernel.org/barebox/abQ56zuKfzKlZvcr@pengutronix.de/T/#u
Dropped a local patch 0001-barebox-tools-fix-glibc-2.43-openat2-build.patch
as it has been merged now with this release.
Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/qemurunner: make the error message about invalid rootfs clearer
Printing "Invalid rootfs" when the rootfs image simply doesn't exist can
be misleading to the user. Print a clearer message to help users understand
the issue.
Signed-off-by: Corentin Guillevic <corentin.guillevic@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sunil Dora [Tue, 17 Mar 2026 11:15:37 +0000 (04:15 -0700)]
gdb: Upgrade 16.3 -> 17.1
GDB 17.1 includes the following changes and enhancements:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-17.1-release
* x86-64 CET shadow stack support
* Debugging Linux programs that use AArch64 Guarded Control Stacks
* GDB record feature now supports rv64gc architectures
* 'info threads' command support for two new options '-stopped' and '-running'
to limit the list of displayed threads.
* On Linux and FreeBSD, the addresses shown by the 'info sharedlibrary' command
are now for the full memory range allocated to the shared library.
* Linux checkpoints now work with multiple inferiors
* Improved linker namespace support
* Warnings and error messages now start with an emoji (warning sign,
or cross mark) if supported by the host charset. Configurable.
* Built-in support for TLS on Linux as backup when libthread_db is not
available. Supported on the x86_64, aarch64, ppc64, s390x, and riscv
architectures, when compiled with GLIBC or MUSL.
* New command "set riscv numeric-register-names" to display risc-v
registers using their numeric names instead of their ABI names.
* The Alpha target now supports target descriptions.
* Python API enhancements
* Support for Python versions older than 3.4 has been removed.
Jose Quaresma [Tue, 17 Mar 2026 16:22:12 +0000 (16:22 +0000)]
sanity: condition hash equivalence warnings to when it is in use.
The warnings about the hash equivalence server are only valid when the signature is
being used, and for that we have to check the BB_SIGNATURE_HANDLER variable.
This fix the warning that is displayed when using the basic signature hash, OEBasicHash.
| WARNING:
| You are using a local hash equivalence server but have configured an sstate mirror.
| This will likely mean no sstate will match from the mirror.
| You may wish to disable the hash equivalence use (BB_HASHSERVE),
| or use a hash equivalence server alongside the sstate mirror.
Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Harish Sadineni [Tue, 17 Mar 2026 18:07:53 +0000 (11:07 -0700)]
kernel-yocto-rust: Move rust kernel dependencies to bbclass
Move the rust kernel dpendencies from linux-yocto.inc to
kernel-yocto-rust.bbclass.
This centralizes Rust-specific configuration in the dedicated class,
which is intended to be inherited only when Rust kernel support is
enabled (e.g. via KERNEL_FEATURES).
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a backported patch from master to use underscore instead of
space in a generated filename. This fixes the build error:
| /usr/bin/ld: cannot find examples/application8/exampleapp8.p/meson-generated_.._exampleapp8: No such file or directory
| /usr/bin/ld: cannot find resources.c.o: No such file or directory
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dan McGregor [Mon, 16 Mar 2026 22:31:47 +0000 (16:31 -0600)]
systemd: break circular dependency with libfido2
libfido2 depends on udev, and when the fido2 feature is enabled
in systemd, systemd depends on libfido2. However, systemd really
only needs libfido2's headers at build time. It uses dlopen to
opportunistically enable the features at runtime. Break this
circular dependency by creating a recipe that provides libfido2's
headers and pkgconfig file. That allows systemd to build with
fido2 enabled and allows libfido2 do build as well.
Signed-off-by: Dan McGregor <danmcgr@protonmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Stefano Tondo [Thu, 12 Mar 2026 15:38:44 +0000 (16:38 +0100)]
cve_check: Escape special characters in CPE 2.3 strings
CPE 2.3 formatted string binding (cpe:2.3:...) requires
backslash escaping for special meta-characters per NISTIR 7695.
Characters like '++' and ':' in product names must be escaped.
The CPE 2.3 specification defines two bindings:
- URI binding (cpe:/...) uses percent-encoding
- Formatted string (cpe:2.3:...) uses backslash escaping
Escape the required meta-characters with backslash:
- Backslash (\\) -> \\
- Question mark (?) -> \?
- Asterisk (*) -> \*
- Colon (:) -> \:
- Plus (+) -> \+
All other characters are kept as-is without encoding.
Example CPE identifiers:
- cpe:2.3:*:*:crow:1.0\+x:*:*:*:*:*:*:*
- cpe:2.3:*:*:sdbus-c\+\+:2.2.1:*:*:*:*:*:*:*
Liu Yiding [Wed, 11 Mar 2026 02:40:42 +0000 (10:40 +0800)]
orc: Enable hotdoc to produce doc
Add do_install:append function to fix QA Issue like "File /usr/share/doc/orc/html/assets/js/search/hotdoc_fragments/orctarget.html-enum (unnamed at /work/x86-64-v3-poky-linux/orc/0.4.42/sources/orc-0.4.42/orc/orctarget.h:39:1).fragment in package orc-doc contains reference to TMPDIR [buildpaths]"
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Stefano Babic [Sun, 15 Mar 2026 12:44:01 +0000 (13:44 +0100)]
udev-extraconf: detect init manager from pid
Detecting the init manager from /sbin/init does not always work and it
fails when etc-overlayfs is used, because first the
pre-init script is called and init is renamed as init.orig.. Read the
process name with pid = 1 from /proc, and use it to detect the init manager.
The HAVE_SYSV_RC_LOCAL makes /etc/rc.local work as the rc-local.service
is still installed. And the HAVE_SYSV_COMPAT means /etc/rcX.d is still
supported.
Trevor Gamblin [Mon, 16 Mar 2026 20:58:03 +0000 (16:58 -0400)]
grub: add patch to use medany for riscv64
>From the upstream bug report, filed in 2024:
|GRUB 2.12 does not compile correctly using large model on riscv64 using gcc 14.1.1 (gcc-14.1.1-5.fc40.x86_64).
|
|It is my understanding that the large model should not really be used on riscv64 yet and trying to build GRUB 2.12 with it results in an error:
|
|+ ././grub-mkimage -O riscv64-efi -o grubriscv64.efi.orig -d grub-core --sbat ././sbat.csv -m memdisk.squashfs -p /EFI/fedora all_video boot blscfg btrfs cat configfile cryptodisk echo ext2 f2fs fat font gcry_rijndael gcry_rsa gcry_serpent gcry_sha256 gcry_twofish gcry_whirlpool gfxmenu gfxterm gzio halt hfsplus http increment iso9660 jpeg loadenv loopback linux lvm luks luks2 memdisk mdraid09 mdraid1x minicmd net normal part_apple part_msdos part_gpt password_pbkdf2 pgp png reboot regexp search search_fs_uuid search_fs_file search_label serial sleep squash4 syslinuxcfg test tftp version video xfs zstd efi_netfs efifwsetup efinet lsefi lsefimmap connectefi
|././grub-mkimage: error: relocation 0x2b is not implemented yet.
|
|medany builds successfully and boots on the VisionFive2 and on VMs.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Mon, 16 Mar 2026 14:17:50 +0000 (10:17 -0400)]
wic: filemap: use separate fd for SEEK_HOLE probes
While working on splitting-out wic from oe-core, on my openSUSE Leap
16.0 machine, the moment I split wic out, 2 oe-selftests always failed
with 100% reproducibility:
- wic.ModifyTests.test_wic_cp_ext
- wic.Wic2.test_expand_mbr_image
In both cases the symptom is the same: the filesystem has inode tables
that are completely zeroed out. Both issues are linked together to the
same underlying fault.
FilemapSeek._get_ranges() is a generator. Due to the nature of finding
each hole/data extent one at a time using the lseek() system call,
it calls os.lseek() on a raw file descriptor, then yields, then the
caller, sparse_copy(), calls file.seek() + file.read() on a Python
BufferedReader wrapping that same fd — then the generator resumes and
calls os.lseek() again. This interleaving of raw os.lseek() and buffered
I/O on the same fd is undefined behaviour from Python's perspective.
The BufferedReader tracks its own idea of the fd's position and buffer
contents; os.lseek() changes the position behind its back. This can
corrupt its internal state and cause read() to return stale/zero data.
This code, however, has existed in wic since it was written, so why
was it not noticed before? It turns out this bug was being masked by a
number of implementation details that changed, especially when wic was
split out for oe-core. These changes conspired together to cause the bug
to be triggered.
One of the root causes of this bug is that Python 3.14 increased the
default buffer size from 8KB to 128KB[1]. With 8 KB buffers, read()s
either go through the direct-read path leaving the buffer empty, or
if it fills in 8KB chunks the buffer is fully drained. Either way,
with a small buffer, read()s do a real raw seek. No fast path. No
corruption. With a 128KB buffer, however, a much larger window exists
where BufferedReader.seek() can take the fast-path after the raw file
descriptor has already been repositioned by os.lseek() in the generator.
With the smaller buffer, this window was too narrow to hit in practice.
This is fixed by opening a second file object in FilemapSeek.__init__()
dedicated to SEEK_DATA/SEEK_HOLE probes, leaving the data-reading handle
(self._f_image) untouched.
This explains why the corruption is deterministic and tied to specific
block boundaries, why it only manifests with the split-out version using
Python 3.14 (on systems that are using Python versions less than 3.14 on
the host), and why using a separate file descriptor for reading bypasses
the issue entirely.
This is not an intermittent bug. For a more detailed explanation
including log files, in-depth analysis, and a standalone Python
reproducer, please see the linked bugzilla entry.
Richard Purdie [Tue, 17 Mar 2026 11:53:52 +0000 (11:53 +0000)]
license: Fix sstate hash conflict issues
Currently, SSTATE_PKGARCH is injected into the sstate packages themselves but
the output of do_populate_lic is meant to be architecture invariant.
Instead of putting it into the package, use that part of the path as the
installation location. This makes the sstate packages architecture invariant
and avoids hash mismatch issues.
Since the sstate install path isn't part of the task checksums, we can just
remove all the LICENSE_DEPLOY_PATHCOMPONENT code entirely. It will change the
native/cross locations to SSTATE_PKGARCH but that likely makes more sense anyway.
I suspect this was what I'd originally intended when I added SSTATE_PKGARCH to
the path but things weren't quite done correctly.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yoann Congal [Sat, 14 Mar 2026 16:57:41 +0000 (17:57 +0100)]
qemurunner: Hide kernel messages on first non-raw run_serial() call
Kernel messages on console can be mixed with run_serial() command output
and might even prevent run_serial() to read the command exit code.
To fix this, on the first non-raw run_serial() call, run "dmesg -n 1"
first to hide the kernel message from the console we use to run
commands. Note that kernel messages are still logged in dmesg buffer.
man dmesg (from util-linux):
> -n, --console-level
> level Set the level at which printing of messages is done to the
> console. The level is a level number or abbreviation of the level name.
> For all supported levels see the --help output.
>
> For example, -n 1 or -n emerg prevents all messages, except emergency (panic)
> messages, from appearing on the console. All levels of messages are still
> written to /proc/kmsg, so syslogd(8) can still be used to control exactly where
> kernel messages appear. When the -n option is used, dmesg will not print or
> clear the kernel ring buffer.
Busybox's dmesg also support the option.
Raw run_serial() calls are used during the login process when it's too
early to run the dmesg command.
Changqing Li [Fri, 13 Mar 2026 10:49:08 +0000 (18:49 +0800)]
webkitgtk: remove PACKAGECONFIG soup2
* libsoup-2.4 already removed in commit [1], so remove the soup2
PACKAGECONFIG, which may causes depeneds on libsoup-2.4.
* soup2 will not be supported from 2.52.0.
* webkitgtk build with libsoup3 by default, USE_SOUP2 is OFF by default,
so also remove soup3 option