In a custom linux recipe that requires linux-yocto.inc, the metadata
files (*.scc) end up in KERNEL_FEATURES. However, the custom recipe's
FILESPATH does not contain the path to oe-core's linux-yocto directory
(as expected), which leads to the error below:
ERROR: linux-custom-6.12.15+git-r0 do_kernel_metadata:
Feature 'arch/riscv/tunes/riscv-isa-clear.scc' not found, this will cause configuration failures.
ERROR: linux-custom-6.12.15+git-r0 do_kernel_metadata:
Check the SRC_URI for meta-data repositories or directories that may be missing
Move KERNEL_FEATURES_RISCV - along with the appends - to a new file:
linux-yocto-features.inc.
Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In a custom u-boot recipe that requires u-boot-common.inc, the config
fragments end up in SRC_URI. However, the custom recipe's FILESPATH does
not contain the path to oe-core's u-boot directory (as expected), which
leads to the error below:
ERROR: .../build/../meta-custom/recipes-bsp/u-boot/u-boot-custom_2025.10.bb:
Unable to get checksum for u-boot-custom SRC_URI entry u-boot-riscv-isa_clear.cfg: file could not be found
The following paths were searched:
(...)
Move SRC_URI_RISCV - along with the appends - out of the common
definitions.
Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current extra_partition plugin uses predictable variable names (the
configuration must predict the image partition label or uuid). This has two
inconveniences:
- an extra partition that has a specific label (or uuid) is doomed with the
associated variable. The partition cannot be configured unless the label
(or uuid) is changed.
- two partitions with same label from distincts .wks cannot have different
content.
This allows the new suffix _name_%s to be appended to
IMAGE_EXTRA_PARTITION_FILES. This variable will be preferred whenever the
.wks specifies a name in the --sourceparams option.
For example:
an image may define:
IMAGE_EXTRA_PARTITION_FILES_name_foo = "bar.conf"
and the .wks line have line:
part --source extra_partition --sourceparams "name=foo"
Signed-off-by: Louis Rannou <louis.rannou@non.se.com> Reviewed-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel Dragomir [Fri, 9 Jan 2026 17:45:19 +0000 (19:45 +0200)]
wic/engine: warn about old host debugfs for standalone directory copy
When wic is used in standalone mode, it relies on host tools such as
debugfs. For directory host->image copies into ext* partitions, wic
uses scripted debugfs "-f" input with multiple mkdir/write commands.
Older host debugfs versions (< 1.46.5) may behave unreliably in this
mode and can silently miss files. This does not affect builds using
debugfs from OE where the version is known to be sufficiently new.
Add a debugfs version check and emit a warning when an older host
debugfs is detected. The warning is shown once per run and does not
alter execution.
Changes in v2:
- adjust the last working debugfs version to 1.46.5
Signed-off-by: Daniel Dragomir <daniel.dragomir@windriver.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefano Tondo [Wed, 7 Jan 2026 18:15:41 +0000 (19:15 +0100)]
spdx30_tasks: Add concluded license support with SPDX_CONCLUDED_LICENSE
Add hasConcludedLicense relationship to SBOM packages with support for
manual license conclusion override via SPDX_CONCLUDED_LICENSE variable.
The concluded license represents the license determination after manual
or external license analysis. This should be set manually in recipes or
layers when:
1. Manual license review identifies differences from the declared LICENSE
2. External license scanning tools detect additional license information
3. Legal review concludes a different license applies
The hasConcludedLicense relationship is ONLY added to the SBOM when
SPDX_CONCLUDED_LICENSE is explicitly set. When unset or empty, no
concluded license is included in the SBOM, correctly indicating that
no license analysis was performed (per SPDX semantics).
When differences from the declared LICENSE are found, users should:
1. Preferably: Correct the LICENSE field in the recipe and contribute
the fix upstream to OpenEmbedded
2. Alternatively: Set SPDX_CONCLUDED_LICENSE locally in your layer when
upstream contribution is not immediately possible or when the license
conclusion is environment-specific
The implementation checks both package-specific overrides
(SPDX_CONCLUDED_LICENSE:${PN}) and the global variable, allowing
per-package license conclusions when needed.
The concluded license expression is automatically de-duplicated by
add_license_expression() to avoid redundant license objects in the SBOM.
The variable is initialized in spdx-common.bbclass with comprehensive
documentation explaining its purpose, usage guidelines, and examples.
Example usage in recipe or layer:
SPDX_CONCLUDED_LICENSE = "MIT & Apache-2.0"
SPDX_CONCLUDED_LICENSE:${PN} = "MIT & Apache-2.0"
Paul Barker [Tue, 6 Jan 2026 16:03:33 +0000 (16:03 +0000)]
devtool: deploy: Reset PATH after strip_execs
We need to modify os.environ so that strip_execs() finds the correct
binaries to run. We shouldn't leave this modification in place for the
rest of the program execution though.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Tue, 6 Jan 2026 16:03:32 +0000 (16:03 +0000)]
devtool: deploy: Run pseudo with correct PATH
When running FAKEROOTCMD (i.e. pseudo), we need to use the same PATH as
we would use if we were running inside bitbake instead of the host
environment's PATH. This ensures that we don't pick up any host
executables that may have problems with pseudo (such as the uutils
implementations of common system utilities used in Ubuntu 25.10).
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Mon, 22 Dec 2025 14:54:03 +0000 (22:54 +0800)]
Clean up compiler optimization variable DEBUG_OPTIMIZATION
Remove DEBUG_OPTIMIZATION, set "-Og ${DEBUG_LEVELFLAG}" to
SELECTED_OPTIMIZATION when debug optimization is enabled (fragment
core/yocto/debug-optimize)
Use SELECTED_OPTIMIZATION to instead of DEBUG_OPTIMIZATION
for debug optimization tuning configuration
Hongxu Jia [Mon, 22 Dec 2025 14:54:02 +0000 (22:54 +0800)]
Clean up compiler optimization variable FULL_OPTIMIZATION
In bitbake.conf, remove FULL_OPTIMIZATION, set "-O2 ${DEBUG_LEVELFLAG}"
to SELECTED_OPTIMIZATION directly
In mesa.inc, due to llvmpipe is slow if compiled with
-fomit-frame-pointer (e.g. -O2), set -fno-omit-frame-pointer
to TARGET_CFLAGS only if option -O2 existed
Correct typo in clang.patch
In recipe harfbuzz, use SELECTED_OPTIMIZATION to instead of
FULL_OPTIMIZATION
Hongxu Jia [Mon, 22 Dec 2025 14:54:01 +0000 (22:54 +0800)]
debug-optimize.inc: override CARGO_BUILD_MODE and CARGO_BUILD_DIR for target
Rename BUILD_MODE and BUILD_DIR with CARGO prefix, then in debug-optimize.inc,
override CARGO_BUILD_MODE and CARGO_BUILD_DIR for target when debug optimization
is enabled (fragment core/yocto/debug-optimize)
Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Mon, 22 Dec 2025 14:54:00 +0000 (22:54 +0800)]
debug-optimize.inc: override MESON_BUILDTYPE for target
The debug-optimize.inc is used to collect debug optimization configuration,
override MESON_BUILDTYPE for target when debug optimization is enabled
(fragment core/yocto/debug-optimize)
Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The modern compilers and code seem to require extra steps to avoid DEBUG errors,
Move debug tuning configuration from recipes to an include file to address these
errors.
Drop `:remove' operation on variable, override variables directly
Suggested-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The problem with DEBUG_BUILD is that we have a lot of debug information
in builds anyway and this is now unclear what it means. The
documentation.conf entry mentions packages which is now incorrect too.
The variable is a very old one and the interface is poorly designed
compared to other areas now.
This commit drop DEBUG_BUILD, use DEBUG_OPTIMIZE to instead, add
debug-optimize.bbclass and debug-optimize.inc. Use variable DEBUG_OPTIMIZE
to defer inherit debug-optimize.bbclass conditionally.
Make a config fragment core/yocto/debug-optimize to set DEBUG_OPTIMIZE ?= 1
to enable debug friendly optimize. For the recipe (such as qemu) which doesn't
work with debug optimization, set DEBUG_OPTIMIZE = "0" to disable it for a
given recipe even though config fragment core/yocto/debug-optimize is enabled
In bitbake.conf, use ??= to set *_OPTIMIZATION, in debug-optimize.inc
to use ?= to override *_OPTIMIZATION
In debug-optimize.bbclass, include_all debug-optimize.inc to allow other
layers to add their own debug optimization configurations.
User should use the following ways to enable debug optimize
NOTE: we do not encourage user to enable debug friendly optimization by setting
DEBUG_OPTIMIZE = '1' directly, because the variable override is not certainty,
which is affected by the order of configuration parsing
Suggested-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Wed, 24 Dec 2025 05:17:34 +0000 (13:17 +0800)]
vte: fix build failed for ppc64
$ echo 'MACHINE = "qemuppc64"' >> conf/local.conf
$ bitbake vte
...
|subprojects/simdutf/simdutf.cpp:20533:7: error: there are no arguments to 'write_v_u16_11bits_to_utf8' that depend on a template parameter, so a declaration of 'write_v_u16_11bits_to_utf8' must be available [-Wtemplate-body]
|20533 | write_v_u16_11bits_to_utf8(
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~
|subprojects/simdutf/simdutf.cpp:20533:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
|subprojects/simdutf/simdutf.cpp:20559:7: error: there are no arguments to 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' that depend on a template parameter, so a declaration of 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' must be available [-Wtemplate-body]
|20559 | ppc64_convert_utf16_to_1_2_3_bytes_of_utf8(
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|subprojects/simdutf/simdutf.cpp:20533:33: error: 'write_v_u16_11bits_to_utf8' was not declared in this scope
|20533 | write_v_u16_11bits_to_utf8(
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~^
|20534 | in, utf8_output, as_vector_u8(one_byte_bytemask), one_byte_bitmask);
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
The source file subprojects/simdutf/simdutf.cpp is generated by python3 script
singleheader/amalgamate.py and the definition of write_v_u16_11bits_to_utf8 and
ppc64_convert_utf16_to_1_2_3_bytes_of_utf8 for ppc64 [1] requires option
--with-utf16 and --with-latin1
Martin Schwan [Wed, 17 Dec 2025 13:06:43 +0000 (14:06 +0100)]
cargo-update-recipe-crates: Don't fail for partially empty Cargo.lock
Do not fail if only some Cargo.lock files are empty. Only fail, if there
are absolutely no dependencies found in any Cargo.lock.
This fixes the following error message, which would occur with "bitbake
-c update_crates python3-orjson":
ERROR: python3-orjson-3.10.17-r0 do_update_crates: Execution of '.../python3-orjson/3.10.17/temp/run.do_update_crates.70693' failed with exit code 1
ERROR: Logfile of failure stored in: .../python3-orjson/3.10.17/temp/log.do_update_crates.70693
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['.../sources/oe-core/../oe-core/meta/recipes-devtools/quilt/quilt-native_0.69.bb:do_populate_sysroot', 'virtual:native:.../sources/oe-core/../oe-core/meta/recipes-devtools/patch/patch_2.8.bb:do_populate_sysroot', 'virtual:native:.../sources/oe-core/../oe-core/meta/recipes-devtools/python/python3_3.13.9.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['gettext-minimal-native', 'cmake-native', 'libtool-native', 'quilt-native', 'texinfo-dummy-native', 'openssl-native', 'expat-native', 'ncurses-native', 'util-linux-libuuid-native', 'zlib-native', 'libedit-native', 'make-native', 'patch-native', 'perl-native', 'python3-native', 'bzip2-native', 'xz-native', 'zstd-native', 'attr-native', 'gdbm-native', 'libffi-native', 'sqlite3-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_update_crates
| Traceback (most recent call last):
| File "<stdin>", line 41, in <module>
| File "<stdin>", line 12, in get_crates
| ValueError: Unable to find any candidate crates that use crates.io
|
| The above exception was the direct cause of the following exception:
|
| Traceback (most recent call last):
| File "<stdin>", line 43, in <module>
| ValueError: Cannot parse '.../python3-orjson/3.10.17/sources/orjson-3.10.17/include/cargo/simdutf8-0.1.5/Cargo.lock'
| WARNING: exit code 1 from a shell command.
ERROR: Task (.../sources/oe-core/../meta-openembedded/meta-python/recipes-devtools/python/python3-orjson_3.10.17.bb:do_update_crates) failed with exit code '1'
Signed-off-by: Martin Schwan <m.schwan@phytec.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_ext: keep SDK_TARGETS so SPDX/SBOM tasks remain in locked sigs
Fixes [YOCTO #15853]
The filtering in populate_sdk_ext.bbclass was removing all image targets from
the locked signatures, including the main SDK images (SDK_TARGETS). As a
result, their tasks including the image SPDX/SBOM tasks were not added to
locked-sigs.inc.
Without these entries, the eSDK lacked the necessary sstate, and the installer
attempted to run the missing tasks during installation, leading to unexpected
task execution errors.
This patch keeps SDK_TARGETS (and their multilib variants) in the locked
signatures so their SPDX/SBOM tasks are included. With those tasks in the
sstate cache, the eSDK installs cleanly without needing to re-run anything.
create-spdx-image-3.0: Image SPDX/SBOM tasks are retained for eSDK installation
Fixes [YOCTO #15853]
Image SPDX/SBOM tasks were running after do_sdk_depends, causing their
signatures to be excluded from locked-sigs.inc. As a result, the eSDK installer
attempted to re-run these tasks, leading to unexpected task execution errors.
Run do_create_image_sbom_spdx before do_sdk_depends to ensure all image
SPDX/SBOM tasks are completed and captured in the locked signatures.
Haixiao Yan [Mon, 29 Sep 2025 02:56:44 +0000 (10:56 +0800)]
syslinux: clean old object and dependency files before do_install
Remove all previous .o and .d files from OBJ directories before
running do_install. This prevents stale build artifacts from
interfering with the installation of new binaries and modules,
especially after GCC upgrades that can invalidate existing dependency
files, such as:
make[4]: *** No rule to make target
'/build/tmp-glibc/work/corei7-64-wrs-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/
usr/lib/x86_64-wrs-linux/gcc/x86_64-wrs-linux/12.4.0/include/stdarg.h',
needed by 'zlib/adler32.o'. Stop.
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate.bbclass: Always show a progress bar if an sstate summary is wanted
In case sstate_checkhashes() is expected to show an sstate summary, then
always show the process progress bar regardless of how long the task
list is. Without this, the sstate summary could unintentionally
overwrite another active progress bar.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Wed, 1 Oct 2025 09:34:53 +0000 (11:34 +0200)]
kernel-module-split.bbclass: support muti-lines in module conf
The expanded bitbake variables are raw strings so it does not support
writting multiple lines to a kernel module conf, add the support by
decoding it with 'unicode-escape'.
Reported-by: Mathias Thore <mathias.thore@atlascopco.com> Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hongxu Jia [Fri, 21 Nov 2025 05:39:54 +0000 (13:39 +0800)]
jquery: fix reproducible build issue for PREMIRRORS downloads
The sources of jquery are pure text files:
...
SRC_URI = "\
https://code.jquery.com/${BP}.js;name=js;subdir=${BP} \
https://code.jquery.com/${BP}.min.js;name=min;subdir=${BP} \
https://code.jquery.com/${BP}.min.map;name=map;subdir=${BP} \
"
...
When use git repo to save them and clone locally as PREMIRRORS for
bitbake. In this case, mtime of these files will be current time
when checking out. For this recipe, source_date_epoch will get by
function get_source_date_epoch_from_youngest_file, mtime of the
source files are not stable, so cause the generated package not
reproducible.
Due to the mtime of source files in upstream is always 1991-10-18,
even for the new version
$ wget https://code.jquery.com/jquery-3.0.0.js
$ ls --full-time jquery-3.0.0.js
-rw-r--r-- 1 hjia users 263268 1991-10-18 20:00:00.000000000 +0800 jquery-3.0.0.js
Robert Yang [Mon, 17 Nov 2025 01:23:02 +0000 (17:23 -0800)]
buildhistory.bbclass: Warn when PRSERV_HOST is not enabled
The version-going-backwards check may fail without PRServer, and it's not easy
to debug, so warn for that.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rust: Drop oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
This patch was originally added to address a rare failure on the PPC
target observed in AB. Currently, we are no longer testing the PPC
target in OE-Core. Therefore, we can remove this local patch. We have
also verified PPC testing locally several times without this patch,
and the issue has not reoccurred.
Changqing Li [Fri, 16 Jan 2026 09:27:04 +0000 (17:27 +0800)]
procps: support ptest when TCLIBC is glibc
* support ptest for procps TCLIBC is glibc. The configure.ac only match
LINUX as "linux-gnu", we can patch it to make test can run on musl lib
system, but the upstream testsuite should only run on gnu libc host,
some test cases only suitable for glibc, eg: Some of the error messages
for free command on musl system is not the same as glibc system, which
will make test failed. In order to avoid some other unexpected failure,
just support ptest for glibc.
* procps's testsuite use DejaGnu test framework. The testsuite is
expected to run during build time, this implementation create the same
folder structure as the testsuite expected to make it can work well.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The openssh host keys are configurable in openssh recipe, dont check
hard-coded path ${IMAGE_ROOTFS}/etc/ssh/ssh_host_rsa_key. Instead, try
to figure out the first host key in sshd_config, if there is no host
keys set in sshd_config, then check the first host key presenting in
${IMAGE_ROOTFS}/etc/ssh.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ValentinBoudevin [Mon, 19 Jan 2026 18:40:50 +0000 (13:40 -0500)]
improve_kernel_cve_report: Add a bbclass support
The script improve_kernel_cve_report.py doesn't have a bbclass.
It can be useful to have one to generate improved cve-check files at
every run.
This commit contains three classes:
-improve_kernel_cve_report-base.bbclass: Base class which contains the
tasks to perform improve_kernel_cve_report.py initialization and
execution.
-improve_kernel_cve_report-spdx-2.2.bbclass: Set
IMPROVE_KERNEL_SPDX_FILE variable for SPDX-2.2 builds and set
IMPROVE_KERNEL_PREFERRED_PROVIDER to require "create-spdx-2.2" in
INHERIT
-improve_kernel_cve_report-spdx.bbclass: Set IMPROVE_KERNEL_SPDX_FILE
variable for SPDX-3.0 projectsi and IMPROVE_KERNEL_PREFERRED_PROVIDER to
"create-spdx" to requires it in INHERIT
These three new .bbclass files can be used to generate a new output in
tmp/deploy/images with a .scouted.json file in addition to the existing
.json cve-check file.
The new .scouted.json is based on the cve-check file and the SBOM to
generate this improved cve-check file with extra entries found by the
script improve_kernel_cve_report.py.
It only requires to use "inherit" on an image recipe (e.g. on
core-image-minimal).
The bbclass "improve_kernel_cve_report-spdx-2.2.bbclass" can be used if
"create-spdx-2.2" is configured in INHERIT, and "create-spdx" is
removed.
By default, projects use SPDX-3.0 and don't require any additional
configuration.
It also works offline and/or with custom repos thanks to the variables:
-IMPROVE_KERNEL_CVE_SRC_URI: Use to set SRC_URI for "vulns" repository
-IMPROVE_KERNEL_CVE_SRCREV: Use to fix a SRCREV for "vulns" repository.
By default the class use AUTOREV to get the latest commit available but
will require a fix commit if used offline.
-IMPROVE_KERNEL_CVE_NETWORK:
Use DL_DIR folder as to find the source "vulns" repository and set
offline mode
-IMPROVE_KERNEL_CVE_WORKDIR: Working directory for the class
-IMPROVE_KERNEL_CVE_DESTSUFFIX: Suffix used to clone the "vulns"
repository IMPROVE_KERNEL_CVE_UNPACK_DIR: Folder to unpack the "vulns"
directory
Chen Qi [Thu, 15 Jan 2026 02:19:18 +0000 (10:19 +0800)]
systemd: add shell-profile-dropins PACKAGECONFIG
New version of systemd introduces dropins in /etc/profile.d. This
is usually OK for most cases. But in case of using minicom to connect
to the machine, there will be unnecessary output every time you type
a command.
This is because the /etc/profile.d/80-systemd-osc-context.sh[1] is setting
PS0 with OSC 3008 standard[2]. If a terminal (e.g., minicom) cannot
deal with this OSC 3008 standard, it will just output the whole contents.
This is quite annoying.
So add a new PACKAGECONFIG, shell-profile-dropins, to allow users a choice
to disable such behavior.
Shaik Moin [Tue, 20 Jan 2026 07:39:23 +0000 (13:09 +0530)]
libpcre2: Enabling Ptest support
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 grep‑style matching works as expected with various patterns and input files.
Dmitry Baryshkov [Tue, 20 Jan 2026 02:43:13 +0000 (04:43 +0200)]
uki.bbclass: fix building of UKI images with multiple initramfs fstypes
If INITRAMFS_FSTYPES contains more than one entry, ukify build command
will fail as INITRD_ARCHIVE will contain extra strings. Use only the
first initramfs type, letting the user to specify other fstypes in
INITRAMFS_FSTYPES.
Ross Burton [Fri, 16 Jan 2026 17:34:02 +0000 (17:34 +0000)]
ffmpeg: ensure manpage generation is deterministic
With a clean build tree, building ffmpeg from scratch will not have any
manpages generated. However if you then force ffmpeg to rebuild, the
resulting packages will have manpages.
This is because the ffmpeg manpage generation uses pod2man, which is
provided by perl-native. This is not a build-dependency on ffmpeg but it
does enter the sysroot in do_package via further dependencies on that
task.
As this is non-deterministic and easy to solve, simply add perl-native
to the DEPENDS.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ulrich Ölmann [Fri, 16 Jan 2026 11:56:19 +0000 (12:56 +0100)]
initramfs-framework: add handover of PID 1's arguments
Although many PID 1 programs parse /proc/cmdline, let's follow the standard
convention and forward the command-line arguments received from the kernel to
the next PID 1 program.
Ricardo Ungerer [Tue, 20 Jan 2026 19:47:21 +0000 (19:47 +0000)]
yocto-check-layer: Fix README email check
So far the test_readme have been use of re.match to find an email
address in the README file. This only matches if the email address
is at the start of the file. This commit changes this to re.search to
find email addresses anywhere in the README file.
Signed-off-by: Ricardo Ungerer <ungerer.ricardo@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ricardo Ungerer [Tue, 20 Jan 2026 19:47:20 +0000 (19:47 +0000)]
yocto-check-layer: Add messages in test_readme assertions
Assertions in test_readme does not provide context message when they
fail. Which leads to errors like:
File "/media/workspace/yocto_master/openembedded-core/scripts/lib/checklayer/cases/common.py", line 41, in test_readme
self.assertTrue(email_regex.match(data))
AssertionError: None is not true
This patch adds context messages to the assertions to help identify the
issue when they fail.
Signed-off-by: Ricardo Ungerer <ungerer.ricardo@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Thu, 15 Jan 2026 02:19:17 +0000 (10:19 +0800)]
systemd: do not let do_fetch depend on PACKAGECONFIG
It's unnecessary to make SRC_URI contains something like:
${@bb.utils.contains('PACKAGECONFIG', 'xxx', 'file://xxx', '', d)}
This does not give us any benefit and it makes do_fetch depend
on PACKAGECONFIG, which means changing of PACKAGECONFIG will result
in rerunn of do_fetch.
Besides, the related codes in do_install already does the necessary
checks.
Peter Marko [Thu, 15 Jan 2026 00:24:20 +0000 (01:24 +0100)]
libpng: upgrade 1.6.53 -> 1.6.54
Handles CVE-2026-22695 and CVE-2026-22801.
License-Update: copyright years refreshed
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Thu, 15 Jan 2026 23:50:40 +0000 (00:50 +0100)]
go: upgrade 1.25.5 -> 1.25.6
Upgrade to latest 1.25.x release [1]:
$ git --no-pager log --oneline go1.25.5..go1.25.6 69801b25b9 (tag: go1.25.6) [release-branch.go1.25] go1.25.6 9d497df196 [release-branch.go1.25] archive/zip: reduce CPU usage in index construction afa9b66ac0 [release-branch.go1.25] net/url: add urlmaxqueryparams GODEBUG to limit the number of query parameters 2526187481 [release-branch.go1.25] cmd/go/internal/work: sanitize flags before invoking 'pkg-config' 082365aa55 [release-branch.go1.25] cmd/go: update VCS commands to use safer flag/argument syntax 4be38528a6 [release-branch.go1.25] crypto/tls: don't copy auto-rotated session ticket keys in Config.Clone 525dd85363 [release-branch.go1.25] crypto/tls: reject trailing messages after client/server hello ddcf27fc8c [release-branch.go1.25] Revert "errors: optimize errors.Join for single unwrappable errors" 14f50f6e3e [release-branch.go1.25] cmd/compile: handle propagating an out-of-range jump table index 4e531b2f14 [release-branch.go1.25] runtime: mark getfp as nosplit 6f07a57145 [release-branch.go1.25] runtime/race: set missing argument frame for ppc64x atomic And/Or wrappers ea603eea37 [release-branch.go1.25] os: allow direntries to have zero inodes on Linux 93f5d1c27e [release-branch.go1.25] os,internal/poll: don't call IsNonblock for consoles and Stdin d5bfdcbc47 [release-branch.go1.25] crypto/tls: use inner hello for earlyData when using QUIC and ECH
Fixes CVE-2025-61728, CVE-2025-61726, CVE-2025-68121, CVE-2025-61731,
CVE-2025-68119 and CVE-2025-61730.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dmitry Baryshkov [Thu, 15 Jan 2026 21:26:40 +0000 (23:26 +0200)]
mesa: drop VDPAU remnants
Mesa 25.3.x dropped support for VDPAU. Commit 88e26a937549 ("mesa:
upgrade 25.2.5 -> 25.3.1") has dropped most of VDPAU-related items,
but it didn't drop mesa-vdpau-drivers package (nor did it drop VDPAU
bits from mesa-dev). Drop those remnants.
Kai Kang [Thu, 15 Jan 2026 07:54:36 +0000 (15:54 +0800)]
qemu: 10.1.3 -> 10.2.0
Upgrade qemu from 10.1.3 to 10.2.0:
* remove backported 0012 patch
* update context for patches 0002 and 0010
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ' is stripped from the ID later in distro_identifier with:
# Filter out any non-alphanumerics and convert to lowercase
distro_id = re.sub(r'\W', '', distro_id).lower()
but not from version which results in a weird NATIVELSBSTRING like:
NATIVELSBSTRING = "gentoo-'2.18'"
And similarly the directory name in sstate-cache:
oe-core $ ls -d sstate-cache/gentoo-*
"sstate-cache/gentoo-'2.18'" sstate-cache/gentoo-2.18
Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Thomas Perrot [Fri, 16 Jan 2026 14:31:21 +0000 (15:31 +0100)]
opensbi: bump to 1.8.1
This intermediate release has following fixes:
- Typo fix in comments of sbi_hartindex_to_hartid()
- Fix hart protection abstraction for platforms without PMP
Allow the platform to boot without PMP, but it is still necessary to
enable PMP on QEMU; otherwise, there will be nothing to protect the
M-mode firmware (OpenSBI) from lower privilege modes.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Tested-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 16 Jan 2026 17:41:28 +0000 (17:41 +0000)]
alsa-utils: fix packaging
In the previous refactoring of this package[1] I forgot to add provides
when merging some packages, which meant that installation of alsa-utils
wouldn't succeed:
- nothing provides alsa-utils-aplaymidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-aplaymidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-arecordmidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-arecordmidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-axfer needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
This is because the auto-splitting generates a package for each of the
binaries, but there are explicit FILES that take priority which result
in the binaries being in another package. However, the dependencies
still exist. We could filter the package list after the split, but it is
easier to add RPROVIDES for arecord and a*midi to the relevant packages,
so that the dependencies are satisfied.
Also axfer is a separate tool, so put that in its own package instead of
merging with aplay.
Finally, add a PR, as it appears that dynamically-generated packaging
isn't enough to change the hash, and the wrong packages were being pulled
from sstate.
Signed-off-by: Ross Burton <ross.burton@arm.com> Tested-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Fri, 16 Jan 2026 19:39:21 +0000 (20:39 +0100)]
zlib: ignore CVE-2026-22184
This is CVE for example tool contrib/untgz.
This is not compiled in Yocto zlib recipe.
This CVE has controversial CVSS3 score of 9.8.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 16 Jan 2026 18:05:01 +0000 (18:05 +0000)]
fontconfig: backport a patch to fix a build race
There's a build race where some objects don't explicitly depend on the
generated header ftalias.h being created:
In file included from ../sources/fontconfig-2.17.1/src/fcpat.c:23:
../sources/fontconfig-2.17.1/src/fcint.h:129:12: fatal error: fcalias.h: No such file or directory
129 | # include "fcalias.h"
Backport a patch from upstream to add the missing dependencies.
[ YOCTO #16134 ]
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This corresponds to an invalid argument passed to lseek() in the
create_hole() function in src/copy-file-data.c in coreutils. This in
turn is being given bad arguments due to incorrect handling of loop
variables in lseek_copy().
The upstream bug report [1] refers to an infinite loop, which isn't
quite what we're seeing, but the cause is likely the same. So, we're
applying the upstream fixes.
Richard Purdie [Tue, 20 Jan 2026 08:52:27 +0000 (08:52 +0000)]
pseudo: Update to 1.9.3 release
Pulls in the following changes:
Makefile.in: Bump version to 1.9.3
configure: Minor code quality changes
pseudo: code quality scan - resolved various potential issues
makewrappers: improve error handling and robustness
Update COPYRIGHT files
ports/linux/pseudo_wrappers.c: Call the wrappers where possible
ports/linux/pseudo_wrappers.c: Workaround compile error on Debian 11
ports/linux/pseudo_wrappers.c: Reorder the syscall operations
ports/unix/guts/realpath.c: Fix indents
pseudo_util.c: Skip realpath like expansion for /proc on Linux
test/test-proc-pipe.sh: Add test case for proc pipes
ports/unix/guts/realpath.c: realpath fails if the resolved path doesn't exist
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Sat, 17 Jan 2026 20:57:11 +0000 (14:57 -0600)]
dpkg: Fix ADMINDIR
dpkg has a hard coded path (from build time) for the ADMINDIR, for some
reason the "set_root" function was using this hard coded value instead
of the value from apt.conf or the environment.
Follow the example of db_dir.c and use the environment if set.
Adjust the matching oe package_manager functions to set the ADMINDIR,
even though the apt.conf sets --admindir. Note it's unclear if the
--admindir value that is set is reasonable or not.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
[AG: add Upstream-Status - Submitted to patch] Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ryan Eatmon [Thu, 8 Jan 2026 20:22:38 +0000 (14:22 -0600)]
u-boot: Add support for UBOOT_CONFIG_FRAGMENTS and UBOOT_FRAGMENTS
There are config fragments that live in the u-boot source tree.
UBOOT_FRAGMENTS will globally add a set of fragments to the configure.
UBOOT_CONFIG_FRAGMENTS makes use of the overhauled config flow to add
support for specifying alternative fragments for each variation build.
Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ryan Eatmon [Thu, 8 Jan 2026 20:22:37 +0000 (14:22 -0600)]
u-boot: Overhaul UBOOT_CONFIG flow
The existing flow for setting UBOOT_CONFIG options is a little
confusing. The comma separated list is difficult to remember which
slot is used for which option, and the order of the options cannot
be changed just added on to.
This commit overhauls the UBOOT_CONFIG flow while maintaining the
backwards compatibility with the existing settings. Rather than use a
comma separated list, a new set of placeholder variables have been
defined where the same config flags can be used to specify all of the
needed changes:
Adam Blank [Wed, 31 Dec 2025 11:21:01 +0000 (12:21 +0100)]
buildhistory: fix handling of RDEPENDS style strings
RDEPENDS style strings are regex searched for entries matching
the usual, allowed package names (plus possible version flags).
RPROVIDES however, is also allowed to contain actual file paths
like '/bin/sh', which get broken by the current implementation.
Use bb.utils to handle RDEPENDS style stings.
Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dragomir, Daniel [Wed, 17 Dec 2025 14:27:26 +0000 (16:27 +0200)]
oeqa/selftest/wic: test recursive dir copy on ext partitions
Extend the wic selftests to cover recursive directory copying
into ext partitions.
Previously, copying a directory into an ext partition could
appear to succeed, but attempting to access the directory
contents would fail with:
-l: Ext2 inode is not a directory
This was fixed in commit 4fc3b42774 ("wic/engine: fix copying
directories into wic image with ext* partition").
This test now verifies that directories copied with "wic cp"
into an ext4 partition:
- are created with correct inode types
- can be listed recursively with "wic ls"
- preserve files and subdirectories
- can be copied back out of the image without data loss
A simple directory structure is used in this test:
wic/engine: fix copying directories into wic image with ext* partition
wic uses debugfs to write on ext* partitions, but debugfs can only
write to the current working directory and it cannot copy complete
directory trees. Running 'wic ls' on a copied directory show this:
-l: Ext2 inode is not a directory
Fix this by creating a command list for debugfs (-f parameter) when
recursive parsing the host directory in order to create a similar
directory structure (mkdir) and copy files (write) on each level
into the destination directory from the wic's ext* partition.
Signed-off-by: Daniel Dragomir <daniel.dragomir@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Bradbury [Wed, 14 Jan 2026 10:26:11 +0000 (10:26 +0000)]
runqemu-extract-sdk: support tar.zst format
Building `core-image-minimal-dev` with Poky Whinlatter, the rootfs
tarball is compressed with zstd by default, meaning this script won't
work out of the box with it.
Signed-off-by: Alex Bradbury <asb@igalia.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 13 Jan 2026 18:46:32 +0000 (18:46 +0000)]
systemd-compat-units: generate masks at build time
Originally, this recipe masked the units at rootfs-time by looking to see
if the init script to be masked existed, and masking it if so.
That however suffers from a race condition where the postinst script may
be executed before the package that provides a script has been installed
so this was changed to be an on-target postinst[1], so we know that all
of the packages have been installed.
However, this now means that you can't have an image that install this
package _and_ is read-only, because we have an on-target postinst to
execute.
There's also another problem that with on-target package management, it
would be possible to install a package that should be masked after the
postinst has been executed, so the mask won't exist.
Taking a step back, a systemd unit mask is just a symlink to /dev/null
with the right name in the right path. So instead of masking in a post-
install script, we can generate all the masks at build-time.
This change reduces this package to just a number of symlinks, with no
post-install scripts.
Trevor Gamblin [Tue, 13 Jan 2026 17:57:58 +0000 (12:57 -0500)]
python3: add new files to compression
As of Python 3.14, there is a new top-level compression module that
contains the gzip and tarfile modules from previous versions, along with
a new _common module. However, for compatibility reasons the project is
also leaving a copy of the gzip and tarfile modules in the original
positions (to be handled in a future deprecation cycle).
Trevor Gamblin [Tue, 13 Jan 2026 17:57:57 +0000 (12:57 -0500)]
python3: add _ast_unparse to core
Without this, we will see import errors for modules that use
annotationlib like so:
|../../python3.14/annotationlib.py:487: in __repr__\n'
| return ast.unparse(self.__ast_node__)\n'
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n'
|../../python3.14/ast.py:622: in unparse\n'
| from _ast_unparse import Unparser as _Unparser\n'
|E ModuleNotFoundError: No module named '_ast_unparse'\n"
Trevor Gamblin [Tue, 13 Jan 2026 17:57:56 +0000 (12:57 -0500)]
python3: add _py_warnings, annotationlib to core
Without adding these, there will be numerous packages that will have to
add python3-misc to their RDEPENDS just to dispel some warnings, like:
|root@qemux86-64:~# python3
|Python 3.14.2 (main, Dec 5 2025, 16:49:16) [GCC 15.2.0] on linux
|Type "help", "copyright", "credits" or "license" for more information.
|warning: can't use pyrepl: No module named 'annotationlib'
and errors like:
|>>> import logging
|Traceback (most recent call last):
| File "<stdin-1>", line 1, in <module>
| File "/usr/lib/python3.14/logging/__init__.py", line 26, in <module>
| import sys, os, time, io, re, traceback, warnings, weakref, collections.abc
| File "/usr/lib/python3.14/traceback.py", line 8, in <module>
| import warnings
| File "/usr/lib/python3.14/warnings.py", line 15, in <module>
| from _py_warnings import (
|ModuleNotFoundError: No module named '_py_warnings'
Add them to python3-core rather than requiring another split.
Trevor Gamblin [Tue, 13 Jan 2026 17:57:54 +0000 (12:57 -0500)]
python_pep517: add --prefix to nativepython3 call
With Python 3.14, the default assumptions about install path in
python_pep517 no longer seem to apply, and as a result we see QA errors
during Python package builds like:
|ERROR: python3-unittest-automake-output-0.3-r0 do_package: QA Issue: python3-unittest-automake-output: Files/directories were installed but not shipped in any package:
| /home
| /home/tgamblin
| /home/tgamblin/workspace
| /home/tgamblin/workspace/yocto
| /home/tgamblin/workspace/yocto/openembedded-core
| /home/tgamblin/workspace/yocto/openembedded-core/build
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__init__.py
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/pytest.py
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__init__.py
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__main__.py
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__/__init__.cpython-314.pyc
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/unittest/__pycache__/__main__.cpython-314.pyc
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__/__init__.cpython-314.pyc
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__pycache__/pytest.cpython-314.pyc
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/entry_points.txt
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/WHEEL
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/METADATA
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/licenses
| /home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao-0.3.dist-info/licenses/LICENSE
|Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
|python3-unittest-automake-output: 34 installed and not shipped files. [installed-vs-shipped]
We need to add the --prefix flag to the nativepython3 call so that it
avoids using the native Python's sysconfig prefix.
As of 3.14.0, Python's sysconfig module looks for _PYTHON_PROJECT_BASE
to be set when cross-compiling, or otherwise it'll find and use the
native interpreter's paths when calling get_path() and filling out
_CONFIG_VARS. Set _PYTHON_PROJECT_BASE to "${B}" in
python3targetconfig's setup_target_config() to help avoid issues with
incorrect paths in rpm and other recipes that depend on this class.
- Remove '0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch'
as this fix was submitted upstream and is included in 3.14.0.
- Modify three existing patches to apply on 3.14.0:
- 0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
- 0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch
- 0001-test_active_children-skip-problematic-test.patch
- Add three new ptest skip patches:
- 0001-test_cmd-skip-bang-completion-test.patch - editline issues
with tab completion off of bangs (!).
- 0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch -
change in curses dependency in PyREPL leads to issues with a test
that expects the ICH1 terminal capability.
- 0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch -
OE builds customize prefixes and compiler flags in a way that the
test doesn't expect.
- Add zstd to the DEPENDS since Python3 now provides support for the
Zstandard compression standard.
- In py_package_preprocess(), handle reproducibility issues with the
_sysconfig_vars*.json files that the build generates by stripping
paths from them.
Modify python3-manifest.json to reflect the removal/replacement of
stringold with a new string module directory.
Also update python3-dir Python version to 3.14.
Reproducibility looks OK:
|2025-12-03 17:23:39,179 - oe-selftest - INFO - Reproducibility summary for deb: same=2261 different=0 different_excluded=0 missing=0 total=2261
|unused_exclusions=[]
|2025-12-03 17:23:39,179 - oe-selftest - INFO - Checking ipk packages for differences...
|2025-12-03 17:23:41,631 - oe-selftest - INFO - Reproducibility summary for ipk: same=2261 different=0 different_excluded=0 missing=0 total=2261
|unused_exclusions=[]
|2025-12-03 17:23:41,631 - oe-selftest - INFO - Checking rpm packages for differences...
|2025-12-03 17:23:43,952 - oe-selftest - INFO - Reproducibility summary for rpm: same=2261 different=0 different_excluded=0 missing=0 total=2261
|unused_exclusions=[]
|2025-12-03 17:23:43,952 - oe-selftest - INFO - ... ok
|2025-12-03 17:24:32,829 - oe-selftest - INFO - ----------------------------------------------------------------------
|2025-12-03 17:24:32,830 - oe-selftest - INFO - Ran 1 test in 1616.811s
|2025-12-03 17:24:32,830 - oe-selftest - INFO - OK
|2025-12-03 17:24:36,170 - oe-selftest - INFO - RESULTS:
|2025-12-03 17:24:36,170 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (1567.51s)
|2025-12-03 17:24:38,017 - oe-selftest - INFO - SUMMARY:
|2025-12-03 17:24:38,017 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 1616.811s
|2025-12-03 17:24:38,018 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0)
1.Changelog
- Initial 64-bit RISC-V support (Maksymilian Knust, Filip Wasil)
- Add 64-bit LoongArch support (Jin Bo, Hecai Yuan)
- Implement release and reuse of temporary registers for some targets (Jorge Zapata)
- x86: Implement EVEX encoding and an opcode validation system (Jorge Zapata)
- x86: Opcode refactor, improved constant handling and various other fixes (Jorge Zapata)
- x86: add missing rounding operands for AVX and SSE (L. E. Segovia)
- x86: Implement 64-bit single move constant load (L. E. Segovia)
- includes: stop exporting the private compiler and OrcTarget definitions (Jorge Zapata)
- Use hotdoc instead of gtk-doc to generate the documentation (Jorge Zapata)
- ORC_DEBUG_FATAL environment variable allows abort on log messages of a certain level (Carlos Falgueras García)
- Error message improvements and NEON backend clean-ups (Alexander Slobodeniuk)
- Fix a few valgrind issues (Doug Nazar)
- Build: enable tools such as orcc and orc-bugreport by default (Nirbheek Chauhan)
- Various build fixes (L. E. Segovia, Sebastian Dröge)
2.Documentation are no longer built with gtk_doc, it was replaced by hotdoc.
https://gitlab.freedesktop.org/gstreamer/orc/-/commit/0ad1f5884c654b614cf1ddd114a7ec9140311a3a
This means documentation will no longer be built in the recipe or packaged in
the output packages.
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop backport fix-musl-compilation.patch which already exists
in 2.50.4
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
- Fix compile failure on qemux86 [1] to
drop fix_op_instanceof_handler_for_32-bit_C-loop_build.patch,
which conflicts with upstream solution [2]
2. Drop file://0001-Fix-python-path-when-invoking-py-compile-54.patch as it was merged upstream.
3. Add pkgconfig to solve following configure error:
../sources/libcap-ng-0.9/configure: line 14862: syntax error near unexpected token `LIBBPF,libbpf,'
../sources/libcap-ng-0.9/configure: line 14862: `PKG_CHECK_MODULES(LIBBPF,libbpf,'
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Tue, 13 Jan 2026 10:25:04 +0000 (18:25 +0800)]
python3-urllib3: upgrade 2.6.2 -> 2.6.3
Changelog:
==========
- Fixed a high-severity security issue where decompression-bomb safeguards of
the streaming API were bypassed when HTTP redirects were followed.
- Started treating Retry-After times greater than 6 hours as 6 hours by
default.
- Fixed urllib3.connection.VerifiedHTTPSConnection on Emscripten.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Tue, 13 Jan 2026 10:25:03 +0000 (18:25 +0800)]
python3-pdm: upgrade 2.26.2 -> 2.26.4
Changelog:
===========
- Make sure cursor closing for fixing PyPy different gc mode also add PyPy in CI.
- Fix a bug that old HTTP cache directories cause PDM to crash when trying to clear them.
- Port to hishel 1.0.0.
- Update .gitignore file in the default template.
- Correct the sysconfig variables for Python standalone build installations.
- Ignore packages.vcs.requested-revision if it's None when formatting pylock.toml.
- Fix test failures with uv test cases using non-venv Python interpreters.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Tue, 13 Jan 2026 10:25:00 +0000 (18:25 +0800)]
python3-build: upgrade 1.3.0 -> 1.4.0
Changelog:
===========
- Add --quiet flag
- Add option to dump PEP 517 metadata with --metadata
- Support UV environment variable
- Remove a workaround for 3.14b1
- In 3.14 final release, color defaults to True already
- Pass sp-repo-review
- In pytest configuration, log_level is better than log_cli_level
- Split up typing and mypy
- Use types-colorama
- In docs, first argument for _has_dependency is a name
- Fix test failure when flit-core is installed
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Tue, 13 Jan 2026 10:24:59 +0000 (18:24 +0800)]
libtasn1: upgrade 4.20.0 -> 4.21.0
Changelog:
=============
- Undocumented asn1Decoding --debug flag removed
- Code coverage for src/ went from 35% to 82%
- Fix of ASN.1 typo in manual
- NEWS renamed to NEWS.md and uses markdown syntax.
- Update gnulib files and various build/maintenance fixes.
- Fix for vulnerability CVE-2025-13151 Stack-based buffer overflow
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>