]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/log
thirdparty/openembedded/openembedded-core.git
5 months agodevtool: standard: cleanup imports; stop relying on transitive bb imports
Chris Laplante [Wed, 29 Jan 2025 20:20:12 +0000 (15:20 -0500)] 
devtool: standard: cleanup imports; stop relying on transitive bb imports

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agoutil-linux-libuuid: use util-linux's CVE_PRODUCT value
Daniel McGregor [Wed, 29 Jan 2025 16:29:38 +0000 (10:29 -0600)] 
util-linux-libuuid: use util-linux's CVE_PRODUCT value

util-linux and util-linux-libuuid should use the same CVE_PRODUCT
since they're the same product. They're just split off for package
dependency reasons.  Prior to this patch the libuuid recipe gave the
wrong CVE_PRODUCT value, causing some CVE check tools to fail on it.

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agorust-common.bbclass: soft assignment for RUSTLIB path
Pedro Ferreira [Wed, 29 Jan 2025 11:33:24 +0000 (11:33 +0000)] 
rust-common.bbclass: soft assignment for RUSTLIB path

As a user i want to override `RUSTLIB` path on a bbclass, lets
call it `XYZ.bbclass`.

If a certain recipe inherits `cargo.bbclass` and `XYZ.bbclass` the
value of `RUSTLIB` is dependent on the order of the inherit.

If `cargo.bbclass` is inherit before `XYZ.bbclass` this will reflect
the desired value of `RUSTLIB`, on the oposite, if the `XYZ.bbclass`
is inherit before `cargo.bbclass` then the `RUSTLIB` defined on
`rust-common.bbclass` will prevail.

Changed definition of `RUSTLIB` to soft assignment to make it overridable.

Signed-off-by: Pedro Silva Ferreira <Pedro.Silva.Ferreira@criticaltechworks.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agobusybox: Change symlink locations to match alternative
Alexander van Gessel [Wed, 29 Jan 2025 11:31:54 +0000 (12:31 +0100)] 
busybox: Change symlink locations to match alternative

Change the symlink locations of start-stop-daemon and base32 to from
BASE_S?BINDIR to S?BINDIR, to match dpkg and coreutils, respectively.

Related to bug #14804 [1].

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=14804

Signed-off-by: Alexander van Gessel <ai0867@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agowebp: update SRC_URI to use https
Jermain Horsman [Wed, 29 Jan 2025 10:31:16 +0000 (11:31 +0100)] 
webp: update SRC_URI to use https

As the certificate is for *.storage.googleapis.com, update the
URL to reflect this.

Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agoopenssh: update SRC_URI to use https
Jermain Horsman [Wed, 29 Jan 2025 09:53:09 +0000 (10:53 +0100)] 
openssh: update SRC_URI to use https

Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agooeqa/sdk/rust: Add a crate that needs the target and SDK host toolchain
Sean Nyekjaer [Thu, 23 Jan 2025 18:38:09 +0000 (19:38 +0100)] 
oeqa/sdk/rust: Add a crate that needs the target and SDK host toolchain

Expand the QA tests, to test that the target and SDK host toolchains works.

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agorust-cross-canadian: set CC_<triple> for nativesdk
Sean Nyekjaer [Thu, 23 Jan 2025 18:38:08 +0000 (19:38 +0100)] 
rust-cross-canadian: set CC_<triple> for nativesdk

This fixes build errors when building rust bindings for C dependencies
for the sdk host.
This will allow us to build and run rust programs on the sdk host.

Before:
% cargo build --target x86_64-oesdk-linux-gnu -vv
[...]
   Compiling zstd-sys v2.0.13+zstd.1.5.6 (zstd-rs/zstd-safe/zstd-sys)
[zstd-sys 2.0.13+zstd.1.5.6] CC_x86_64-oesdk-linux-gnu = None
[zstd-sys 2.0.13+zstd.1.5.6] CC = Some(arm-oe-linux-gnueabi-gcc  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=/usr/local/sdk/sysroots/cortexa7t2hf-neon-oe-linux-gnueabi)
[zstd-sys 2.0.13+zstd.1.5.6] cargo:warning=ToolExecError: Command LC_ALL="C" "arm-oe-linux-gnueabi-gcc" "-mthumb" "-mfpu=neon" "-mfloat-abi=hard" "-mcpu=cortex-a7" "-D_TIME_BITS=64" "-D_FILE_OFFSET_BITS=64" "--sysroot=/usr/local/cc-sdk/sysroots/cortexa7t2hf-neon-oe-linux-gnueabi" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-I" "zstd/lib/" "-I" "zstd/lib/common" "-I" "zstd/lib/legacy" "-O2" "-pipe" "-g" "-feliminate-unused-debug-types" "-flto" "-ffat-lto-objects" "-fuse-linker-plugin" "-fvisibility=hidden" "-DZSTD_LIB_DEPRECATED=0" "-DXXH_PRIVATE_API=" "-DZSTDLIB_VISIBILITY=" "-DZDICTLIB_VISIBILITY=" "-DZSTDERRORLIB_VISIBILITY=" "-DZSTD_LEGACY_SUPPORT=1" "-o" "zstd-rs/target/x86_64-oesdk-linux-gnu/debug/build/zstd-sys-b2560022e172eec3/out/44ff4c55aa9e5133-debug.o" "-c" "zstd/lib/common/debug.c" with args arm-oe-linux-gnueabi-gcc did not execute successfully (status code exit status: 1).cargo:warning=arm-oe-linux-gnueabi-gcc: error: unrecognized command-line option '-m64'

After:
% cargo build --target x86_64-oesdk-linux-gnu -vv
[...]
   Compiling zstd-sys v2.0.13+zstd.1.5.6 (zstd-rs/zstd-safe/zstd-sys)
[zstd-sys 2.0.13+zstd.1.5.6] CC_x86_64_oesdk_linux_gnu = Some(x86_64-oesdk-linux-gcc)
[...]
   Compiling zstd v0.13.2 (zstd-rs)
    Finished dev [unoptimized + debuginfo] target(s) in 14.67s

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agooeqa/sdk/context: fix for gtk3 test failure during do_testsdk
Harish Sadineni [Thu, 23 Jan 2025 15:47:55 +0000 (07:47 -0800)] 
oeqa/sdk/context: fix for gtk3 test failure during do_testsdk

The do_testsdk for lib32-core-image-sato aborts with below error:
configure: error: Package requirements (gtk+-3.0) were not met:
No package 'gtk+-3.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

This causes due to an absolute path name in 'sdk_env', which is now stripped to have only the environment name.

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agorust: remove redundant cargo config file
Harish Sadineni [Thu, 23 Jan 2025 15:47:54 +0000 (07:47 -0800)] 
rust: remove redundant cargo config file

YOCTO [#15061]
The rust target and linker are getting setting from the sdk environment and
so the config file is not needed. The redundant config file geneartion is removed.

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
5 months agorust: fix for rust multilib sdk configuration
Harish Sadineni [Thu, 23 Jan 2025 15:47:53 +0000 (07:47 -0800)] 
rust: fix for rust multilib sdk configuration

YOCTO [#15061]
The rust sdk installs both 'rust.sh' and 'cargo.sh' for lib32 and lib64 in the same location.
This causes below error while installing the lib32 & lib64 binaries:

Error: Transaction test error:
  file /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/environment-setup.d/cargo.sh
conflicts between attempted installs of rust-cross-canadian-arm-1.67.1-r0.x86_64_nativesdk and
 rust-cross-canadian-aarch64-1.67.1-r0.x86_64_nativesdk
  file /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/environment-setup.d/rust.sh
conflicts between attempted installs of rust-cross-canadian-arm-1.67.1-r0.x86_64_nativesdk and
rust-cross-canadian-aarch64-1.67.1-r0.x86_64_nativesdk
ERROR: Task (virtual:multilib:lib32:/media/build/poky/meta/recipes-sato/images/core-image-sato.bb:do_populate_sdk)
failed with exit code '1'

The change includes:
- Prepending '${RUST_TARGET_SYS}' to 'rust.sh' to differentiate between target systems.
- Moving the non-target-specific environment variables to 'nativesdk-cargo' and 'nativesdk-rust',
instead of being managed by the cross-canadian recipe.

Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
6 months agotzcode-native: Fix compiler setting from 2023d version
Alessio Cascone [Wed, 29 Jan 2025 07:31:29 +0000 (08:31 +0100)] 
tzcode-native: Fix compiler setting from 2023d version

Starting from 2023d version, tzcode makefile does not use anymore "cc"
variable for C compiler, due to Makefile refactoring.
Replacing "cc" with "CC" fixes the issue.

Signed-off-by: Alessio Cascone <alessio.cascone@vimar.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agort-tests: Fix build with glibc 2.41+
Khem Raj [Tue, 28 Jan 2025 23:14:27 +0000 (15:14 -0800)] 
rt-tests: Fix build with glibc 2.41+

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolinux-firmware: split qca firmwares in separate packages
Marc Ferland [Mon, 27 Jan 2025 16:24:40 +0000 (11:24 -0500)] 
linux-firmware: split qca firmwares in separate packages

This patch introduces the following packages for firmwares under qca/:

- linux-firmware-qca-qca61x4
- linux-firmware-qca-wcn3988
- linux-firmware-qca-wcn399x
- linux-firmware-qca-wcn6750
- linux-firmware-qca-qca2066
- linux-firmware-qca-wcn7850
- linux-firmware-qca-misc: catches all firmwares that are not already
  included in the other -qca- packages (currently empty).

linux-firmware-qca is now a meta package that depends on all of the
split-out qca packages.

Note: Content of the FILES:${PN}-qca* variables taken from WHENCE.

Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolinux-firmware: split ath12k firmwares in separate packages
Marc Ferland [Mon, 27 Jan 2025 16:24:39 +0000 (11:24 -0500)] 
linux-firmware: split ath12k firmwares in separate packages

This patch introduces the following packages for ath12k based chips:

- linux-firmware-ath12k-qcn9274
- linux-firmware-ath12k-wcn7850
- linux-firmware-ath12k-misc: catches all firmwares that are not
  already included in the other -ath12k- packages (currently empty).

linux-firmware-ath12k is now a meta package that depends on all of the
split-out ath11k packages.

Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolib/spdx30_tasks: support directories deployed by image recipes
Igor Opaniuk [Wed, 15 Jan 2025 13:07:02 +0000 (14:07 +0100)] 
lib/spdx30_tasks: support directories deployed by image recipes

create_image_spdx() implementation assumes that image is indeed a file.
If image recipe deploys a directory (for example, which contains an
hierarchy of flash artifacts, that is used by SoC vendor-specific
flashing tool) which follows ${IMAGE_NAME}.${IMAGE_TYPE} naming scheme,
create_image_spdx() function will fail after trying to hash a directory:

*** 0002:do_create_image_spdx(d)
     0003:
File: '.../meta/classes-recipe/create-spdx-image-3.0.bbclass', lineno: 48, function: do_create_image_spdx
     0044:addtask do_create_rootfs_spdx_setscene
     0045:
     0046:python do_create_image_spdx() {
     0047:    import oe.spdx30_tasks
 *** 0048:    oe.spdx30_tasks.create_image_spdx(d)
     0049:}
     0050:addtask do_create_image_spdx after do_image_complete do_create_rootfs_spdx before do_build
     0051:SSTATETASKS += "do_create_image_spdx"
...
File: '.../bitbake/lib/bb/utils.py', lineno: 536, function: _hasher
     0532:
     0533:def _hasher(method, filename):
     0534:    import mmap
     0535:
 *** 0536:    with open(filename, "rb") as f:
     0537:        try:
     0538:            with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as mm:
     0539:                for chunk in iter(lambda: mm.read(8192), b''):
     0540:                    method.update(chunk)
Exception: IsADirectoryError: [Errno 21] Is a directory: '...'

Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agopython3: Update stringold summary
Omri Sarig [Tue, 28 Jan 2025 11:50:44 +0000 (12:50 +0100)] 
python3: Update stringold summary

The string package in python currently contains common string
operations. This package is still in full use.
However, the old summary line of the package marked it as deprecated. As
this is not the case, this commit updates the summary line to better
represent this Python package.
The new summary line was taken from Python's documentation for the
package (https://docs.python.org/3.13/library/string.html).

In the past, the string library used to contain functionality that later
was moved to the str object in Python. The assumption is that during
this change, this library was marked as deprecated here. However, as
this package contains more functionality, which is still relevant and
used by python, the package itself should not be marked as deprecated.

This commit changes the description of the package, but does not change
the name of the package. The proper name for this package should be
"string" (instead of "stringold"). However, changing the package's name
will break compatibility with anyone using the string package in their
project. As this is a big change, it is decided not to be done yet.
The change in description, as well as this commit message, should be
enough to let users understand that the string package in python is
still valid, and should not be treated as deprecated.

Signed-off-by: Omri Sarig <omri.sarig13@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agotzdata/tzcode-native: upgrade 2024b -> 2025a
Priyal Doshi [Mon, 27 Jan 2025 10:40:16 +0000 (16:10 +0530)] 
tzdata/tzcode-native: upgrade 2024b -> 2025a

Signed-off-by: Priyal Doshi <pdoshi@mvista.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoclasses/spdx-common: Fix patch error for recipes that inherit dos2unix.
Hongxu Jia [Wed, 22 Jan 2025 04:42:45 +0000 (12:42 +0800)] 
classes/spdx-common: Fix patch error for recipes that inherit dos2unix.

While SPDX_INCLUDE_SOURCES = "1", do_create_spdx error happens for
these recipes inherit dos2unix

Refer [1] to fix the issue

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

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agomeson: upgrade to 1.7.0
Ross Burton [Mon, 27 Jan 2025 13:58:12 +0000 (13:58 +0000)] 
meson: upgrade to 1.7.0

Summary of changes:
- New custom dependency for atomic
- --cap-lints allow used for Cargo subprojects
- Cargo features are resolved globally
- Meson can run "clippy" on Rust projects
- Devenv support in external project module
- Fixed sizeof and find_library methods for Fortran compilers
- format command now accept stdin argument
- "machine" entry in target introspection data
- Add new language Linear Asm
- Control the number of child processes with an environment variable
- Support for Rust 2024
- Support TASKING VX-Toolset
- Test targets no longer built by default
- Install vcs_tag() output

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoefivar: enable support for riscv64
Ricardo Salveti [Mon, 27 Jan 2025 23:20:40 +0000 (20:20 -0300)] 
efivar: enable support for riscv64

Release 39 includes support for riscv64.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agokernel-yocto: move the cp of ${KBUILD_DEFCONFIG} file outside if body
Slawomir Stepien [Sun, 26 Jan 2025 13:34:19 +0000 (14:34 +0100)] 
kernel-yocto: move the cp of ${KBUILD_DEFCONFIG} file outside if body

In both true/false cases, we will cp the file, so move the invocation
after the if body.

In addition, misleading comment has been removed.

Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosanity: Add test for functional c++ toolchain
Christos Gavros [Sun, 26 Jan 2025 10:02:25 +0000 (11:02 +0100)] 
sanity: Add test for functional c++ toolchain

Users reported issues caused by missing the right libstdc++-version-dev.
A new function 'check_cpp_toolchain' added in sanity.bbclass to test linking libstdc++

[YOCTO #15712]

Signed-off-by: Christos Gavros <gavrosc@yahoo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agognupg: remove obsolete patch
Guðni Már Gilbert [Sat, 25 Jan 2025 15:32:42 +0000 (15:32 +0000)] 
gnupg: remove obsolete patch

Remove a patch which is already merged in v2.5.1

See for reference:
https://github.com/gpg/gnupg/commit/1d5cfa9b7fd22e1c46eeed5fa9fed2af6f81d34f
https://dev.gnupg.org/T7193

Signed-off-by: Guðni Már Gilbert <gudni.m.g@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agobusybox: Correct SPDX license reference
Bastian Germann [Fri, 24 Jan 2025 20:07:23 +0000 (21:07 +0100)] 
busybox: Correct SPDX license reference

Commit 6238ee3ecd (recipes-core/busybox: fixup licensing information)
claims that there is no applicable license identifier in SPDX, so a
bzip2-1.0.4 is made up.

There is no bzip2-1.0.4 license defined in SPDX. However, bzip2-1.0.6 is
the same license.

License-Update: wrong SPDX identifier

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agobase-files: Drop /bin/sh dependency
Marek Vasut [Fri, 24 Jan 2025 23:21:47 +0000 (00:21 +0100)] 
base-files: Drop /bin/sh dependency

Remove /bin/sh from bash RPROVIDES as this has a side-effect which
confuses rpm package manager when also busybox provides /bin/sh and
base-files depend on /bin/sh . The problem is broken down below.

First, bash depends on base-files and bash pkg_postinst must run
after base-files was installed, because it requires /etc/shells
provided by base-files to be in place.

Second, base-files depends on /bin/sh, which is provided by either
bash or busybox in this case. This is the actual problem here, if
bash is selected as /bin/sh provider, then there is cyclic dependency
between bash and base-files, and that confuses dnf which may install
the packages in the wrong order, bash first and base-files second .

To make this worse, if busybox is also /bin/sh provider, it can and
does happen that some systems pick busybox as the /bin/sh provider,
while others pick bash as the /bin/sh provider, and that cyclic
dependency does not always appear.

Attempt to break this dependency, remove pre-inst script from the
base-files recipe, which removes its dependency on /bin/sh and
allows it to be installed very early, and always before bash.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoutil-linux: Document more specific BSD-4-Clause-UC
Bastian Germann [Fri, 24 Jan 2025 16:17:51 +0000 (17:17 +0100)] 
util-linux: Document more specific BSD-4-Clause-UC

LIC_FILES_CHKSUM in the util-linux recipe already contains the more
specific license reference BSD-4-Clause-UC that takes a copyright
addendum by University of California into account.

License-Update: reference can be more specific

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoman-pages: Document more specific BSD-4-Clause-UC
Bastian Germann [Fri, 24 Jan 2025 16:17:50 +0000 (17:17 +0100)] 
man-pages: Document more specific BSD-4-Clause-UC

LIC_FILES_CHKSUM in the man-pages recipe already contains the more
specific license reference BSD-4-Clause-UC that takes a copyright
addendum by University of California into account.

License-Update: reference can be more specific

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolibxfont2: Document more specific BSD-4-Clause-UC
Bastian Germann [Fri, 24 Jan 2025 16:17:49 +0000 (17:17 +0100)] 
libxfont2: Document more specific BSD-4-Clause-UC

COPYING in libxfont2 upstream contains only one BSD-4-Clause text variant,
which is explicitly covered by the copyright addendum by University of
California. Change the SPDX license reference to BSD-4-Clause-UC.

License-Update: reference can be more specific

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolibbsd: Drop licenses that were removed upstream
Bastian Germann [Fri, 24 Jan 2025 16:17:48 +0000 (17:17 +0100)] 
libbsd: Drop licenses that were removed upstream

The libbsd project has gotten rid of BSD-4-Clause licensed material.
Version 0.11.8 is the first not to contain any such material anymore.

License-Update: removed upstream

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agofont-util: Correct SPDX expression
Bastian Germann [Fri, 24 Jan 2025 16:17:47 +0000 (17:17 +0100)] 
font-util: Correct SPDX expression

The BSD-4-Clause license is not contained in version 1.4.1.
But MIT and X11 are listed in the COPYING file.

License-Update: upstream has changed

Signed-off-by: Bastian Germann <bage@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agogdb: Upgrade 15.2 -> 16.1
Yash Shinde [Thu, 23 Jan 2025 10:31:00 +0000 (02:31 -0800)] 
gdb: Upgrade 15.2 -> 16.1

* Drop 0001-Fix-Wenum-constexpr-conversion-in-enum-flags.h.patch, its already applied to gdb 16.1

Detailed release notes:

https://sourceware.org/pipermail/gdb-announce/2025/000143.html
https://sourceware.org/gdb/news/
https://lwn.net/Articles/1005562/
https://www.sourceware.org/gdb/download/ANNOUNCEMENT

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agogo: upgrade 1.22.10 -> 1.22.11
Peter Marko [Thu, 23 Jan 2025 18:44:40 +0000 (19:44 +0100)] 
go: upgrade 1.22.10 -> 1.22.11

Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.10..go1.22.11
f072884354 (tag: go1.22.11) [release-branch.go1.22] go1.22.11
b72d56f98d [release-branch.go1.22] net/http: persist header stripping across repeated redirects
19d2103415 [release-branch.go1.22] crypto/x509: properly check for IPv6 hosts in URIs
ae9996f965 [release-branch.go1.22] runtime: hold traceAcquire across casgstatus in injectglist
223260bc63 [release-branch.go1.22] crypto/tls: fix Config.Time in tests using expired certificates

Fixes CVE-2024-45336 and CVE-2024-45341

[1] https://github.com/golang/go/compare/go1.22.10...go1.22.11

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>
6 months agogo: upgrade 1.22.9 -> 1.22.10
Peter Marko [Thu, 23 Jan 2025 18:44:39 +0000 (19:44 +0100)] 
go: upgrade 1.22.9 -> 1.22.10

Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.9..go1.22.10
8f3f22eef8 (tag: go1.22.10) [release-branch.go1.22] go1.22.10
6d7a95abca [release-branch.go1.22] runtime: reserve 4kB for system stack on windows-386
6f05fa7a4f [release-branch.go1.22] syscall: mark SyscallN as noescape
3355db9690 [release-branch.go1.22] time: accept "+01" in TestLoadFixed on OpenBSD

[1] https://github.com/golang/go/compare/go1.22.9...go1.22.10

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>
6 months agogo: upgrade 1.22.8 -> 1.22.9
Peter Marko [Thu, 23 Jan 2025 18:44:38 +0000 (19:44 +0100)] 
go: upgrade 1.22.8 -> 1.22.9

Upgrade to latest 1.22.x release [1]:

$ git --no-pager log --oneline go1.22.8..go1.22.9
8af39d30a4 (tag: go1.22.9) [release-branch.go1.22] go1.22.9
c19e5887f4 [release-branch.go1.22] cmd/cgo/internal/testcarchive: remove 1-minute timeout
e3fd4ba7f9 [release-branch.go1.22] cmd/link: generate Mach-O UUID when -B flag is specified
29252e4c5a [release-branch.go1.22] runtime: fix TestGdbAutotmpTypes on gdb version 15

[1] https://github.com/golang/go/compare/go1.22.8...go1.22.9

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoclasses: go-vendor: Change symlink creation.
Alexander Yurkov [Thu, 23 Jan 2025 18:47:40 +0000 (18:47 +0000)] 
classes: go-vendor: Change symlink creation.

Create missing directories required to create the symlink.

Use relative symlinks to stay in the build directory scope (to avoid sstate issue with absolute paths).

Signed-off-by: Alexander Yurkov <alexander.v.yurkov@gmail.com>
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agooeqa/selftest/recipetool: Update create_go test.
Alexander Yurkov [Thu, 23 Jan 2025 18:47:39 +0000 (18:47 +0000)] 
oeqa/selftest/recipetool: Update create_go test.

Adjust test_recipetool_go_create test to a smaller repository.
Combine test_recipetool_go_create and test_recipetool_go_replace_modules
tests into test_recipetool_go_create, the new test performs both tests.

Signed-off-by: Alexander Yurkov <alexander.v.yurkov@gmail.com>
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agollvm: set LLVM_HOST_TRIPLE for cross-compilation
Haseeb Ashraf [Sat, 25 Jan 2025 05:41:18 +0000 (10:41 +0500)] 
llvm: set LLVM_HOST_TRIPLE for cross-compilation

The correct way to configure cmake for cross-compilation includes
setting the LLVM_HOST_TRIPLE as well.

Documentation Ref:
https://github.com/llvm/llvm-project/blob/llvmorg-19.1.6/llvm/docs/HowToCrossCompileLLVM.rst#configuring-cmake

This fixes bug when LLVM is cross-compiled for AAarch64 but it
was getting built with the triple of native build system instead of
the TARGET_SYS (aarch64-oe-linux) in my case.

`No available targets are compatible with triple "x86_64-unknown-linux-gnu"`

Signed-off-by: Haseeb Ashraf <haseeb.ashraf@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agobitbake.conf: Handle empty BB_CURRENT_MC
Richard Purdie [Fri, 24 Jan 2025 16:13:06 +0000 (16:13 +0000)] 
bitbake.conf: Handle empty BB_CURRENT_MC

Bitbake is about to change the default value of this from "default" to "". The
original reason for this was to make this kind of include file usage easier.
Instead we were going to complicate bitbake code having to map one value into
the other.

Instead, stop using "default" and put a slightly horrible bit of code in bitbake.conf
as an alternative.

This means a "default.conf" in the multiconfig directory will stop working but this
was never something anyone was expected to use.

The eSDK code also needs updating for this change.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agooeqa/sshcontrol: Handle empty reads
Richard Purdie [Fri, 24 Jan 2025 15:26:25 +0000 (15:26 +0000)] 
oeqa/sshcontrol: Handle empty reads

Looking at some of the autobuilder failures, it seems that somehow empty
reads might be possible despite not being EOF. Tweak the code to be a little
more robust in handling this.

In theory this shouldn't be possible but python does handle signals a bit
differently (e.g. transparrently retrying syscalls for EINTR) so adding this
check and a bit of code safety at least rules out this problem.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agobuild-appliance-image: Update to master head revision
Ross Burton [Thu, 23 Jan 2025 12:17:38 +0000 (12:17 +0000)] 
build-appliance-image: Update to master head revision

Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agorust-common: add LDFLAGS to 'build-rust-cc' wrapper
Enrico Scholz [Mon, 20 Jan 2025 16:45:04 +0000 (17:45 +0100)] 
rust-common: add LDFLAGS to 'build-rust-cc' wrapper

Although rust differs between compiling (--> 'rust-cc' wrapper) and
linking (--> 'rust-ccld' wrapper), some core crates are using only the
'rust-cc' wrapper to check for available compiler options [1] and
libraries [2].

Not having LDFLAGS can break the build in subtle ways.  E.g. 'cargo-native'
can fail to build with

|   = note: .../hosttools/ld: .../liblibz_sys-....rlib(deflate.o):
|     relocation R_X86_64_32S against hidden symbol `_length_code' can not be used when making a PIE object

because it does not find '-lz' (added by "DEPENDS = zlib") and builds
a static libz.a with missing PIC flags.

Add LDFLAGS to the 'build-rust-cc' wrapper as it is done already for
the target one.

[1] https://github.com/rust-lang/cc-rs/pull/1322

[2] https://github.com/rust-lang/libz-sys/blob/12a32798c6bd18986cb5cd603359b03c96f0eb4c/build.rs#L228-L234

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agocmake: upgrade 3.31.3 -> 3.31.4
Trevor Gamblin [Mon, 20 Jan 2025 21:03:07 +0000 (16:03 -0500)] 
cmake: upgrade 3.31.3 -> 3.31.4

Release notes: https://cmake.org/cmake/help/latest/release/3.31.html#id17

commit log:

|tgamblin@megalith ~/workspace/git/cmake (master)$ git log --oneline v3.31.3..v3.31.4
|569b821a13 (tag: v3.31.4) CMake 3.31.4
|92b260387d Merge topic 'duplicate-source-behavior' into release-3.31
|3df8890638 Merge topic 'lfortran-generate-object-code' into release-3.31
|8f45140baf Merge topic 'revert-genex-tco-subgraph' into release-3.31
|3e15419bd4 target_sources: Restore toleration of duplicate CXX_MODULES sources
|5cfb8ae790 Tests/CXXModules: add a test with duplicate sources
|daf6cc89ee LFortran: Remove hard-coded --generate-object-code flag
|a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"
|627d710570 Merge topic 'FindBoost-1.87' into release-3.31
|d29855f985 Merge topic 'codegen-help' into release-3.31
|f485f94d1a FindBoost: Add support for Boost 1.87
|45726d93a8 Makefile: List codegen target in help
|e7153c29ac Merge topic 'Help-FindPython-Fix-typo' into release-3.31
|e7ea2998fb Help: FindPython: fix typo

Reproducibility OK:

|2025-01-20 13:52:30,296 - oe-selftest - INFO - Ran 1 test in 1949.827s
|2025-01-20 13:52:30,296 - oe-selftest - INFO - OK
|2025-01-20 13:52:34,885 - oe-selftest - INFO - RESULTS:
|2025-01-20 13:52:34,886 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (1874.21s)
|2025-01-20 13:52:34,886 - oe-selftest - INFO - SUMMARY:
|2025-01-20 13:52:34,886 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 1949.827s
|2025-01-20 13:52:34,886 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agosystemd: Remove /var/log/README using a patch
Peter Kjellerstedt [Tue, 21 Jan 2025 05:18:12 +0000 (06:18 +0100)] 
systemd: Remove /var/log/README using a patch

Commit f82d9c997ba (systemd: enable create-log-dirs) removed the
creation of the /var/log/README symbolic link by using sed. However, the
update to 257 changed the target line and the sed expression no longer
matches. Rather than correcting the sed expression, use a patch to
remove /var/log/README so that any future changes do not go unnoticed.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agolinux-firmware: split amdgpu firmwares in separate packages
Marc Ferland [Mon, 20 Jan 2025 15:46:05 +0000 (10:46 -0500)] 
linux-firmware: split amdgpu firmwares in separate packages

This patch introduces the following packages for AMD gpu chips:

- linux-firmware-amdgpu-aldebaran
- linux-firmware-amdgpu-carrizo
- linux-firmware-amdgpu-cezanne
- linux-firmware-amdgpu-fiji
- linux-firmware-amdgpu-hawaii
- linux-firmware-amdgpu-navi10
- linux-firmware-amdgpu-navi14
- linux-firmware-amdgpu-navi21
- linux-firmware-amdgpu-navi22
- linux-firmware-amdgpu-navi23
- linux-firmware-amdgpu-navi24
- linux-firmware-amdgpu-navi31
- linux-firmware-amdgpu-navi32
- linux-firmware-amdgpu-oland
- linux-firmware-amdgpu-polaris10
- linux-firmware-amdgpu-polaris11
- linux-firmware-amdgpu-polaris12
- linux-firmware-amdgpu-raven
- linux-firmware-amdgpu-rembrandt
- linux-firmware-amdgpu-renoir
- linux-firmware-amdgpu-stoney
- linux-firmware-amdgpu-tonga
- linux-firmware-amdgpu-topaz
- linux-firmware-amdgpu-vega10
- linux-firmware-amdgpu-vega12
- linux-firmware-amdgpu-misc: catches all firmwares that are not
  already included in the other -amdgpu- packages.

This list was partly inspired from:

https://wiki.gentoo.org/wiki/AMDGPU#Known_firmware_blobs

Many other firmware packages could be created out of what is in
-misc. Looking at the different commits in the linux-firmware
repository gives a very good idea of which firmware goes with each
chip.

Note: Altough this patch might break some installations that assumed
that _all_ firmwares where installed by the linux-firmware-amdgpu
package, I think it is a step in the right direction as the number of
firmwares under amdgpu is constantly increasing (currently ~103MB).

Tested with a renoir gpu.

Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agolinux-firmware: split ath11k firmwares in separate packages
Marc Ferland [Mon, 20 Jan 2025 15:46:04 +0000 (10:46 -0500)] 
linux-firmware: split ath11k firmwares in separate packages

This patch introduces the following packages for ath11k based chips:

- linux-firmware-ath11k-ipq5018
- linux-firmware-ath11k-ipq6018
- linux-firmware-ath11k-ipq8074
- linux-firmware-ath11k-qca2066
- linux-firmware-ath11k-qca6390
- linux-firmware-ath11k-qcn9074
- linux-firmware-ath11k-wcn6750
- linux-firmware-ath11k-wcn6855
- linux-firmware-ath11k-misc: catches all firmwares that are not
  already included in the other -ath11k- packages (currently empty).

linux-firmware-ath11k is now a meta package that depends on all of the
split-out ath11k packages.

Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agolinux-firmware: split ath10k firmwares in separate packages
Marc Ferland [Mon, 20 Jan 2025 15:46:03 +0000 (10:46 -0500)] 
linux-firmware: split ath10k firmwares in separate packages

This patch introduces the following packages for ath10k based chips:

- linux-firmware-ath10k-qca4019
- linux-firmware-ath10k-qca6174
- linux-firmware-ath10k-qca9377
- linux-firmware-ath10k-qca9887
- linux-firmware-ath10k-qca9888
- linux-firmware-ath10k-qca988x
- linux-firmware-ath10k-qca9984
- linux-firmware-ath10k-qca99x0
- linux-firmware-ath10k-misc: catches all firmwares that are not
  already included in the other -ath10k- packages (currently empty).

linux-firmware-ath10k is now a meta package that depends on all of the
split-out ath10k packages.

Signed-off-by: Marc Ferland <marc.ferland@sonatest.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agocreate-spdx: support line numbers
Denis OSTERLAND-HEIM [Mon, 20 Jan 2025 13:04:58 +0000 (13:04 +0000)] 
create-spdx: support line numbers

LIC_FILES_CHKSUM supports begin-/endline for licenses included in
for instance header files. This patch adds support for line numbers
to NO_GENERIC_LICENSE, too.

Signed-off-by: Denis Osterland-Heim <denis.osterland@diehl.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agoofono: patch CVE-2024-7540, CVE-2024-7541, CVE-2024-7542
Peter Marko [Sun, 19 Jan 2025 16:34:38 +0000 (17:34 +0100)] 
ofono: patch CVE-2024-7540, CVE-2024-7541, CVE-2024-7542

Cherry-pick commit
https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=29ff6334b492504ace101be748b256e6953d2c2f

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agofiles: overlayfs-create-dirs: Improve mount unit dependency
Esben Haabendal [Sat, 18 Jan 2025 18:49:55 +0000 (19:49 +0100)] 
files: overlayfs-create-dirs: Improve mount unit dependency

The RequiresMountsFor configuration option of systemd.unit (added in
systemd version 201) not only adds the Requires and After options for
the required mount unit, but it adds them for all mount units required
to access the specified path.

So this change is both a simplification, and an improvement.

Not only will all needed mount units be added to Requires and After, but
the overlay path does not have to be a mountpoint, but can be at any
directory level beneath a mountpoint.

Signed-off-by: Esben Haabendal <esben@geanix.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agoman-db: fix broken requirement for flex
Ross Burton [Wed, 22 Jan 2025 15:28:17 +0000 (15:28 +0000)] 
man-db: fix broken requirement for flex

Normally flex-native in the sysroot via the toolchain, but different
toolchains may not depend on flex-native (eg, external-arm-toolchain).

This results in a configure error:

  checking for flex... no
  configure: error: flex is required when building from revision control

Now we're not building from revision control, but the configure script
is broken with out-of-tree builds and checks the (empty) build tree for
pre-generated sources.  Apply a fix to look in the source tree instead.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agopython3-numpy: upgrade 2.2.1 -> 2.2.2
Trevor Gamblin [Wed, 22 Jan 2025 15:08:48 +0000 (10:08 -0500)] 
python3-numpy: upgrade 2.2.1 -> 2.2.2

Changelog: https://github.com/numpy/numpy/releases/tag/v2.2.2

Reproducibility looks OK:

|2025-01-20 16:40:52,428 - oe-selftest - INFO - Ran 1 test in 2125.833s
|2025-01-20 16:40:52,428 - oe-selftest - INFO - OK
|2025-01-20 16:40:57,146 - oe-selftest - INFO - RESULTS:
|2025-01-20 16:40:57,146 - oe-selftest - INFO - RESULTS - reproducible.ReproducibleTests.test_reproducible_builds: PASSED (2065.94s)
|2025-01-20 16:40:57,147 - oe-selftest - INFO - SUMMARY:
|2025-01-20 16:40:57,147 - oe-selftest - INFO - oe-selftest () - Ran 1 test in 2125.834s
|2025-01-20 16:40:57,147 - oe-selftest - INFO - oe-selftest - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agogcc-sanitizers.inc: Workaround for aarch64
Thomas Roos [Wed, 22 Jan 2025 12:44:07 +0000 (13:44 +0100)] 
gcc-sanitizers.inc: Workaround for aarch64

When using the -fsanitize=address  CXX_FLAG for a program compiled for
aarch64 / arm64

This is happing:
MemorySanitizer: CHECK failed: sanitizer_allocator_primary64.h:133 "((kSpaceBeg))
 == ((address_range.Init(TotalSpaceSize, PrimaryAllocatorName, kSpaceBeg)))"
 (0xe00000000000, 0xfffffffffffffff4) (tid=51745)

With -DSANITIZER_CAN_USE_ALLOCATOR64=0 this is not happening and
potenial bugs are detected.

ARM32 does not require this patch.

More info about the issue in this thread:
https://github.com/llvm/llvm-project/issues/65144

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agoselftest/virgl: add a link to RHEL merge request to address the missing vgem module
Alexander Kanavin [Wed, 22 Jan 2025 10:03:24 +0000 (11:03 +0100)] 
selftest/virgl: add a link to RHEL merge request to address the missing vgem module

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agotcl8: add a patch to address Y2038 issues (tcl 9.x doesn't need it)
Alexander Kanavin [Wed, 22 Jan 2025 10:03:23 +0000 (11:03 +0100)] 
tcl8: add a patch to address Y2038 issues (tcl 9.x doesn't need it)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agotcl: disable 'zipfs' feature
Alexander Kanavin [Wed, 22 Jan 2025 10:03:22 +0000 (11:03 +0100)] 
tcl: disable 'zipfs' feature

zipfs is a new facility in tcl 9.x where various data files are bundled
into a zip archive, rather being separately installed.

Then that zip is embedded into libtcl.so from Makefile, thusly:

cat ${TCL_ZIP_FILE} >> ${LIB_FILE}

This is a major case of face meeting palm: any binary object
processing on the resulting .so file discards the extra data
at the end, and that's exactly what happens in do_package(),
resulting in a tcl installation without any language libraries.
This is not caught by ptest because it runs against a private
copy of the source tree.

Additionally, it helps to have data files on target systems
as files that can be viewed and edited.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
6 months agou-boot: kernel-fitimage: Fix dependency loop if UBOOT_SIGN_ENABLE and UBOOT_ENV enabled
Marek Vasut [Tue, 21 Jan 2025 21:20:52 +0000 (22:20 +0100)] 
u-boot: kernel-fitimage: Fix dependency loop if UBOOT_SIGN_ENABLE and UBOOT_ENV enabled

In case both UBOOT_SIGN_ENABLE and UBOOT_ENV are enabled and
kernel-fitimage.bbclass is in use to generate signed kernel
fitImage, there is a circular dependency between uboot-sign
and kernel-fitimage bbclasses . The loop looks like this:

kernel-fitimage.bbclass:
- do_populate_sysroot depends on do_assemble_fitimage
  - do_assemble_fitimage depends on virtual/bootloader:do_populate_sysroot
    - virtual/bootloader:do_populate_sysroot depends on virtual/bootloader:do_install
      => The virtual/bootloader:do_install installs and the
         virtual/bootloader:do_populate_sysroot places into
         sysroot an U-Boot environment script embedded into
         kernel fitImage during do_assemble_fitimage run .

uboot-sign.bbclass:
- DEPENDS on KERNEL_PN, which is really virtual/kernel. More accurately
  - do_deploy depends on do_uboot_assemble_fitimage
  - do_install depends on do_uboot_assemble_fitimage
  - do_uboot_assemble_fitimage depends on virtual/kernel:do_populate_sysroot
    => do_install depends on virtual/kernel:do_populate_sysroot

=> virtual/bootloader:do_install depends on virtual/kernel:do_populate_sysroot
   virtual/kernel:do_populate_sysroot depends on virtual/bootloader:do_install

Attempt to resolve the loop. Pull fitimage configuration options into separate
new configuration file image-fitimage.conf so these configuration options can
be shared by both uboot-sign.bbclass and kernel-fitimage.bbclass, and make use
of mkimage -f auto-conf / mkimage -f auto option to insert /signature node key-*
subnode into U-Boot control DT without depending on the layout of kernel fitImage
itself. This is perfectly valid to do, because the U-Boot /signature node key-*
subnodes 'required' property can contain either of two values, 'conf' or 'image'
to authenticate either selected configuration or all of images when booting the
fitImage.

For details of the U-Boot fitImage signing process, see:
https://docs.u-boot.org/en/latest/usage/fit/signature.html
For details of mkimage -f auto-conf and -f auto, see:
https://manpages.debian.org/experimental/u-boot-tools/mkimage.1.en.html#EXAMPLES

Fixes: 5e12dc911d0c ("u-boot: Rework signing to remove interdependencies")
Reviewed-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agogcc: make include poisoning fatal again in gcc/g++
Ross Burton [Tue, 21 Jan 2025 18:23:09 +0000 (18:23 +0000)] 
gcc: make include poisoning fatal again in gcc/g++

We have a patch to allow us to 'poison' system include directories,
which are warnings by default but we make them fatal in cross builds.

However, in the 13.1 upgrade[1] the patch to make the warnings fatal was
dropped in the compiler invocation, so it only took effect for pure
preprocessor calls. This was not noticed at the time as the test case
was flawed, but this has now been fixed.

Add back the fatal poisoning, and restructure the patch slightly so it
is less invasive.

[1] oe-core bea46612fd9106cc5b46eb1d81623b6492563c13

[RP: Tweak to fix gcc/gcc-cross-canadian failure]
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agooeqa/poisoning: fix gcc include poisoning test
Ross Burton [Tue, 21 Jan 2025 18:23:08 +0000 (18:23 +0000)] 
oeqa/poisoning: fix gcc include poisoning test

The test code in poison was flawed: as long as one CPP/CC/CXX has fatal
poisoning enabled then the test passes.  However, at the moment due to
a bad rebase only CPP has fatal poisoning and CC/CXX do not.

Rewrite the do_compile() task to more carefully check the output so the
test harness itself just has to bitbake the recipe.

Note that this results in the test failing:

  ERROR: poison-1.0-r0 do_compile: C Compiler is not poisoned.
  Exit status 0, output:  cc1: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]
  ERROR: poison-1.0-r0 do_compile: C++ Compiler is not poisoned.
  Exit status 0, output:  cc1plus: warning: include location "/usr/include" is unsafe for cross-compilation [-Wpoison-system-directories]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agopython3-cffi: Add missing pkgconfig dependency
Richard Purdie [Wed, 22 Jan 2025 11:22:59 +0000 (11:22 +0000)] 
python3-cffi: Add missing pkgconfig dependency

With gcc posioning fixed, this recipe showed errors, using an incorrect include
path looking at the host system. If pkgconfig is present, the correct include
paths are used. Therefore add the missing dependency.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agobase: Switch virtual/cross-XXX to be under recipe specific providers
Richard Purdie [Mon, 13 Jan 2025 17:55:52 +0000 (17:55 +0000)] 
base: Switch virtual/cross-XXX to be under recipe specific providers

Currently, providers are set on a global config basis. This change allows
for a select set of providers to be configured using BB_RECIPE_VIRTUAL_PROVIDERS
on a per recipe basis. This would allow for the selection of virtual/cross-cc
as gcc or clang for example.

The PROVIDERS are removed from the recipes so that if a version of the
dependency accidentally slips through, the build will fail and the user
can correct the issue.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoclasses/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
Richard Purdie [Fri, 10 Jan 2025 14:45:57 +0000 (14:45 +0000)] 
classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)

The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.

After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.

This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.

At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.

Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.

This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.

Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.

This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agokernel-yocto: make kernel commits reproducible
Enrico Jörns [Mon, 20 Jan 2025 06:55:15 +0000 (07:55 +0100)] 
kernel-yocto: make kernel commits reproducible

The git commit hashes for the kernel checkout are not reproducible under
certain conditions:

- If the git repository is initialized on an archive (rather than a
  git), the initial git commit not only has the current user name set,
  it also uses the current system time as committer and author date.
  This will affect the initial git hash and thus all subsequent ones.

- The patches applied by the kern-tools have a valid author and date.
  However, their committer again depends on the user building the BSP.

This is an issue, for example, if one compiles a kernel with
CONFIG_LOCALVERSION_AUTO enabled where the commit hash lands into the
kernel and thus the package version. This not only makes the package
version non-reproducible, but also leads to version mismatches between
kernel modules built against a fresh kernel checkout and the kernel
retrieved from the sstate cache.

The class uses 'check_git_config' from utils.bbclass, but this only sets
the git user and only if none existed before. Thus it doesn't really
help here.

Since in Git the committer information can be set only from the
environment variables GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, and
GIT_COMMITTER_DATE, we introduce a helper function to set those and
apply the author settings in the same way.
As values simply use PATCH_GIT_USER_NAME, PATCH_GIT_USER_EMAIL (from
patch.bbclass) and SOURCE_DATE_EPOCH.
For convenience, put the new helper 'reproducible_git_committer_author'
into utils.bbclass next to 'check_git_config' so others can use it, too.

Using this helper in kernel-yocto.bbclass makes the committer and author
date/name/email for the initial commit reproducible, as well as the
committer name/email for the patches applied with kern-tools.

For debugging purpose, allow disabling the reproducibility features by
setting KERNEL_DEBUG_TIMESTAMPS to "1".

Suggested-by: Felix Klöckner <F.Kloeckner@weinmann-emt.de>
Signed-off-by: Enrico Jörns <ejo@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agofmt: fix build with GCC 9.4
Ross Burton [Mon, 20 Jan 2025 11:45:20 +0000 (11:45 +0000)] 
fmt: fix build with GCC 9.4

fmt-native is needed to build ccache-native, and the compile fails on
hosts with GCC 9.4 (such as Ubuntu 20.04).  Backport a patch to fix this
issue.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolinux-firmware: upgrade 20241210 -> 20250109
Dmitry Baryshkov [Thu, 16 Jan 2025 02:40:23 +0000 (04:40 +0200)] 
linux-firmware: upgrade 20241210 -> 20250109

The linux-firmware now requires GNU Parallel in order to run parallel
builds. As the GNU Parallel is not a part of oe-core (the recipe is
present in meta-oe) disable parallel builds.

License-Update: additional files

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
6 months agoimage.bbclass: enable systemd user services
Artur Kowalski [Mon, 20 Jan 2025 12:46:06 +0000 (13:46 +0100)] 
image.bbclass: enable systemd user services

Run systemctl preset-all with --global flag so user unit's are enabled
the same way system units are.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: support user units in postinst and prerm hooks
Artur Kowalski [Mon, 20 Jan 2025 12:46:05 +0000 (13:46 +0100)] 
systemd.bbclass: support user units in postinst and prerm hooks

Handle user units in a manner similar to system units where possible.
Not everything is supported by systemd, but systemd limitations only
affect runtime package management - during update user services are not
reloaded/restart and each user must re-login or manually restart
services.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: update postinst and prerm hooks
Artur Kowalski [Mon, 20 Jan 2025 12:46:04 +0000 (13:46 +0100)] 
systemd.bbclass: update postinst and prerm hooks

Since SYSTEMD_SERVICE_ESCAPED may contain both system and user services
we need to filter out user services in call to systemctl. Introduce
helper systemd_filter_services() which takes space-separated list of
services and returns services of requested type.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: properly handle user units in systemd_create_presets
Artur Kowalski [Mon, 20 Jan 2025 12:46:03 +0000 (13:46 +0100)] 
systemd.bbclass: properly handle user units in systemd_create_presets

Previously user units were handled the same way as system units, that
is all preset files were created in system-preset directory, but user
presets should be in user-preset directory.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: introduce systemd_service_searchpaths()
Artur Kowalski [Mon, 20 Jan 2025 12:46:02 +0000 (13:46 +0100)] 
systemd.bbclass: introduce systemd_service_searchpaths()

systemd_service_searchpaths accepts boolean value indicating whether we
are dealing with system or user units and returns search paths
accordingly.

Previously search path list was created in systemd_check_services() but
following commits will introduce additional places. The
systemd_service_searchpaths helper function is meant to reduce code
duplication.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: factor out service lookup logic into separate function
Artur Kowalski [Mon, 20 Jan 2025 12:46:01 +0000 (13:46 +0100)] 
systemd.bbclass: factor out service lookup logic into separate function

Factor out the logic into systemd_service_path(). This will be needed by
following commits to avoid code duplication.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd.bbclass: add ${sysconfdir}/systemd/user to search path
Artur Kowalski [Mon, 20 Jan 2025 12:46:00 +0000 (13:46 +0100)] 
systemd.bbclass: add ${sysconfdir}/systemd/user to search path

We already search for system units ${sysconfdir}/systemd/system but we
don't search for user units in corresponding directory under ${sysconfdir}.
Keep the behaviour consistent so that both unit types are searched in
${systemd_{system,user}_unitdir} and ${sysconfdir}/systemd/{system,user}.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agosystemd-systemctl: add support for --global flag
Artur Kowalski [Mon, 20 Jan 2025 12:45:59 +0000 (13:45 +0100)] 
systemd-systemctl: add support for --global flag

The flag is similar to --user flag as it causes systemctl to operate on
user units, but it performs operations globally for all users. This is
required for user presets support.

Signed-off-by: Artur Kowalski <arturkow2000@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoeudev: backport patch to fix udevd hanging while trying to access /dev/urandom
Hiago De Franco [Mon, 13 Jan 2025 23:31:40 +0000 (20:31 -0300)] 
eudev: backport patch to fix udevd hanging while trying to access /dev/urandom

Linux kernel commit 48bff1053c17 ("random: opportunistically initialize
on /dev/urandom reads") introduced a change where /dev/urandom blocks if
the random pool is insufficiently initialized during hardware boot. This
behavior causes /dev/urandom reads to hang for approximately 5 seconds,
delaying the boot process with eudev init script (when it calls udevd).

This issue has already been solved upstream, therefore backport the
upstream patch to fix this.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
6 months agouboot-extlinux-config.bbclass: invalidate do_create_extlinux_config on changes to...
Quentin Schulz [Fri, 17 Jan 2025 16:50:54 +0000 (17:50 +0100)] 
uboot-extlinux-config.bbclass: invalidate do_create_extlinux_config on changes to UBOOT_EXTLINUX_FDTOVERLAYS:x

do_create_extlinux_config is using a bit of an odd mechanism which
doesn't work well with sstate cache invalidation.

BitBake will detect changes to UBOOT_EXTLINUX_FDTOVERLAYS because it's
explicitly mentioned in the task, but it'll miss changes to
UBOOT_EXTLINUX_FDTOVERLAYS:label because this OVERRIDES is set within
the task, so the value of UBOOT_EXTLINUX_FDTOVERLAYS for the label
OVERRIDES will only ever change from within the task, while it is
running, much later than during parsing.

For that to work properly, we need to add the entire variable (including
the OVERRIDES part) to the vardeps varflag of the task so that its value
is monitored. This is already done for all possible label variables but
FDTOVERLAYS was forgotten.

Fixes: 3ac21b32b5f5 ("uboot-extlinux-config.bbclass: add support for DTBOs")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agorsync: upgrade 3.3.0 -> 3.4.1
Archana Polampalli [Fri, 17 Jan 2025 06:33:58 +0000 (06:33 +0000)] 
rsync: upgrade 3.3.0 -> 3.4.1

CVEs addressed in this release:
CVE-2024-12084
CVE-2024-12085
CVE-2024-12086
CVE-2024-12087
CVE-2024-12088
CVE-2024-12747

Refreshed below patches:
makefile-no-rebuild.patch
determism.patch
0001-Add-missing-prototypes-to-function-declarations.patch

Changelog:
https://github.com/RsyncProject/rsync/blob/v3.4.1/NEWS.md
https://github.com/RsyncProject/rsync/blob/v3.4.0/NEWS.md

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agogrub-efi-cfg: Add GRUB_TITLE for custom GRUB titles
Simon A. Eugster [Wed, 15 Jan 2025 08:55:21 +0000 (09:55 +0100)] 
grub-efi-cfg: Add GRUB_TITLE for custom GRUB titles

Until now, the default title of a boot entry is its label. The label is
a variable which determines the script to run during an early boot stage
and is not necessarily human readable.

This patch allows to provide a human-readable title for each boot entry.

Signed-off-by: Simon A. Eugster <simon.eu@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodbus: update 1.14.10 -> 1.16.0
Alexander Kanavin [Wed, 8 Jan 2025 08:42:08 +0000 (09:42 +0100)] 
dbus: update 1.14.10 -> 1.16.0

Convert from autotools to meson.

Drop tmpdir.patch (replaced by -Dtest_socket_dir=/tmp --Dsession_socket_dir=/tmp).

License-Update: license texts split into separate files, SPDX ids added.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agopiglit: Upgrade to latest revision
Fabio Estevam [Fri, 17 Jan 2025 12:27:32 +0000 (09:27 -0300)] 
piglit: Upgrade to latest revision

Upgrade to latest revision.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoautoconf: rename autotools_aclocals and only run in do_configure
Ross Burton [Wed, 15 Jan 2025 16:33:18 +0000 (16:33 +0000)] 
autoconf: rename autotools_aclocals and only run in do_configure

Despite the name, autotools_aclocals() doesn't actually do anything with
aclocal. Instead it reads all of the available autoconf site default
files[1] and sets CONFIG_SITE appropriately. Rename the function to
autotools_sitefiles to make this clear.

Also there's no need to do this before do_configure or do_install, as
the variable is only checked when configure runs.

[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Site-Defaults.html

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolibtool: remove obsolete ACLOCALEXTRAPATH
Ross Burton [Wed, 15 Jan 2025 16:33:17 +0000 (16:33 +0000)] 
libtool: remove obsolete ACLOCALEXTRAPATH

This variable no longer exists, and would have had the effect of not
letting the target libtool see the contents of the native aclocal
directory.

I don't understand why this was needed but autotools has improved
dramatically in the last eight years, so it's most likely obsolete now.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoautotools: clean up aclocal/ search path assignments
Ross Burton [Wed, 15 Jan 2025 16:33:16 +0000 (16:33 +0000)] 
autotools: clean up aclocal/ search path assignments

We need aclocal to look in two different $datadir/aclocal/ directories:
the native (eg, for pkg.m4 from pkgconfig) and the target (eg, for
alsa.m4 from alsa-lib).

aclocal doesn't directly support this pattern, currently we use
--system-acdir to specify the target directory and then add the native
directory to the user include list.

However, since automake 1.17 there is also an --aclocal-path option to
augument the search list.  As the relocated aclocal from automake-native
already knows the correct path for the native aclocal directory we can
use --aclocal-path to add the correct target aclocal directory.

For simplicity I don't bother only doing this in non-native builds as
this just adds the same path to the search twice.

This removes ACLOCALDIR and ACLOCALEXTRAPATH. Recipes using these to
add search paths should instead use EXTRA_AUTORECONF += "-I path".

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolibsecret: update patch Upstream-Status
Markus Volk [Tue, 14 Jan 2025 07:05:56 +0000 (08:05 +0100)] 
libsecret: update patch Upstream-Status

Upstream does not want the pam tests to be skipped

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>
6 months agodevtool: ide-sdk remove the plugin from eSDK installer
Adrian Freihofer [Mon, 13 Jan 2025 23:39:09 +0000 (00:39 +0100)] 
devtool: ide-sdk remove the plugin from eSDK installer

The ide-sdk command bootstraps the SDK from the bitbake environment
before the IDE configuration is generated. In the case of the eSDK
installer, the bootstrapping is performed during the installation of
the eSDK installer. Running the ide-sdk plugin from an eSDK installer
based setup would require skipping the bootstrapping and probably taking
some other differences into account when generating the IDE
configurations.

This would be possible. But it will probably never be implemented, as
running devtool ide-sdk directly from the bitbake environment is much
more flexible.
Also, some of the recent improvements that have made it into the core
have the potential to make the eSDK installer obsolete at some point in
the future:
- bitbake-layers create-layers-setup replicates the layers
- bitbake-config-build replicates the build configuration
- The new sstate mirror features replicate the sstate
- bblock locks the sstate more flexible than the eSDK installer
- devtool ide-sdk bootstraps the SDK directly from the bitbake
  environment. The same environment-setup... file is provided with
  --mode=shared.
  The devtool modify based workflow is supported since always by devtool
  and also the default --mode of devtool ide-sdk.
These functions essentially cover what the eSDK installer does without
a need for the current implementation of the eSDK installer and the
populate_sdk_ext, which is hard to maintain and takes a lot of time to
build.
This means that instead of making the ide-sdk plugin compatible with the
eSDK installer, we should rather replace the current implementation of
the eSDK installer and populate_sdk_ext with an implementation that can
replicate a normal bitbake environment in a convenient way where the
ide-sdk plugin also just works without additional complexity.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: build-sdk remove unused imports
Adrian Freihofer [Mon, 13 Jan 2025 23:39:08 +0000 (00:39 +0100)] 
devtool: build-sdk remove unused imports

These imports are not needed.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolibxkbcommon: replace locale dependecy from RDEPENDS to RRECOMMENDS
Hiago De Franco [Tue, 14 Jan 2025 00:25:03 +0000 (21:25 -0300)] 
libxkbcommon: replace locale dependecy from RDEPENDS to RRECOMMENDS

The error described does not occur in all cases where libxkbcommon is
used. As example, a Qt application that depends on libxkbcommon might
not require any locales to be installed.

Add it to RRECOMMENDS, as libxkbcommon does not seen to have any hard
dependency on libx11-compose-data or libx11-locale. This change can help
users decide to disable it and save some space on the rootfs.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolttng-tools: disable patching our libtool.m4
Ross Burton [Thu, 16 Jan 2025 12:04:29 +0000 (12:04 +0000)] 
lttng-tools: disable patching our libtool.m4

Twelve years ago, libtool on Debian had a patch that meant it failed to
cross-compile lttng-tools correctly. The solution at the time was to
sed libtool.m4 whilst configure was being ran[1], which (assuming it
patches the correct file) results in a re-execution of configure during
do_compile.

This behaviour is undesired as we don't patch libtool in the way that
this fixup is needed (the sed only changes Haiku OS codepaths), so
disable it.

[1] https://github.com/lttng/lttng-tools/commit/6bd5984c2b1b1037e0345bbac3506b5503fe01bd

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>
6 months agoclasses/logging: Added the bbverbnote command to the logging set
Bastien JAUNY [Fri, 17 Jan 2025 15:48:07 +0000 (16:48 +0100)] 
classes/logging: Added the bbverbnote command to the logging set

Fixes [YOCTO #15688]

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Bastien JAUNY <bastien.jauny@smile.fr>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agolib: spdx: Upgrade to final 3.0.1 release
Joshua Watt [Thu, 16 Jan 2025 16:07:33 +0000 (09:07 -0700)] 
lib: spdx: Upgrade to final 3.0.1 release

The 3.0.1 release of SPDX has been officially released with a few minor
modifications. Regenerate the bindings to use this version.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agorust: increase test timeout again
Adrian Freihofer [Tue, 14 Jan 2025 22:17:01 +0000 (23:17 +0100)] 
rust: increase test timeout again

Fixes [YOCTO #15625]

The first attempt to get around the timeout was to double it from 5000
to 10000, which doesn't seem to be enough. Let's try to fix this by
extending the timeout by a factor of 10.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoofono: fix CVE-2024-7539
Yogita Urade [Tue, 14 Jan 2025 12:51:27 +0000 (12:51 +0000)] 
ofono: fix CVE-2024-7539

oFono CUSD Stack-based Buffer Overflow Code Execution Vulnerability.
This vulnerability allows local attackers to execute arbitrary code
on affected installations of oFono. An attacker must first obtain
the ability to execute code on the target modem in order to exploit
this vulnerability.

The specific flaw exists within the parsing of responses from AT+CUSD
commands. The issue results from the lack of proper validation of the
length of user-supplied data prior to copying it to a stack-based buffer.
An attacker can leverage this vulnerability to execute code in the
context of root. Was ZDI-CAN-23195.

Reference:
https://security-tracker.debian.org/tracker/CVE-2024-7539

Upstream patch:
https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=389e2344f86319265fb72ae590b470716e038fdc

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agoopenssl: remove obsolete CVE version suffix
Peter Marko [Wed, 15 Jan 2025 18:49:51 +0000 (19:49 +0100)] 
openssl: remove obsolete CVE version suffix

Since 3.0.0 openssl no longer uses characters in version suffix.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agogcc: poison-system-directories patch updated for missing paths
Sunil Dora [Thu, 16 Jan 2025 09:09:44 +0000 (01:09 -0800)] 
gcc: poison-system-directories patch updated for missing paths

Modified logic in gcc/incpath.cc to ensure that non-existing host system paths are
not deleted during cross-compilation. If the build system attempts to search a host
path, gcc will now issue a warning instead of silently ignoring it.

Fixes [YOCTO #15672]
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15672

Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: remove unused 'config' param from '_create_workspace' method
Chris Laplante [Sun, 12 Jan 2025 14:53:59 +0000 (09:53 -0500)] 
devtool: remove unused 'config' param from '_create_workspace' method

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: misc cleanups
Chris Laplante [Sun, 12 Jan 2025 14:53:58 +0000 (09:53 -0500)] 
devtool: misc cleanups

1. Bad None comparison
2. Reliance on transitive includes in bb
3. Unbound 'ret' variable

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: un-globalize 'plugins' variable
Chris Laplante [Sun, 12 Jan 2025 14:53:57 +0000 (09:53 -0500)] 
devtool: un-globalize 'plugins' variable

It never had to be a global anyway

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: un-globalize 'config' variable
Chris Laplante [Sun, 12 Jan 2025 14:53:56 +0000 (09:53 -0500)] 
devtool: un-globalize 'config' variable

'read_workspace' can now access it via the 'context' that's passed in

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: un-globalize 'context' variable and convert it to a dataclass
Chris Laplante [Sun, 12 Jan 2025 14:53:55 +0000 (09:53 -0500)] 
devtool: un-globalize 'context' variable and convert it to a dataclass

Please excuse the usage of 'typing' slipping in here - it's just how
dataclasses work :/.

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: un-globalize 'workspace' variable
Chris Laplante [Sun, 12 Jan 2025 14:53:54 +0000 (09:53 -0500)] 
devtool: un-globalize 'workspace' variable

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 months agodevtool: un-globalize the 'basepath' variable
Chris Laplante [Sun, 12 Jan 2025 14:53:53 +0000 (09:53 -0500)] 
devtool: un-globalize the 'basepath' variable

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>