Liyin Zhang [Thu, 18 Dec 2025 07:57:57 +0000 (15:57 +0800)]
rsync: fix CVE-2025-10158
CVE-2025-10158:
A malicious client acting as the receiver of an rsync file transfer can trigger an out of bounds read of a heap based buffer, via a negative array index. The malicious rsync client requires at least read access to the remote rsync module in order to trigger the issue.
Miaoqing Pan [Thu, 18 Dec 2025 03:04:48 +0000 (11:04 +0800)]
wpa-supplicant: enable 802.11be support
wpa_supplicant has supported IEEE 802.11be (Wi-Fi 7) for over three
years. With growing market demand for Wi-Fi 7, it is now an
appropriate time to enable IEEE 802.11be Extremely High Throughput
(EHT) support, mainly for AP mode.
This implementation conforms to IEEE Std 802.11be-2024, which was
approved by the IEEE SA Standards Board on September 26, 2024 and
officially published on July 22, 2025.
Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Thu, 18 Dec 2025 02:53:51 +0000 (10:53 +0800)]
insane.bbclass: avoid unnecessary rerun of do_patch
When toggling ptest for DISTRO_FEATURES, the do_patch function
gets rerun.
The dependency chain is:
do_patch -> do_qa_patch -> DISTRO_FEATURES{ptest}
Such rerun is not necessary. And it's kind of annoying because everything
gets rebuilt, including cross toolchain and recipes not using ptest.
The ERROR_QA and WARN_QA should be enough to trigger the re-run
if unimplemented-ptest is added to one of them. So remove the first
check of DISTRO_FEATURES on ptest to avoid these unnecessary reruns.
fragments/autobuilder: Add back PTEST_EXPECT_FAILURE
The PTEST_EXPECT_FAILURE option setting was recently dropped from
core-image-ptest [1]. This is probably the right thing to do, but we
still want to use it on the autobuilder.
Note, this will now be enabled on all images and not just the ptest
ones, but this should not change the whole behaviour.
Chen Qi [Tue, 9 Dec 2025 02:00:39 +0000 (02:00 +0000)]
core-image-ptest: drop PTEST_EXPECT_FAILURE
This variable setting is not helping people now. Because in practice,
ptest failure warnings on autobuilder are still catched and reported
back to developer.
In addition, setting this value to 1 is sometimes causing confusion for
developers.
As an example, I used 'bitbake core-image-ptest-util-linux:do_testimage'.
It succeeded with warning message. I didn't notice the warning message.
I saw the command succeeded and I tought util-linux ptest is OK. But
in actual fact, the ptest failed. It's the PTEST_EXPECT_FAILURE setting
in this core-image-ptest.bb that is not giving me error.
In summary, a simple erroring out action should be clearer.
Khem Raj [Sat, 13 Dec 2025 18:35:22 +0000 (10:35 -0800)]
kexec-tools: Upgrade to 2.0.32
License-Update: Update with current text for GPLv2 [1]
* This version has support for riscv64 so enable it in COMPATIBLE_HOSTS
* LoongArch support and other fixes
* Drop patch already upstream in 2.0.32 release
Hongxu Jia [Wed, 17 Dec 2025 11:08:03 +0000 (19:08 +0800)]
webkitgtk: workaround compile failure for large debug symbols
Originally, we move space optimize from recipe webkitgtk to
yocto-space-optimize.inc [1], it caused multiple build failures
if not include yocto-space-optimize.inc
For qemux86-64: "relocation truncated to fit: R_X86_64_32 against `.debug_info'"
For qemuarm64: "relocation truncated to fit: R_AARCH64_ABS32 against `.debug_info'"
According to the suggestion of gcc [2], pass -g1 to massively reduce the size of
the debug symbols to workaround the errors
Remove duplicate setting from yocto-space-optimize.inc at the same time.
It's possible that users use EXTRA_USERS_PARAMS to set password
for root or explicitly expire root password. So we need to check
these two cases to ensure the 'no password' banner is not misleading.
As an example, below are configurations to make an image requiring
setting a root password on first boot, but without having to first enter
a static initial password:
In conf/toolcfg.cfg:
OE_FRAGMENTS += "distro/poky core/yocto/root-login-with-empty-password
In local.conf:
INHERIT += "extrausers"
EXTRA_USERS_PARAMS += " passwd-expire root;"
Adding such banner is only meaningful when base-passwd and baes-files are
installed. In case of container image, they might not be installed (e.g.,
container-test-image). So add extra checking for it. With the above logic,
we avoid breaking the following oe-selftest test case:
containerimage.ContainerImageTests.test_expected_files
Chen Qi [Wed, 17 Dec 2025 05:22:39 +0000 (05:22 +0000)]
extrausers.bbclass: use '+=' for ROOTFS_POSTPROCESS_COMMAND
This is the only place in oe-core that still uses apppend for
ROOTFS_POSTPROCESS_COMMAND. It's modifying users and groups and
such behavior does not need to run as the last step. So change
to use '+='.
Favazza, Samuele [Tue, 16 Dec 2025 14:33:31 +0000 (14:33 +0000)]
run-postinsts: fix post-install-script output in log file
When the POSTINST_LOGGING is enabled the output of the post-install
script is not stored in the 'postinstall.log' file. This probably
happened since commit 706410c847ac9c89317d098de5d5c580736edbbb.
Fix the post-install script execution statement to honor the
stdout/stderr redirection to the 'postinstall.log' file.
Ross Burton [Tue, 16 Dec 2025 16:10:01 +0000 (16:10 +0000)]
gdk-pixbuf: upgrade 2.42.12 -> 2.44.4
Upstream changes (subset):
- Add glycin loader (a sandboxed rust image loading framework)
- Deprecate the XPM-related API
- The animation-related APIs have been deprecated
- jpeg: Fix a crash related to icc data (CVE-2025-7345)
- Prefer builtin modules
Explicitly disable the glycin plugin for now, as we don't have a recipe
for glycin yet.
Explicitly disable the thumbnailer for now, this hasn't been built since
2.38[2] and would need more integration to work in cross builds.
Use 'documentation' for the gi-docgen option[1].
[1] gdk-pixbuf ee5a35665 ("build: Add "documentation" configuration option")
[2] gdk-pixbuf fc3770831 ("meson: don't build tests or the thumbnailer if cross building")
since 2.38
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>
Ross Burton [Tue, 16 Dec 2025 13:36:00 +0000 (13:36 +0000)]
freetype: use meson instead of autotools
Port the options to Meson, and drop all of the autoconf tweaking.
Enable Harfbuzz support using dynamic loading by default. If Harfbuzz is
present at runtime then FreeType will use it for improved hinting. Do
not RDEPENDS on harfbuzz so that it's only used if already present in
the rendering stack.
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>
Ross Burton [Tue, 16 Dec 2025 13:35:59 +0000 (13:35 +0000)]
freetype: upgrade 2.13.3 -> 2.14.1
Important upstream changes:
- A new configuration macro `FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC`
is available to load the HarfBuzz library dynamically.
- The auto-hinter got new abilities.
- Bitmap-only TrueType fonts now ignore the `FT_LOAD_NO_BITMAP` flag.
Update the home page and bug tracker links.
License-Update: wording, nothing relevant.
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>
Ross Burton [Tue, 16 Dec 2025 13:35:57 +0000 (13:35 +0000)]
ruby: upgrade 3.4.5 -> 3.4.7
Upstream changes:
- Merge URI-1.0.4 for Ruby 3.4 by hsbt
- Bug #21313: it in rescue/ensure on prism
- [3.4] compile.c: Handle anonymous variables in outer_variable_cmp by byroot
- Bug #21610: Use ec->interrupt_mask to prevent interrupts.
- Bug #21611: Ruby 3.4.6 can't be built with GCC 15.2.1
- Bug #21342: Segfault: invalid keeping_mutexes when using Mutex in Thread then Fiber after GC
- Bug #21569: [armv7, musl] SIGBUS in ibf_load_object_float due to unaligned VFP double load when reading IBF
- Bug #21568: Requiring core libraries when already requiring multiple user defined libraries with the same name can error
- Bug #21514: Rust deprecation warning building ruby-3.4.5/yjit/src/codegen.rs
- Bug #21259: The Prism compiler wrongly creates a line number of zero
- Bug #21188: PRISM does not end reading from tty with ^D twice
- Bug #21546: prefix in ruby.pc is wrong when --enable-load-relative
- Bug #21402: ruby2_keywords affects methods/procs with post arguments
- Bug #19417: Regexp \p{Word} and [[:word:]] do not match Unicode Other_Number character
- Bug #21535: NoMethodError becomes NameErrorwhen using ... delegation and method call indirection
- YJIT: Add more information to an assert message by k0kubun
- Bug #21567: Crash when $LOADED_FEATURES is modified during require
- Bug #21561: Wrong encoding for File.dirname result on Windows
- Bump Prism version to 1.5.1 by k0kubun
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>
Ross Burton [Tue, 16 Dec 2025 13:35:56 +0000 (13:35 +0000)]
python3-hatchling: upgrade 1.27.0 -> 1.28.0
Upstream changes:
- Drop support for Python 3.9
- Add sbom-files option and sbom_files build data to the wheel build
target for including Software Bill of Materials files.
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>
Ross Burton [Tue, 16 Dec 2025 13:35:55 +0000 (13:35 +0000)]
ofono: upgrade 2.18 -> 2.19
Upstream changes:
- gobi: Support raw-ip only devices
- Revert "atmodem: let +COPS: report access technology for SIMCom"
- atmodem: report cell technology capability for SIMCom A76XX
- atmodem: also handle EUTRAN networks in creg_notify()
- atmodem: add explicit handling for netreg status in creg_notify()
- sim7100: Update to handle broader A76XX modem series
- sim7100: enable ppp-reset workaround
- plugins: drop droid and use gobi for droid4 modem instead
- gobi: Add "OfflineOperatingMode" property
- gobi: do not assume LTE is supported, detect it
- ofono.conf: enable D-Bus use with PipeWire
- gobi: If WDA unsupported, skip data format logic
- gobi: request PDS service if supported
- gobi: fix start_service_requests() return type
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>
- Update many existing ACPI tables to follow the ACPI 6.6 Specification
changes and/or newly approved ASWG ECRs
- Add a few new ACPI tables: IOVT, SWFT, KEYP
- Add many new UUIDs, Hardware/PnP/ACPI IDs
- Support a few new special methods (_xxx format) and modify few
existing ones to stay compliant with the latest ACPI Specification
changes
- Improve existing tools/utilities and fix/clean up some problematic
usages along with patching certain vulnerabilities
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>
Since x86 .eh_frame section may reference _GLOBAL_OFFSET_TABLE_, keep
_GLOBAL_OFFSET_TABLE_ if there is dynamic section and the output
.eh_frame section is non-empty.
Backport a patch from upstream to fix CVE-2025-11494
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=b6ac5a8a5b82f0ae6a4642c8d7149b325f4cc60a]
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>
oe-selftest: uboot: add test for building U-Boot initial env binary
This adds two new selftest cases `test_uboot_initial_env_binary` and
`test_uboot_config_initial_env_binary` to verify the build of the U-Boot
initial env binary with the mkimage tool.
Build the U-Boot initial environment binary image if
UBOOT_INITIAL_ENV_BINARY is set to "1". The environment partition size
(in bytes, hexadecimal or decimal) must be defined using
UBOOT_INITIAL_ENV_BINARY_SIZE.
If U-Boot environment redundancy is enabled,
UBOOT_INITIAL_ENV_BINARY_REDUND must be set to "1".
The resulting binary can be flashed using WIC at the environment offset,
overriding any existing environment if present, for example:
part --source rawcopy --sourceparams="file=u-boot-initial-env-sd.bin" --ondisk sda --no-table --offset 4096
Signed-off-by: Pierre-Loup GOSSE <pierre-loup.gosse@smile.fr> Reviewed-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>
Richard Purdie [Thu, 11 Dec 2025 15:29:36 +0000 (15:29 +0000)]
oelint: Remove obsolete class
Most of the checks in this class are covered by other areas of the code now.
If there is anyting important missing, it should be added elsewhere. The
code hasn't had meaningful changes since 2014. Drop it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Wed, 17 Dec 2025 15:05:34 +0000 (15:05 +0000)]
cve-update: Avoid NFS caching issues
When moving the updated CVE database file to the downloads directory,
ensure that it has a different inode number to the previous version of
this file.
We have seen "sqlite3.DatabaseError: database disk image is malformed"
exceptions on our autobuilder when trying to read the CVE database in
do_cve_check tasks. The context here is that the downloads directory
(where the updated database file is copied to) is shared between workers
as an NFS mount. Different autobuilder workers were seeing different
checksums for the database file, which indicates that a mix of both new
and stale data was being read. Forcing each new version of the database
file to have a different inode number will prevent stale data from being
read from local caches.
This should fix [YOCTO #16086].
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Germann, Bastian [Fri, 12 Dec 2025 13:47:07 +0000 (13:47 +0000)]
run-postinsts: propagate exit state to run-postinsts.service
In case an exec_postinst_scriptlets child process fails during installation we
want indication that the run-postinsts.service had a problem.
We still try to install all scriptlets and only run remove_rcsd_link if all
postinst scripts ran without error. Otherwise on every following boot a new
install attempt of the missing scriptlet(s) is performed.
Liu Yiding [Fri, 12 Dec 2025 08:31:31 +0000 (16:31 +0800)]
gnutls: fix postinst script for ${PN}-fips for multilibs
Append "-p" parameter to mkdir to fix failure like following:
When use "gnutls-cli --fips140-mode" command in multilib environment, it shows library not found error.
root@qemux86-64:~# gnutls-cli --fips140-mode
library is NOT in FIPS140-2 mode
And it was caused by lacking hmac files.
root@qemux86-64:~# ls /usr/lib64/.*hmac
ls: cannot access '/usr/lib64/.libgnutl*': No such file or directory
The reason is as following:
When '${sysconfdir}/gnutls' was created by 'mkdir' with lib32-gnutls, the dir will not be created again by 'mkdir' with lib-gnutls again, and the subsequent command will not be executed, so hmac files were missing in lib64 environment.
${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac
So append "-p" parameter can avoid this error.
[RP: The -p option doesn't error if the directory already exists] Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cross task outputs can call native dependencies and even when cross
recipe output doesn't change it might produce different results when
the called native dependency is changed, e.g. clang-cross-${TARGET_ARCH}
contains symlink to clang binary from clang-native, but when clang-native
outhash is changed, clang-cross-${TARGET_ARCH} will still be considered
equivalent and target recipes aren't rebuilt with new clang binary, see
work around in https://github.com/kraj/meta-clang/pull/1140 to make target
recipes to depend directly not only on clang-cross-${TARGET_ARCH} but
clang-native as well.
I have added a small testcase in meta-selftest which demostrates this issue.
Not included in this change, but will send it if useful.
openembedded-core $ ls -1 meta-selftest/recipes-devtools/hashequiv-test/
print-datetime-link-cross.bb
print-datetime-link-native.bb
print-datetime-native.bb
print-datetime-usecross.bb
print-datetime-usenative.bb
print-datetime-native provides script which prints defined PRINT_DATETIME variable.
print-datetime-link-native and print-datetime-link-cross both provide a symlink to
the script from print-datetime-native.
print-datetime-usenative and print-datetime-usecross are target recipes using the
native and cross versions of print-datetime-link-* recipe.
# clean build all is rebuilt:
$ bitbake -k print-datetime-usenative print-datetime-usecross
WARNING: print-datetime-native-1.0-r0 do_install: print-datetime-native current DATETIME in script is 2025-11-13_20_05
WARNING: print-datetime-link-native-1.0-r0 do_install: print-datetime-link-native current DATETIME in symlink is 2025-11-13_20_05
WARNING: print-datetime-link-cross-x86_64-1.0-r0 do_install: print-datetime-link-cross-x86_64 current DATETIME in symlink is 2025-11-13_20_05
WARNING: print-datetime-usenative-1.0-r0 do_install: print-datetime-usenative current DATETIME from print-datetime-link is 2025-11-13_20_05
WARNING: print-datetime-usecross-1.0-r0 do_install: print-datetime-usecross current DATETIME from print-datetime-link is 2025-11-13_20_05
# keep sstate-cache and hashserv.db:
# print-datetime-usenative is correctly rebuilt, because print-datetime-link-native has different hash (because print-datetime-native hash changed)
# print-datetime-usecross wasn't rebuilt, because print-datetime-link-cross-x86_64 doesn't include the changed hash of print-datetime-native
$ bitbake -k print-datetime-usenative print-datetime-usecross
WARNING: print-datetime-native-1.0-r0 do_install: print-datetime-native current DATETIME in script is 2025-11-13_20_07
WARNING: print-datetime-link-native-1.0-r0 do_install: print-datetime-link-native current DATETIME in symlink is 2025-11-13_20_07
WARNING: print-datetime-link-cross-x86_64-1.0-r0 do_install: print-datetime-link-cross-x86_64 current DATETIME in symlink is 2025-11-13_20_07
WARNING: print-datetime-usenative-1.0-r0 do_install: print-datetime-usenative current DATETIME from print-datetime-link is 2025-11-13_20_07
It's because print-datetime-link-cross-x86_64 depsig doesn't include print-datetime-native signature:
Chen Qi [Fri, 12 Dec 2025 02:36:45 +0000 (10:36 +0800)]
qemuboot.bbclass: make nameserver configurable
Instead of hardcoding '8.8.8.8' for tap interface, we introduce
QB_TAP_NAMESERVER to allow nameserver to be configured.
This helps improve runqemu user experience because users can easily
configure their nameservers to access the networks they want. Note
that this method does not change the contents of the rootfs.
Ross Burton [Thu, 11 Dec 2025 17:55:47 +0000 (17:55 +0000)]
meson: upgrade to 1.10.0
Release notes:
- Support for the `counted_by` attribute
- Added a `values()` method for dictionaries
- Add cmd_array method to ExternalProgram
- Microchip XC32 compiler support
- Added OS/2 support
- Android cross file generator
- Array `.slice()` method
- `-Db_msvcrt` on clang
- Added `build_subdir` arg to various targets
- Support for Cargo workspaces
- Experimental Codegen module
- Methods from compiler object now accept strings for include_directories
- `meson format` has a new `--check-diff` option
- `-Db_thinlto_cache` now supported for GCC
- Using `meson.get_compiler()` to get a language from another project is marked broken
- Experimental C++ import std support
- Common `Cargo.lock` for all Cargo subprojects
- Add a configure log in meson-logs
- Added new `namingscheme` option
- Rewriter improvements
- Passing `-C default-linker-libraries` to rustc
- `rustc` will receive `-C embed-bitcode=no` and `-C lto` command line options
- New method to handle GNU and Windows symbol visibility for C/C++/ObjC/ObjC++
- Vala BuildTarget dependency enhancements
- `i18n.xgettext` now accepts CustomTarget and CustomTargetIndex as sources
Drop 0001-python-module-do-not-manipulate-the-environment-when.patch as
this code no longer exists.
Rebase 0001-Make-CPU-family-warnings-fatal.patch as code moved.
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>
Ross Burton [Thu, 11 Dec 2025 17:55:46 +0000 (17:55 +0000)]
oeqa/selftest/meson: use iputils instead of libepoxy
libepoxy is suboptimal for the SDK testing purposes, mainly because it
is a GL-based library so we have to disable all of the functionality.
While this hasn't been a problem, meson 1.9.2 introduces a change of
behaviour which breaks the build.
Take this opportunity to switch to iputils, which is actively maintained,
has minimal dependencies, and builds faster.
Also move some asserts into build_meson() to avoid duplication in the
test case.
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>
Ross Burton [Thu, 11 Dec 2025 15:50:41 +0000 (15:50 +0000)]
libxml2: remove obsolete ptest RDEPENDS
As part of the libxml2 2.10.3 upgrade[1] the run-ptest was moved from
calling make to running the tests directly, but the make dependency was
not removed.
Also verified that there is no bash usage in the tests, so also remove
the bash dependency.
patchtest/selftest: Ensure HEAD is attached before running attach tests case
If the repo is in a detached HEAD state, create and check out a temporary branch
to attach HEAD. If the branch already exists, the error is raised via run_sh.
Add a check to verify that the Git state has not changed before and
after the test in the attached HEAD.
patchtest/selftest: Extract head-attached test loop into function
Move the loop that run the tests in head attached tests into a function
'test_head_attached'. Also add an explicit check for the case where no patches
are found and exit with an error.
patchtest/selftest: refactor patch retrieval and result analysis
Move the code responsible for collecting patches into a new get_patches()
function. It returns a list of dictionaries containing:
- test ID
- patch name
- expected result
- root path
Refactor result analysis code into an analyze_result() function that updates the
counts dictionary.
These two refactorings will make it easier to add a new test in detached HEAD
mode.
patchtest: fix failure when oe-core repo is in detached HEAD
Patchtest fails when oe-core git repo is in a "detached HEAD" state:
Error log:
> File "/usr/lib/python3/dist-packages/git/repo/base.py", line 881, in
active_branch return self.head.reference ^^^^^^^^^^^^^^^^^^^
> File "/usr/lib/python3/dist-packages/git/refs/symbolic.py", line 311, in
_get_reference raise TypeError("%s is a detached symbolic reference as it
points to %r" % (self, sha)) TypeError: HEAD is a detached symbolic reference
as it points to '3dd31d3b29730fa1130645d76bb71914ac036335' None
In this case, no current branch is available for the clean operation.
To fix this, updates the checkout logic:
- if a current branch is available, use it,
- otherwise, fall back to the commit pointed to by HEAD.
This ensures that the script works correctly even when HEAD is detached.
* Recent updates to rustc now require 'target_pointer_width'
to be specified as an integer.
Cast it to 'int' in rust target configuration to resolve the
type consistency error.
https://github.com/rust-lang/rust/pull/144443
* The "remote-test-server" bin is now generated in stage2-tools-bin dir
rather than stage1. Update the test suite and recipe accordingly.
* Rebase existing patches with v1.91.0.
* Drop merged patches with rust v1.91.0.
- 0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch
https://github.com/llvm/llvm-project/pull/138077/commits/bcc31a9384d2df1c0f27ef140e1f0f9ee493034f
Yash Shinde [Thu, 11 Dec 2025 14:08:14 +0000 (06:08 -0800)]
oeqa/selftest/rust: Exclude tier-check and fix openssl-sys build error
- Exclude tier-check which fails due to file not found error.
Testing stage2 platform support check (x86_64-poky-linux-gnu)
Compiling tier-check v0.1.0
(/srv/pokybuild/yocto-worker/qemux86-64-tc/build/build-st-1400964/tmp/work/x86-64-v3-poky-linux/rust/1.91.1/sources/rustc-1.91.1-src/src/tools/tier-check)
thread 'main' (163263) panicked at src/tools/tier-check/src/main.rs:16:10:
rustc should run: Os { code: 2, kind: NotFound, message: "No such file or directory" }
- Fix following error by providing openssl in the image:
error: failed to run custom build command for `openssl-sys v0.9.109`
Failed to find OpenSSL development headers.
You can try fixing this setting the `OPENSSL_DIR` environment variable
pointing to your OpenSSL installation or installing OpenSSL headers package
specific to your distribution.
- Exclude "tests/assembly-llvm/c-variadic-arm.rs" failing on arm32.
Peter Tatrai [Thu, 11 Dec 2025 14:08:13 +0000 (06:08 -0800)]
oeqa/selftest/rust: add missing zlib and zstd dependencies
LLVM requires zlib and zstd support for compression routines
used by rustc_codegen_llvm and related components.
Recipe-level RUSTFLAGS are not propagated in qemu image, causing bootstrap
test linkage failures. When these libraries are absent in the selftest
execution environment, bootstrap test binaries fail to link and cause
following failure:
error: linking with `target-rust-ccld` failed: exit status: 1
= note: undefined reference to `compress2'
= note: undefined reference to `uncompress'
= note: undefined reference to `ZSTD_decompress'
= note: undefined reference to `ZSTD_isError'
= note: undefined reference to `ZSTD_compress2'
= note: undefined reference to `crc32'
Explicitly pass `-lz` and `-lzstd` in the image and ensure the corresponding
runtime libraries are present in the image.
It was initially reported on qemuppc and later seen across all tested
architectures (arm32/64, riscv64, x86_32/64).
Bruce Ashfield [Wed, 10 Dec 2025 14:53:00 +0000 (09:53 -0500)]
kernel-devsrc: add files for 6.18+
kernel's 6.18+ have added a dependency on rq-offsets.
The rq-offsets compile pulls in kernel/sched/rq-offsets.c plus the
scheduler-local headers (sched.h, cpudeadline.h, cpupri.h, features.h,
stats.h, ext.h) and kernel/workqueue_internal.h; those weren’t
previously in the devsrc payload, so kernel/ sched/rq-offsets.s
couldn’t be built on target.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 10 Dec 2025 13:56:03 +0000 (13:56 +0000)]
buildhistory_analysis: show renamed directories
If a directory was just renamed but the contents did not change, it was
not listed in the output. This change should be listed, so be sure to
handle that case.
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>
Changqing Li [Tue, 9 Dec 2025 10:41:21 +0000 (18:41 +0800)]
go.bbclass: change GOTMPDIR to improve reproducibility
When cgo is enabled, the Go toolchain writes temporary source files
(*.c) under GOTMPDIR and compiles them there. when -trimpath is passed
to go, Go passes options such as
-ffile-prefix-map=$WORK/b387=/tmp/go-build internally to the GCC
instance it invokes. The variable WORK is a temporary directory created
under GOTMPDIR, refer the following log:
OE also passes its own DEBUG_PREFIX_MAP to GCC(finally by CGO_CFLAGS),
including -ffile-prefix-map=${B}=${TARGET_DBGSRC_DIR}, where B is
${WORKDIR}/build. Because GOTMPDIR defaults to ${WORKDIR}/build-tmp, the
Go temporary directory looks like ${WORKDIR}/build-tmp/go-buildXYZ. Its
prefix therefore begins with ${WORKDIR}/build, so GCC matches the
DEBUG_PREFIX_MAP entry for ${B} first.
As a result, a path such as ${WORKDIR}/build-tmp/go-buildXYZ is
rewritten to ${TARGET_DBGSRC_DIR}-tmp/go-buildXYZ. This breaks the
-ffile-prefix-map option that Go itself adds, because the original WORK
path no longer matches the value Go expects. Since Go creates
go-buildXYZ directories randomly and internally, this causes the build
non-reproducible.
This patch changes GOTMPDIR from ${WORKDIR}/build-tmp to
${WORKDIR}/tmp-go-build so that the path no longer matches ${B}. This
prevents unintended replacements by OE's DEBUG_PREFIX_MAP and
restores reproducibility.
Note that pure go program like go-helloworld under OE will not have this
issue since it doen't use cgo, it is reproducible without this fix
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix builds on Ubuntu 25.10 by making sure to use parameters that are
correctly understood by core-utils and uutils. Most of these were
already removed by a previous commit, but some occurrences were missed.
Lucas Stach [Mon, 8 Dec 2025 19:17:39 +0000 (20:17 +0100)]
oe-depends-dot: handle packages with period in name
oe-depends-dot currently fails to look up the key when the package
name contains a period, as the key gets truncated in the split from
the task. Handle this by only splitting a single time from the right.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Fri, 5 Dec 2025 06:07:20 +0000 (06:07 +0000)]
util-linux/util-linux-libuuid: upgrade from 2.41.1 to 2.41.2
The following two patches are dropped as they are in new version:
util-linux/0001-include-mount-api-utils-avoid-using-sys-mount.h.patch
util-linux/0001-tests-helpers-test_sigstate.c-explicitly-reset-SIGIN.patch
Ptest change:
The new test case misc/colors needs lib/color-names.c. So copy it.
Hongxu Jia [Wed, 3 Dec 2025 08:24:02 +0000 (16:24 +0800)]
libxml2: upgrade 2.14.6 -> 2.15.1
Due to upstream [Remove LZMA support][1], drop option --without-lzma
Due to upstream [disable python bindings by default][2] and are
planned to be removed in the 2.16 release[3][4]. If we still enable
python bindings by --with-python=yes, due to upstream [doc: Build docs
with Doxygen and xsltproc][5], build python binding requires doxygen
otherwise build will fail, and we do not provide doxygen in oe-core,
so remove python package directly.
Refresh install-tests.patch and run-ptest to not install python test
cases
lib/oe/patch: use author date as commit date for "git am"
By default, "git am" uses the time of commit creation as the committer
date and is therefore "unique" to each build.
Use the --committer-date-is-author-date option for git to use the author
date as the committer date to get deterministic meta-data and therefore
commit hashes (which may end-up in sources or build in the form of e.g.
localversion file).
https://git.openembedded.org/openembedded-core/commit/?id=5624dfcea87da54c49ba1d63b528da020f351908 added support for tmux in ncurses-terminfo-base in 2015
by adding "TERM=screen". However the value of TERM is now a build option of tmux, and it uses TERM="tmux-256color" in my testing on Ubuntu / macOS.
This commit restores support for tmux in ncurses-terminfo-base. This fixes e.g. `top` not working when starting `tmux`, then `adb shell`, then `top`.
Robert Yang [Mon, 1 Dec 2025 02:33:49 +0000 (18:33 -0800)]
e2fsprogs: misc/create_inode.c: Fix for file larger than 2GB
Fixed:
$ dd if=/dev/zero of=../image.ext4 bs=1M count=4k
$ dd if=/dev/random of=../rootfs/largefile bs=1M count=3k
$ ./misc/mke2fs -t ext4 -d ../rootfs/ ../image.ext4
__populate_fs: Ext2 file too big while writing file "largefile"
mke2fs: Ext2 file too big while populating file system
This was because the offset is overflow, use __u64 to fix the problem.
Another code which uses ext2_off_t is copy_fs_verity_data(), but it only copies
the metadata, so it should be enough large for it, just leave it there.
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>