Khem Raj [Tue, 12 Aug 2025 05:13:12 +0000 (22:13 -0700)]
libtirpc: Fix version scripts to work with lld linker
Since bfd linker does not enable string checking for versioned symbols, build is generating
undefined versioned symbols, which LLD does not allow by default. Actually these symbols
should not be generated at all when given features are not enabled
Fixes link errors with lld
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol '_svcauth_gss' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'authgss_create' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'authgss_create_default' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'authgss_free_private_data' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'authgss_get_private_data' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'authgss_service' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'cbc_crypt' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'ecb_crypt' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'endrpcent' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'getrpcent' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'getrpcbynumber' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'getrpcbyname' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'gss_log_debug' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'gss_log_hexdump' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'gss_log_status' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'rpc_gss_get_error' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'rpc_gss_get_mech_info' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'rpc_gss_get_mechanisms' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'rpc_gss_get_principal_name' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'TIRPC_0.3.0' to symbol 'rpc_gss_get_versions' failed: symbol not defined
Khem Raj [Tue, 12 Aug 2025 05:13:10 +0000 (22:13 -0700)]
libxcrypt: Allow undefined symbols in version scripts with lld linker
Unlike GNU ld, LLD defaults to erroring about undefined version symbols
add commandline parameter to sush lld here
Fixes
| x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'crypt_gensalt_r' failed: symbol not defined
| x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt' failed: symbol not defined
| x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt' failed: symbol not defined
| x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_gensalt_r' failed: symbol not defined
| x86_64-yoesdk-linux-ld.lld: error: version script assignment of 'XCRYPT_2.0' to symbol 'xcrypt_r' failed: symbol not defined
| x86_64-yoesdk-linux-clang: error: linker command failed with exit code 1 (use -v to see invocation)
LLD has stricter defaults and strict symbol versioning enforcement.
LLD requires that all symbols
referenced in version scripts actually exist in the object files being
linked Same errors/behavior can be
seen with GNU linker as well if we add -Wl,--undefined-version to LDFLAGS
GNU linker chooses to be a bit lenient with defaults.
Having LLD to lower its barrier does not change the output it
produces, it's the same as GNU ld
This is known issue seen with other distros e.g. NixOS upstream [1]
Richard Purdie [Sun, 10 Aug 2025 22:25:23 +0000 (23:25 +0100)]
Revert "qemux86-64: Reduce tuning to core2-64"
This was originally applied as our autobuilder had older hardware and couldn't
cope with the newer settings. This has been resolved in the new cluster so we
can go back to the newer tuning, which software is now more likely to need.
wic: add --extra-partition-space option to set unused space
By default, the content of the partition is filled by the filesystem
without leaving any unused free space. The --extra-space flag adds
extra space to the filesystem size, not to the partition.
Unused free space after the filesystem can be useful for some cases,
such as encrypting a partition at runtime.
With --extra-partition-space 32M, we ensure that the last 32M of the
partition is unused: this space does not contain filesystem data and
can store the LUKS2 header.
The implementation sets a difference between the partition and
filesystem size:
- With --fixed-size, the extra part space is removed from the
filesystem size.
- Otherwise (with or without --size flag), the extra part space is
added to the partition size.
Gyorgy Sarvari [Mon, 11 Aug 2025 11:49:52 +0000 (13:49 +0200)]
gperf: upgrade 3.1 -> 3.3
Both patches were dropped, because they are included in this release.
License-Update: copyright date Update
Changelog:
3.3:
* Speedup: gperf is now between 2x and 2.5x faster.
3.2:
* The generated code avoids several types of warnings:
- "implicit fallthrough" warnings in 'switch' statements.
- "unused parameter" warnings regarding 'str' or 'len'.
- "missing initializer for field ..." warnings.
- "zero as null pointer constant" warnings.
* The input file may now use Windows line terminators (CR/LF) instead of
Unix line terminators (LF).
Note: This is an incompatible change. If you want to use a keyword that
ends in a CR byte, such as xyz<CR>, write it as "xyz\r".
Tobias Pistora [Mon, 11 Aug 2025 10:51:15 +0000 (12:51 +0200)]
devtool: fix upgrade for recipes with git submodules
Fixes [YOCTO #15943]
Fixes invalid path argument while calling "git rev-list" from submodule folders.
Replaced the local __run() wrapper function with _run() at "git rev-list" command calls.
Peter Tatrai [Mon, 11 Aug 2025 08:43:34 +0000 (10:43 +0200)]
rust: backport cstring-merging test fix for PowerPC targets
The Rust cstring-merging assembly test was failing on PowerPC targets due to
LLVM's GlobalMerge optimization pass merging all global string constants into
a single merged global. This caused the test's CHECK directives to fail as
they expected separate .Lanon labels for each string literal ("foo", "bar",
"baz").
The test verifies that C-style string literals are correctly placed in
mergeable read-only sections (.rodata.str1.1) with proper section flags
(aMS - Allocatable, Merge, Strings) for linker optimization.
This backports the upstream fix that disables the GlobalMerge pass
(-Cllvm-args=-enable-global-merge=0) specifically for this test, allowing
it to verify the expected assembly structure without interference from
the optimization.
Fixes test failure:
- tests/assembly/cstring-merging.rs on powerpc-poky-linux-gnu
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Tested-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Peter Tatrai [Mon, 11 Aug 2025 08:43:33 +0000 (10:43 +0200)]
rust: disable executable-no-mangle-strip test on PowerPC due to linker issue
The executable-no-mangle-strip test fails on PowerPC target with an undefined
reference error when linking. The linker attempts to resolve this undefined symbol
at link time, causing the test to fail with:
undefined reference to `THIS_SYMBOL_SHOULD_BE_UNDEFINED'
The test is designed to verify garbage collection behavior of #[no_mangle]
functions and used(compiler)] statics. This appears to be a PowerPC-specific
linker behavior issue.
Temporarily disable this test on PowerPC until the underlying issue is
resolved upstream.
Related upstream issue: https://github.com/rust-lang/rust/issues/144777
Fixes oe-selftest failure:
- tests/ui/linking/executable-no-mangle-strip.rs on powerpc-poky-linux-gnu
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Tested-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Vincent Davis Jr [Mon, 11 Aug 2025 04:03:42 +0000 (00:03 -0400)]
bootimg_pcbios: add funcs to configure booting with grub
Functions added, but not included into
SourcePlugin overridable functions.
_get_staging_libdir
* Finds target lib directory if for some
reason STAGING_LIBDIR isn't set.
do_configure_grub
* Will search for a grub configuration passed via
bootloader --configfile. If not found build a
default one which searches for partition that
contains the given the kernel name via grub
search module.
do_prepare_grub
1. Sets default values for GRUB_MKIMAGE_FORMAT_PC
and GRUB_PREFIX_PATH. Both variables are required
by grub-mkimage.
* GRUB_MKIMAGE_FORMAT_PC used to define target platform.
* GRUB_PREFIX_PATH used to define which directory
grub config and modules are going to reside in.
2. Generates grub config to embed into core.img.
This config is used to search for partition
containing grub config.
3. Creates a custom core.img or grub stage 1.5
with an embedded grub config.
4. Copies all the target built grub modules into
GRUB_PREFIX_PATH directory.
5. Creates boot partition
do_install_grub
1. dd target platform specific boot.img to the first
0-440 sectors of the resulting wic image. dd grub
stage 1 to wic image.
2. dd custom core.img (grub stage 1.5) with embedded
configuration to the resulting wic image starting
at sector 512 up to sizeof(core.img).
3. Both boot.img and core.img are required for legacy
bios boot. See grub Wiki for more details on
boot.img and core.img.
https://en.wikipedia.org/wiki/GNU_GRUB
Commit also imports python modules required by the
above implemented functions.
Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Commit
1. removes unrequired function params from
* _do_prepare_syslinux
* _do_install_syslinux
Reason is that they aren't required by
the function.
2. Moves finding of resulting wic image
back into do_install_disk task. As
the same code may be leverage to install
other bootloaders to the resulting disk.
Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Vincent Davis Jr [Mon, 11 Aug 2025 04:03:38 +0000 (00:03 -0400)]
bootimg_pcbios: cleanup _do_configure_syslinux function
Commit:
1. Removes all unrequired function parameters.
The part parameter was kept due to it's potential
future usage in _do_configure_syslinux function.
part.fstype specifically may be used with he
rootfstype kernel paramater.
2. Sets a default timeout to 500 if bootloader --timeout
not specified. To avoid 'None' being placed
as the value in resulting configuartion file.
3. Sets a default kernel parameter string if
bootloader --append not specified. This also
helps avoid 'None' being places as the value
in resulting configuration file.
4. Replace all instances of
cr_workdir, "/hdd/boot"
with variable
hdddir
as it's set at the top of the function. No,
need to re-implement what variable is already
defined to store.
Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Most bootloaders that will be included in this
wic plugin will require a configuration file
to define kernel params or execute custom
modules.
Create a seperate generic function to facilitate
finding if a bootloader config file passed through
bootloader --configfile flag. So, that other functions
that are used to create/install a bootloader boot
configuration file can leverage the function.
Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
This is to prepare for inclusion of other
bootloaders. It also makes reading
through the wic plugin much easier if
you group bootloader specific partition
creation functions together and place them
at the bottom of the file versus leaving
them in their current position.
Signed-off-by: Vincent Davis Jr. <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Vincent Davis Jr [Mon, 11 Aug 2025 04:03:32 +0000 (00:03 -0400)]
bootimg_pcbios: seperate syslinux install into seperate functions
Current oe-core bootimg_pcbios wic plugin only supports
booting with syslinux.
This commit seperates syslinux creation from
class BootimgPcbiosPlugin(SourcePlugin) override
functions in prepartion of supporting booting other
bootloaders in the wics plugin such as
* grub
* extlinux
Being moved now to make it easier to include
future bootloaders.
Signed-off-by: Vincent Davis Jr <vince@underview.tech> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Richard Purdie [Sun, 10 Aug 2025 22:23:58 +0000 (23:23 +0100)]
classes/lib: Switch classextend to use new filter API
Currently, class extensions are implmented using shadow variables and
access indirection which is horribly ineffient and ugly.
Switch to using the new bitbake filter API, which allows a translation
of the variable before the expanded value is returned. This allows us
to drop the shadow variable accesses. It also avoids the need to iterate
PACKAGES and make many variable changes since a filter against RDEPENDS
applies to RDEPENDS:${PN} and all of it's other overridden values.
Since data expansion happens at access, it also avoids many of the race
conditions this code has tranditionally been plagued with.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Tim Orling [Sun, 10 Aug 2025 19:18:50 +0000 (12:18 -0700)]
python3-zipp: upgrade 3.21.0 -> 3.23.0
* Add python3-coherent-licensed-native to DEPENDS
License-Update: add copyright year; update to match SPDX license text
v3.23.0
* Features
- Add a compatibility shim for Python 3.13 and earlier. (#145)
v3.22.0
* Features
- Backported simplified tests from python/cpython#123424. (#142)
* Bugfixes
- Fixed .name, .stem, and other basename-based properties on Windows when
working with a zipfile on disk. (#133)
Gyorgy Sarvari [Sat, 9 Aug 2025 17:23:18 +0000 (19:23 +0200)]
rpm-sequoia: upgrade 1.7.0 -> 1.9.0
The upstream project has extended the tests slightly, by adding a cargo command
to ensure that the library is built before the tests would be executed. This
doesn't really work for ptests, since it rebuilds the library from scratch on the
target. As an attempt to solve this issue, introduce an environment variable with
a patch, which, if present, will skip building the library before executing the test.
This release incorporates the following bug fixes and mitigations:
* Miscellaneous minor bug fixes.
* The FIPS provider now performs a PCT on key import for RSA, EC and ECX.
This is mandated by FIPS 140-3 IG 10.3.A additional comment 1.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Gyorgy Sarvari [Fri, 8 Aug 2025 14:15:22 +0000 (16:15 +0200)]
ed: upgrade 1.21.1 -> 1.22.1
Changelog:
1.22.1:
Ed now departs from POSIX and ignores SIGPIPE to prevent commands like
'w !:' or ',!:' from terminating ed. A broken pipe is now detected as any
other write error. (Reported by Sergei Trofimovich).
1.22.0:
An ex(1) style filter has been implemented; the shell escape command
(!) now accepts line addresses to filter the addressed lines through a shell
command. (Suggested by Shawn Wagner, Andrew L. Moore, and John Cowan).
Gyorgy Sarvari [Fri, 8 Aug 2025 13:32:14 +0000 (15:32 +0200)]
libsecret: upgrade 0.21.6 -> 0.21.7
Changelog:
- docs: Fix return comment of secret_value_get_text
- bash-completion: Fix man section number in secret-tool completion file
- bash-completion: Integrate external extended bash-completion script
- bash-completion: Require minimal version for bash-completion
- meson: Use newlines for build options
Gyorgy Sarvari [Fri, 8 Aug 2025 11:44:28 +0000 (13:44 +0200)]
gcr: upgrade 4.3.1 -> 4.4.0.1
Due to a version number that has 4 sections, the recipe needs to override
gnome_gverdir function from gnomebase.bbclass to construct a valid download url.
Changelog:
gcr 4.4.0.1:
- meson: Fix gck vesion
gcr 4.4.0:
- gcr: Add OID for Extended Key Usage
- gcr: Avoid g_strv_builder_unref_to_strv()
- gck: Disable parallel tests using gck-mock module
- meson: Do a stricter check on GLib version
- gcr: Support parsing ed25519 SSH public keys
- Updated translations
gcr 4.3.90.3:
- ci: Another tarball publish fix
gcr 4.3.90.2:
- meson: fix library version
gcr 4.3.90.1:
- ci: Tarball publish fix
gcr 4.3.90:
- gcr: Add new GcrCertificateExtension API
- gcr: Vala override for CertificateField.get_value
- Fix meson test failures in FIPS mode
- doap: Remove invalid maintainer entry
- tests: Replace echo -n by printf
- build: Avoid redundant libegg linking into gck tests
- build: Fix some GLib/GTK deprecation warnings
- ssh-agent: Request rsa-sha2-256 signature in tests
- Updated translations
gcr 4.3.91:
- Several updates to the CI
- gcr: Implement Certificate Policies extension
- gcr: Implement Authority Information Access (AIA) extension
- gcr: Implement Authority Key Identifier extension
- gcr: Implement CRL Distribution Points extension
- gcr: Add GcrGeneralNames helper object
- gck: Add missing finish-func annotation to gck_slot_open_session_full_async
- Migrate away from g_assert() in some unit tests
- Updated translations
Peter Marko [Fri, 8 Aug 2025 10:24:13 +0000 (12:24 +0200)]
oeqa: fix parallel make settings
These testcases are running with make or cmake "-j" without number,
which means that the build will spawn unlimited number of compiler
processes which may lead to oomkills and general build machine cpu
overload.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Peter Marko [Fri, 8 Aug 2025 10:24:11 +0000 (12:24 +0200)]
oe/utils: extract method for parallel_make without d context
oeqa does not have general access to d variable context and needs to
determine parallel make settings.
Extract the code from parallel_make into reusable parallel_make_value.
Also correct function description of return value from None to empty
string.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Gyorgy Sarvari [Fri, 8 Aug 2025 09:54:21 +0000 (11:54 +0200)]
glib-networking: upgrade 2.80.0 -> 2.80.1
eagain.patch is dropped, as it is included in this release.
Changelog:
- OpenSSL: fix crash in complete_handshake (!251, Dario Saccavino)
- OpenSSL: fix invalid free in openssl_get_binding_tls_server_end_point() (!255)
- TLS test should handle G_IO_ERROR_WOULD_BLOCK (!253, Richard Purdie and Alexander Kanavin)
- Updated translations
Peter Marko [Fri, 8 Aug 2025 05:49:21 +0000 (07:49 +0200)]
go: upgrade 1.24.5 -> 1.24.6
Upgrade to latest 1.24.x release [1]:
$ git --no-pager log --oneline go1.24.5..go1.24.6 7f36edc26d [release-branch.go1.24] go1.24.6 83b4a5db24 [release-branch.go1.24] database/sql: avoid closing Rows while scan is in progress 0f5133b742 [release-branch.go1.24] os/exec: fix incorrect expansion of "", "." and ".." in LookPath 6e1c4529e4 [release-branch.go1.24] cmd/compile: for arm64 epilog, do SP increment with a single instruction 731de13dc3 [release-branch.go1.24] os/user: user random name for the test user account 390ffce7d6 [release-branch.go1.24] runtime: prevent unnecessary zeroing of large objects with pointers b454859a8a [release-branch.go1.24] runtime: stash allpSnapshot on the M
Gyorgy Sarvari [Thu, 7 Aug 2025 20:13:50 +0000 (22:13 +0200)]
dpkg: add ptest support
Added it to slow tests, as it takes betwen 165 and 190 seconds on my
machine to execute (qemux86-64 + kvm).
The test folder's Makefile contains a list of passing, failing and manual
tests. By default, only the expected-to-pass tests are executed by the
Makefile (unless magic environment variable is set).
The run-ptest script mimics the default behavior of executing the
expected-to-pass tests, however they are executed one by one, instead of
running them as one batch - that way it is easier to determine exactly
which tests pass and which fail.
One other thing that might worth a note, is that the tests folder that needs to be
installed contains a number of subfolders called "DEBIAN". When packaging them
at least with rpm, these folders are omitted from the package.
However these are essential for the tests, as they contain test data. As a
workaround, these folders are renamed during installation to DEBIAN-ptest,
and before execution the run-ptest script restores their names.
Chris Laplante [Thu, 7 Aug 2025 18:12:57 +0000 (14:12 -0400)]
sstate: fixup calls to bb.event.check_for_interrupts to remove unused argument
This commit should come along with this associated commit in bitbake: https://patchwork.yoctoproject.org/project/bitbake/patch/20250806145308.2052128-2-chris.laplante@agilent.com/
Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Peter Marko [Thu, 7 Aug 2025 17:50:45 +0000 (19:50 +0200)]
ccache: do not use ccache if it is explicitly forbidden
Some recipes explicitly disable ccache via CCACHE_DISABLE variable since
they are known issues with ccache in those recipes.
This setting should not be ignored also when ccache in in HOSTOOLS.
Rework a hard to read if clause so that it is in format
if (not CCACHE_DISABLE and (cond1 or cond2 or cond2)):
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Khem Raj [Thu, 7 Aug 2025 04:35:54 +0000 (21:35 -0700)]
python3-numpy: Always use libgcc for unwinder on aarch64
With libgcc (working):
Result: inf
Warnings: ['overflow encountered in cast']
With compiler-rt (failing):
Result: inf (probably still correct)
Warnings: [] (no warnings generated)
The issue is likely that compiler-rt on AArch64 doesn't trigger
the floating-point exceptions that NumPy expects for overflow
detection in type casting operations.
Khem Raj [Thu, 7 Aug 2025 00:44:25 +0000 (17:44 -0700)]
clang-cross: Create <cross>-clang binary copy instead of symlink
With clang cleanup in [1] we ended up removing this logic, which
is still required.
This ensures that search path for subsequent tools e.g. linker
assembler are searched in the same dir where <cross>-clang is
installed. If its a symlink to ../clang then the reference
installation dir is ../ and all cross-tools are not there
so clang will fail to find assembler/linker from cross staging
area and use /usr/bin/ld or /usr/bin/as which we do not want
Khem Raj [Thu, 7 Aug 2025 00:44:24 +0000 (17:44 -0700)]
libcxx: Create packageconfig for cross unwinder support
cross-unwinding can pass exception across runtimes e.g.
Multi-language applications ( nodejs native modules, python C extensions )
However, cross-unwinding is not default in libcxx for sometime [1]
it requires special handling at runtime by apps who use it
Switch recipe defaults to upstream defaults, which is to turn it off
This means native unwinding ( with in same runtime )
is build by default which is the most common case.
This also fixes libcxx/libunwind build errors
when enabling TC_CXX_RUNTIME = "llvm" on aarch64 particularly
Gyorgy Sarvari [Wed, 6 Aug 2025 12:43:12 +0000 (14:43 +0200)]
librsvg: upgrade 2.59.2 -> 2.60.0
0001-gdk-pixbuf-loader-meson.build-do-not-look-for-gdk-pi.patch and
0001-meson.build-do-not-force-disable-introspection-and-v.patch
patches were dropped, because they are included in this release.
======
Removed the CVE exception for CVE-2018-1000041, because it has been
fixed in 2017[1].
=====
During the do_configure step, the following error popped up:
| Program meson/query-rustc.py found: YES (/home/meeee/stuff/ptest-images/build/tmp/work/core2-64-poky-linux/librsvg/2.60.0/sources/librsvg-2.60.0/meson/query-rustc.py)
|
| ../sources/librsvg-2.60.0/meson.build:357:4: ERROR: Problem encountered: error[E0463]: can't find crate for `std`
| |
| = note: the `x86_64-poky-linux-gnu` target may not be installed
| = help: consider downloading the target with `rustup target add x86_64-poky-linux-gnu`
|
| error: aborting due to 1 previous error
|
| For more information about this error, try `rustc --explain E0463`.
The meson script is trying to gather the static native libraries for the
target from rust, to link with them later. However it invokes rustc binary
directly without cargo, and the RUSTFLAGS environment variable is ignored,
which makes it to fail to find the Yocto targets.
To avoid this error, add a patch to append the RUSTFLAGS to the command
that calls rustc. (0001-query-rustc-append-RUSTFLAGS-to-rustc-executable.patch)
======
During the development of this version, using gdk-pixbuf-loader was enabled
for non-cross builds also. Unfortunately gdk-pixbuf-loader however has no
cross-wrapper script support officially, so it fails the build if it can't
find the executable (which is not present in the target build's sysroot).
To avoid to error, add a patch that reverts this change.
(0001-Revert-meson.build-do-not-force-disable-gdk-pixbuf-l.patch)
=====
Changelog:
- The minimum supported Rust version (MSRV) is 1.77.2.
- Many build fixes for various platforms (Amyspark, Alexander Kanavin,
Colin Sane).
- #414 - Basic support for the dominant-baseline property (Paul Melis).
- #1146 - Parse the white-space property. It is not processed yet;
this is part of the work to support SVG2 text layout (Adetoye Anointing).
- #1138 - Report errors correctly from the parsers for attribute values.
- Portability fixes to the C header files.
Version 2.59.91
===============
- #1147 - Fix linkage on Illumos.
- #1143 - Fix the build of the static library on MinGW (Amyspark).
- Fix versioning of library name (Amyspark).
- Enable cross-compilation of the gdk-pixbuf loader if meson/qemu can
handle it (Colin Sane).
Version 2.59.90
===============
- #414 - Basic support for the dominant-baseline property (Paul Melis).
- #1138 - Report errors correctly from the parsers for attribute values.
- #951 - Slightly improved test coverage (Vaishnavi Nawghare).
- #1136 - Don't use defined() in C macro definitions, since it is not
portable.
- #1146 - Parse the white-space property. It is not processed yet;
this will come after the Outreachy internship (Adetoye Anointing).
- Documentation fixes (Kleis Auke Wolthuizen).
- Many build fixes (Amyspark).
- Improvements for cross builds (Alexander Kanavin).
- Fix CRLF characters in Python sources (sulincix).
Khem Raj [Wed, 6 Aug 2025 05:08:38 +0000 (22:08 -0700)]
machine/arch-arm: Append TUNE_CCARGS_MARCH to TUNE_CCARGS conditionally
With [1], we now have a non-empty else block for arm-features, uptil now
feature includes only appended when feature was set and unset case was
appending empty string, which hid this issue where TUNE_CCARGS_MARCH_OPTS
could be non-empty but TUNE_CCARGS_MARCH is empty, this is possible when
a tune file overwrites TUNE_FEATURES and does not have a feature that would
add -march or -mcpu at all.
This changeset adds a check to not append at all if TUNE_CCARGS_MARCH
is unset.
It needs to append -march/-mcpu via TUNE_CCARGS_MARCH Currently, its
appended directly to TUNE_CCARGS which now means that any feature flags
coming from TUNE_CCARGS_MARCH_OPTS will be missed from final
-mcpu/-march option.
This also ensures that appending order is always correct e.g.
-mcpu=<cpu-tune>+features
Khem Raj [Fri, 1 Aug 2025 04:22:40 +0000 (21:22 -0700)]
binutils-cross-canadian: Always use GNU linker
LLD fails to link gprofng
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'dlclose' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'dlopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fclose' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fdopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fgetpos' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fsetpos' failed: symbol not defined
Changqing Li [Wed, 30 Jul 2025 01:42:58 +0000 (09:42 +0800)]
perf: improve fixing for buildpaths QA warning
if O=${B} is removed from EXTRA_OEMAKE, perf will compile failed with
error:
| make[2]: *** No rule to make target 'tools/arch/arm64/include/uapi/asm/unistd.h', needed by 'arch/arm64/include/generated/asm/syscalls.c'. Stop.
Improve to add an extra rel_sysdef for fixing buildpaths QA warning,
and keep original sysdef
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Ross Burton [Tue, 5 Aug 2025 11:26:14 +0000 (12:26 +0100)]
dbus: add message-bus PACKAGECONFIG
There's no need to build an actual message bus in native or nativesdk
environments, as if DBus is needed in those environments then it will be
used to connect to the existing session or system bus.
Add a PACKAGECONFIG for the message bus, and wrap the packaging logic
with a PACKAGECONFIG check.
Expat is only needed by the bus, so this reduces the mandatory build
dependencies in the native case.
This means we can merge the overridden do_install appends, as native and
nativesdk don't have the message bus enabled so they don't install
dbus-launch.
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, 5 Aug 2025 11:26:13 +0000 (12:26 +0100)]
dbus: use the systemd class to handle the unit files
Originally, the dbus recipe couldn't use the systemd class because there
was a circular dependency between systemd and dbus.
However, since systemd v209 in 2014[1] systemd hasn't needed libdbus, as
it has it's own implementation of the client library. DBus does not use
the systemd libraries, so there is no circular dependency.
The dbus build was already was installing the service and socket files,
so we are installing them again. Remove the installation of the units.
Manually mask dbus-1.service by simply creating a symlink, instead of
depending on systemctl and using an postinstall script.
Signed-off-by: Ross Burton <ross.burton@arm.com>
[1] dbus: 718db96199 ("core: convert PID 1 to libsystemd-bus")
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 4 Aug 2025 19:54:25 +0000 (20:54 +0100)]
dbus: glib is only used in the test suite
The glib/gio libraries are only used in a few of the tests:
$ grep use_glib
meson.build:use_glib = glib.found() and gio.found()
test/meson.build:if use_glib
test/meson.build:if message_bus and tools and platform_unix and use_glib
test/meson.build:if use_glib
test/meson.build:if message_bus and tools and platform_unix and use_glib
So there's no need to depend on glib if we're not building the tests.
Explicitly enable/disable the modular tests option to ensure that when
the tests are not being installed we don't still need glib to build them.
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>
Nikhil R [Tue, 5 Aug 2025 07:24:43 +0000 (12:54 +0530)]
cmake: Add PACKAGECONFIG option for debugger support
Starting from CMake version 2.27 support for interactive debugging of CMake
scripts and configurations was added. However, by default the `nativesdk-cmake`
is compiled with debugger support turned off.
This change adds debugger support for cmake
Signed-off-by: Nikhil R <nikhilr5@kpit.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 4 Aug 2025 19:52:34 +0000 (20:52 +0100)]
glib-2.0: -dev should depend on -utils
The -dev package should depend on -utils, as there are a number of
utilities in that package which are needed when compiling GLib-using code,
such as glib-genmarshal and glib-compile-resources.
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 [Mon, 4 Aug 2025 19:52:33 +0000 (20:52 +0100)]
dbus-glib: remove no-examples.patch
This patch has been in OpenEmbedded since 2006 with no explanation[1].
Possibly the intention was to reduce build time slightly or remove some
breakage, but it's useful to link the library we're building against a
test binary.
Ross Burton [Mon, 4 Aug 2025 19:52:32 +0000 (20:52 +0100)]
dbus-glib: remove unused packaging of tests
We're carrying a patch to install the tests, but we don't actually
install them by default or have any ptest infrastructure to run them.
As this is complicating the recipe for no reason, remove it all. If
someone in the future wants to run the tests they can do it with ptest
so they're exercised correctly.
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 [Mon, 4 Aug 2025 19:52:31 +0000 (20:52 +0100)]
dbus-glib: package the binding tool into PN-tools, enable nativesdk
In a SDK environment we need a nativesdk build of dbus-glib for the
dbus-binding-tool binary. Add a nativesdk variation and put the tool into
a -tools subpackage so it can be installed if needed.
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>
Gyorgy Sarvari [Sat, 2 Aug 2025 13:12:26 +0000 (15:12 +0200)]
dpkg: upgrade 1.22.11 -> 1.22.21
All executables and scripts (except for start-stop-daemon script)
were moved from sbin to bin after the following commit:
https://salsa.debian.org/dpkg-team/dpkg/-/commit/12e3bc2991ac27f73545a246bb95b84fb8d262c9
Markus Volk [Sat, 2 Aug 2025 09:28:50 +0000 (11:28 +0200)]
autoconf-archive: add backport patches to fix gl and glx detection
Detecting opengl using autoconf-archive currently fails:
| aclocal: warning: couldn't open directory 'm4': No such file or directory
| configure.ac:306: error: _AX_CHECK_GL_MANUAL_LIBS_GENERIC: argument must not be empty
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:690: _AS_IF_ELSE is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| /home/flk/poky/build/tmp/work/corei7-64-poky-linux/cava/0.10.4/recipe-sysroot-native/usr/share/aclocal/ax_check_gl.m4:187: _AX_CHECK_GL_MANUAL_LIBS_GENERIC is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:595: AS_CASE is expanded from...
| /home/flk/poky/build/tmp/work/corei7-64-poky-linux/cava/0.10.4/recipe-sysroot-native/usr/share/aclocal/ax_check_gl.m4:253: AX_CHECK_GL is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| configure.ac:306: the top level
| autom4te: error: m4 failed with exit status: 1
This issue has already been fixed upstream, but there has been no new release since then.
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mingli Yu [Fri, 1 Aug 2025 10:29:12 +0000 (18:29 +0800)]
ovmf: Don't define bool type if building in C23 mode
Backport a patch [1] to fix the below build failure:
/buildarea/tmp/work/corei7-64-wrs-linux/ovmf/edk2-stable202502/sources/ovmf-edk2-stable202502/SecurityPkg/DeviceSecurity/SpdmLib/Include/hal/LibspdmStdBoolAlt.h:13:17: error: two or more data types in declaration specifiers
13 | typedef BOOLEAN bool;
| ^~~~
/buildarea/tmp/work/corei7-64-wrs-linux/ovmf/edk2-stable202502/sources/ovmf-edk2-stable202502/SecurityPkg/DeviceSecurity/SpdmLib/Include/hal/LibspdmStdBoolAlt.h:13:1: error: useless type name in empty declaration [-Werror]
13 | typedef BOOLEAN bool;
Gyorgy Sarvari [Sun, 3 Aug 2025 07:35:41 +0000 (09:35 +0200)]
webkitgtk: upgrade 2.48.2 -> 2.48.5
Changelog:
2.48.5:
Fix several crashes.
2.48.4:
Improve emoji font selection with USE_SKIA=ON.
Improve playback of multimedia streams from blob URLs.
Fix the build with USE_SKIA_OPENTYPE_SVG=ON and USE_SYSPROF_CAPTURE=ON.
Fix the build on LoongArch with USE_SKIA=ON.
Fix crash when using a WebKitWebView widget in an offscreen window.
Fix several crashes and rendering issues.
2.48.3:
Fix a crash introduced by the new threaded rendering implementation using Skia API.
Improve rendering performance by recording layers once and replaying every dirty region in different worker threads.
Fix a crash when setting WEBKIT_SKIA_GPU_PAINTING_THREADS=0.
Fix a reference cycle in webkitmediastreamsrc preventing its disposal.
Khem Raj [Sun, 3 Aug 2025 04:08:10 +0000 (21:08 -0700)]
musl: Update to tip of trunk
Brings following fixes
* 8fd5d031 aarch64: mask off SME and unknown/future hwcap bits
* 709fee55 aarch64: replace asm source file for __set_thread_area with inline asm
* bd981f33 elf.h: add AT_HWCAP3 and AT_HWCAP4
* f96e47a2 printf: fix regression in large double formatting on ld128 archs
* caae5a8b fix register name usage in aarch64 clone.s
* ab4635fb make __getauxval a public ABI symbol
* fcdff46a statx: add Linux 6.11 fields/constants
* 18289e5d ldso: fix typo in comment
* 86373b49 powerpc: update HWCAP bits for Power10
* fde29c04 stdio: skip empty iovec when buffering is disabled
Gyorgy Sarvari [Sat, 2 Aug 2025 15:53:03 +0000 (17:53 +0200)]
quota: upgrade 4.09 -> 4.10
Drop 0001-Fix-building-on-musl.patch, because it is included in this release.
Add backported 0001-setproject-Fix-openWRT-build.patch, which adds a missing header
to prevent build failure with musl.
Changelog:
- Update Polish translation
- quotasys: Make detection of QF_META format work for bcachefs
- quotaio_xfs: Fix memory leak
- setproject: Add support for bcachefs REINHERIT_ATTRS ioctl
- setproject: Simple utility for setting projects on files/directories
- Move user/group/project name translation into common.[ch]
- Add support for bcachefs
- Fix building on musl
- quotaio_xfs: Convert remaining quotactl(2) calls to quotactl_handle()
- quotaio_xfs: Fix quota-tools on XFS
- quotaio_xfs: Fix error handling in xfs_read_dquot()
- Disable BSD_BEHAVIOUR by default
- quotaops: Checking egid with BSD_BEHAVIOR
- Enable support for tmpfs quotas
- Add quotactl_fd() support
- Rename searched_dir->sd_dir to sd_isdir
- quota-nld: fix open PID file failed when systemd read it
- edquota: Fix editing of individual user grace times
- setquota: Avoid false error messages when setting grace times
- Make configure.ac POSIX compliant
- Update required gettext version
Gyorgy Sarvari [Sat, 2 Aug 2025 06:46:21 +0000 (08:46 +0200)]
gnutls: upgrade 3.8.9 -> 3.8.10
Skip compress-cert-conf test when running ptests, because it requires
gnutls to be compiled with brotli PACKAGECONFIG, however brotli is not
part of oe-core.
Khem Raj [Fri, 1 Aug 2025 04:22:35 +0000 (21:22 -0700)]
toolchain/clang-native: Set BUILD_LDFLAGS instead of LDFLAGS
BUILD_LDFLAGS is used by other recipes to emit native LDFLAGS
into their cmake toolchain files especially in QT layers. it
will usually be inherited by recipes wanting clang provide
BUILD_* variables so this is more appropriate than LDFLAGS to
pass these options.