Ross Burton [Tue, 16 Sep 2025 12:07:03 +0000 (13:07 +0100)]
bzip2: improve symlink creation
This recipe inherits relative_symlinks as otherwise ${bindir}/bunzip2 is
an absolute link to ${bindir}/bzip2. However, we drop the Makfile.am
into the tree so instead of working around the problem, we can just fix
the Makefile rules directly.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Sep 2025 12:07:02 +0000 (13:07 +0100)]
fontconfig: remove obsolete relative_symlinks class
The fontconfig recipe inherited this because the symlink farm that it
creates in /etc/fonts/conf.d/ to /usr/share/fontconfig/conf.avail/ were
all absolute links, and this causes "problems" for the native sstate
code[1].
However, as of fontconfig 2.15[2] these links are created relative, so
this inherit is redundant.
[1] oe-core e478550c8cd ("openssl/fontconfig/bzip2: Use relative symlinks instead of absolute ones (using a new class)")
[2] fontconfig 5d954398 ("Create a symlink with relative path")
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>
Mikko Rapeli [Tue, 16 Sep 2025 09:54:15 +0000 (12:54 +0300)]
linux-firmware: fix wl1251 packaging
wl12xx package regex was taking all binaries also from wl1251
which ends up empty and install to images fails. For wl1251 only
license binary package was generated.
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Sep 2025 09:37:37 +0000 (10:37 +0100)]
spirv-tools: improve packaging
spirv-tools is a set of libraries and some binaries that link to those
libraries, so inherit lib_package so that the binaries and the libraries
are packaged separately.
The lesspipe script hasn't needed bash since 2018[1], so remove the bash
dependency and package the script with the other binaries.
The build type unless specified is Debug, explicitly set RelWithDebInfo.
Ross Burton [Tue, 16 Sep 2025 09:37:36 +0000 (10:37 +0100)]
spirv-llvm-translator: small recipe cleanup
- There is no need for python3native, as this recipe doesn't depend on
other python modules.
- Inherit lib_package so the llvm-spirv binary is in a separate package
to the libLLVMSPIRVLib.so library.
- Remove obsolete CMake options that no longer appear to be required.
- Change CMAKE_SKIP_RPATH to CMAKE_SKIP_BUILD_RPATH as this stops the
ELF editing on install without potentially removing any explicit
RPATHs, and aligns with a change I've proposed for cmake.bbclass.
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>
Robert Yang [Tue, 16 Sep 2025 04:10:57 +0000 (21:10 -0700)]
ccache: 4.11.3 -> 4.12
License-Update: Third party packages' versions updated
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
clang: enable GPU backends for the opencl DISTRO_FEATURE
Clang gates enabling of several backends (AMDGPU, NVPTX and SPIR-V) by
the GPU-related distro features (opengl, vulkan). Now as we got a
separate feature for OpenCL, enable those backends for the OpenCL-only
configurations.
OpenCL is an important part of the GPU-related world. It makes sense to
be able to provide headless environment (without OpenGL and Vulkan), but
having just OpenCL as a GPU user. Currently it is not possible since
mesa requires either of those to be enabled for the DISTRO.
Add new 'opencl' DISTRO_FEATURE, controlling enablement of OpenCL.
Note: Mesa, if built with the libclc packageconfig (which is required
for OpenCL driver) depends on the mesa-clc tool from the mesa-native
package. It is required to propagate opencl DISTRO_FEATURE to the native
set in order to be able to fulfill mesa -> mesa-native dependency as
otherwise mesa-native package will be skipped.
vulkan-loader: switch RRECOMMENDS to use virtual package name
Instead of always pulling Mesa Vulkan drivers via RRECOMMENDS, make use
of the new virtual-vulkan-icd package name, letting BSP layers specify a
different preferred Vulkan driver.
In order to let BSPs easily select OpenCL and Vulkan Installable Client
Drivers, add two virtual package names: virtual-opencl-icd and
virtual-vulkan-icd.
patchtest: ignore patch file metadata from SRC_URI
The test_src_uri_left_files check prepares a list of patchfiles SRC_URI from
before and after the patch is applied, looking for dangling patches.
The name of the files in this list can be incorrect, in case the URI contains
some extra metadata (like patchdir), because os.path.basename will use the last portion
of the line being processed, which is independent from the files in question.
To avoid this, try to use only the first portion of URI, before any extra metadata.
Patchtest tries to apply the received patch on the repository, without
specifying the directory, which means that the CWD is used. In case the
patch modifies a content in a different folder (e.g. the script is running
in ./meta, but the patch modifies ./meta-selftest), the patch will be skipped,
but git still returns 0, instead of complaining.
To avoid such false positives, specify the working directory for applying the
patch - the top of the repodir.
Since upstream util-linux's flock command now supports the --fcntl
flag, there is no longer any reason to keep building the separate
fcntl-lock binary.
The hotfix release brings fix for installation process of localized templates and CUPS web UI home pages.
v2.4.13
The release 2.4.13 brings two CVE fixes - fix for important CVE-2025-58060 and fix for moderate CVE-2025-58364, together with several bug fixes.
The release includes a new feature - new attribute for printer and job objects - print-as-raster - which allows enforce rasterization of the file for IPP Everywhere/AirPrint printers, which supports PDF and raster document formats. The feature is useful for working around internal PDF issues in the printer firmware, for example missing diacritic when printing a PDF.
The detailed list of changes is available in CHANGES.md.
- Add meta/lib/oeqa/sdk/cases/go.py with GoCompileTest and GoHostCompileTest classes
- Test validates Go cross-compilation toolchain functionality
- Includes native compilation, cross-compilation, and Go module support
- Uses dynamic architecture detection for portability
Current qemurunner implementation expects internal network interface to
be eth0, but by default systemd renames network interfaces to have
predictable names. This causes a race in the evaluation of results of
susequent commands in case when qemurunner tries to setup the network
after the interface was already renamed and fails to do that (because
there's no eth0 interface present anymore).
package_manager/ipk: give out useful reason about an unmatched package
Give out useful information when a package could not be matched.
Before the change:
error: opkg_solver_install: No candidates to install catch2 (null)!
With this patch:
error: opkg_solver_install: No candidates to install catch2 (null)!
...
catch2 is a recipe. Its generated packages are: ['catch2-src', 'catch2-dbg', 'catch2-staticdev', 'catch2-dev', 'catch2-doc']
Either specify a generated package or set ALLOW_EMPTY:${PN} = "1" in catch2 recipe
package_manager/deb: give out useful reason about an unmatched package
Give out useful information when a package could not be matched.
Before the change:
E: Package 'catch2' has no installation candidate
With this patch:
E: Package 'catch2' has no installation candidate
catch2 is a recipe. Its generated packages are: ['catch2-src', 'catch2-dbg', 'catch2-staticdev', 'catch2-dev', 'catch2-doc']
Either specify a generated package or set ALLOW_EMPTY:${PN} = "1" in catch2 recipe
package_manager/rpm: give out useful reason about unmatched packages
Unmatched package error is a common error at rootfs. We want to give
out more useful information to user.
Before this change, if some user specifiy IMAGE_INSTALL += "catch2",
the error message will be like:
No match for argument: catch2
Error: Unable to find a match: catch2
With this patch, the error message will be like:
No match for argument: catch2
Error: Unable to find a match: catch2
catch2 is a recipe. Its generated packages are: ['catch2-src', 'catch2-dbg', 'catch2-staticdev', 'catch2-dev', 'catch2-doc']
Either specify a generated package or set ALLOW_EMPTY:${PN} = "1" in catch2 recipe
package_manager/__init__.py: add function to give user reason about a missing package
When users specify some package in IMAGE_INSTALL, but get some error
at rootfs time, the user might be confusing. This usually happens
when the user puts a recipe name in IMAGE_INSTALL.
To helper user understand more about what's going on, add a common
function here which makes use of pkgdata data to give the possible
reason about a missing package. This function is expected to be used
by package backends such as rpm.
Haixiao Yan [Fri, 12 Sep 2025 01:59:33 +0000 (09:59 +0800)]
buildtools-tarball: fix unbound variable issues under 'set -u'
When Bash runs with 'set -u' (nounset), accessing an unset variable
directly (e.g. [ -z "$SSL_CERT_FILE" ]) causes a fatal "unbound variable"
error. As a result, the fallback logic to set SSL_CERT_FILE/SSL_CERT_DIR
is never triggered and the script aborts.
The current code assumes these variables may be unset or empty, but does
not guard against 'set -u'. This breaks builds in stricter shell
environments or when users explicitly enable 'set -u'.
Fix this by using parameter expansion with a default value, e.g.
"${SSL_CERT_FILE:-}", so that unset variables are treated as empty
strings. This preserves the intended logic (respect host env first, then
CAFILE/CAPATH, then buildtools defaults) and makes the script robust
under 'set -u'.
Signed-off-by: Haixiao Yan <haixiao.yan.cn@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
shortlog:
src.ctf.fs: be less strict when encountering trailing byte at the end of packetized CTF 1.8 metadata
tests: add bt_test_cli
tests: make bt_cli accept non-positional options
tests: bt_diff_cli: don't pass unexpected extra args to bt_diff
tests: remove unnecessary nonlocal keywords
Fix: Python: set local typing version to that of 3.5.2
Fix: Python: missing __contains__ method for _PluginComponentClasses
Fix: tests: Add explicit items method for Mapping compatibility
Tests: sync normand.py with upstream
Fix: tests: Add explicit __iter__ method for Iterator compatibility
Fix: Use local_typing with Python < 3.5.3
Below commits on binutils-2.45 stable branch are updated.
316da476e61 visium MAX_MEM_FOR_RS_ALIGN_CODE b58f54a9bde strip: Don't treat fat IiR objects as plugin object a71a4df76e2 strip: Treat "default" output_target as unspecified 96114b5c147 strip: Don't check target_defaulted in input BFD 2b2e51a31ec libctf: link: rejig lazy opening to not need weak symbols ae8c1b4241a libctf: don't run tests requiring deduplicating linker unless one is in use e54a1de9515 libctf: exclude always-emitted Solaris symbols from the symtypetab 32830073ea0 libctf: get libctf-nobfd.ver from the right place with Solaris ld 404cb58a92f libctf: do not use mmap on Solaris 11 99f48156dd1 LoongArch: Fix symbol size after relaxation d45e8bff0b4 libiberty: sync with gcc b09f71c1c46 Re: resbin: don't pass NULL as printf %s arg 72d7cfff264 PR 33229 nds32 gas segfaults on gcc output 879eabba0fc Fix more unused variable warnings 29996106c19 Fix unused variable warnings 5541a7e7712 binutils: drop unused note_size, contents, old variables f4290b25097 bfd: drop unused elt_no 2a07e06e269 Re: Re-enable development on the 2.45 branch ad8cf343ab5 Re-enable development on the 2.45 branch
Test Results:
Before After Diff
No. of expected passes 315 317 +2
No. of unexpected failures 1 1 0
No. of untested testcases 1 1 0
No. of unsupported tests 9 9 0
96114b5c147 strip: Don't check target_defaulted in input BFD
The above commit adds the newly passing test cases.
License-update: trim the code, keep only the license
(there used to be a second copyright notice from a different author but
with mostly same MIT-ish content)
Add a backport to fix musl builds.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop 0001-change-shebang-to-python3.patch
(the change is made only to tests which aren't installed,
and probably isn't necessary to begin with as upstream
would've fixed it already).
Merge .inc into .bb.
Switch away from setuptools3 as pyproject.toml now exists.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoid an unnecessary 301 redirect and is matching the spec:
https://packaging.python.org/en/latest/specifications/simple-repository-api/#project-detail
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2.5.x are pre-releases (there was an update to 2.5.0 one year ago by mistake), but
it's good to pull in bug fixes and stabilisation and stay close to eventual final release.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* 5a86dc996c26 [Xtensa] Fix lowering FP compare operations.
* bb383adfafca [SCEVExp] Fix early exit in ComputeEndCheck. (#156910)
* 2daad319889d [LV] Don't run instcombine for interleaved-accesses test.
* 2d726485a4a3 [LV] Add more tests for interleave groups requiring predicates.
* 81d3b6ee82bf [X86] Only fold AND/ANDNP back to VSELECT if we know the predicated mask select is legal (#156663)
* 41df6d5e08b0 [CMake][AIX] Enable CMP0182: Create shared library archives by default (#155686)
* 35f812f23263 compiler-rt: Use OpenBSD's elf_aux_info to detect AArch64 HW features (#155768)
* c75a0754d358 [builtins] Rename freebsd to elf_aux_info to reflect the function called. NFCI (#155749)
* 0bbb93672952 [libc++] Fix broken precondition of __bit_log2 (#155476)
* 677a8a2d3c5a [compiler-rt] Remove leftovers of FreeBSD md5/sha2 interceptors (#153351)
* fa462a66e418 [lldb][DataFormatter] Allow std::string formatters to match against custom allocators (#156050)
* 12fbb344a1e8 [Coroutines] Restore accidentally dropped intrinsic IDs
* 160ad51687cc [clang][docs] Fix implicit-int-conversion-on-negation typos
* e0d94d9626e4 [lldb][DWARFASTParserClang] Don't complete conflicting Objective-C++ types (#156681)
* b4274c3bc8ee [DebugInfo] When referencing structured bindings use the reference's location, not the binding's declaration's location (#153637)
* 7a077a1b312b [libc++][AIX] Fixup problems with ABI list checking (#155643)
* 85e3f8ec7ff6 Remove EH_LABEL comments from tests
* 3751e53c3e89 [AArch64][BTI] Add BTI at EH entries. (#155308)
* f8a0ecfc6108 [compiler-rt] Avoid depending on the libnvmm header for NetBSD (#153534)
* 113916ccf75f [lldb][ClangASTImporter] Don't ASTImport LambdaExpr nodes (#154962)
* 362b99f60ef5 [libcxx][fstream][NFC] Make __failed helper lambda a member function (#149390)
* b7c18c1e7ac0 [libc++] Ensure that we restore invariants in basic_filebuf::overflow (#147389)
* b63daf6312ab [RISCV] Cost casts with illegal types that can't be legalized (#153030)
* ca11cf3afa42 [clang-format] Use proper flags for git diff-tree (#155247)
* 27f0e6e579b7 [clang][PAC] Fix builtins that claim address discriminated types are bitwise compatible (#154490)
* e35cb1a59b3e [clang] Make sure EvalInfo pointer isn't null (#155563)
* acabba4f6d30 [NVPTX] don't erase CopyToRegs when folding movs into loads (#149393)
* 0e5c3f9b58b9 [mlir][cmake] Fix mlir target export (#153341)
* 1f1a20bcb03d [AArch64][PAC] Do not execute AUT instructions speculatively (#155372)
* d69907d99beb [AArch64][PAC] Fix clobbering registers by BLRA and AUTH_TCRETURN (#155373)
* 9f3f813c94f5 Add pointer auth documentation to contents (#155763)
* 7dbfe40cb318 [libc++] Disable cv-qualified arithmetic hash specializations (#155786)
* ef3a6bd37c15 [Clang][CMake] Use IRPGO instead of FE PGO for Cmake Caches (#155957)
* 35215b6412b4 [SLP]Do not to try to revectorize previously vectorized phis in loops
* 64dd5399f7a1 [sanitizer_common] Older Haiku needs _GNU_SOURCE (#156291)
* 95608643573a [LoongArch] Fix broadcast load with extension. (#155960)
* 0d6736704f38 [X86] getScalarMaskingNode - if the mask is zero just return the blended passthrough and preserved source value (#153575)
* 1db648d1016d [release] Correct download links for Windows on Arm packages (#156459)
* 562605cef22a ThinLTOBitcodeWriter: Emit __cfi_check to full LTO part of bitcode file.
* 33e18acf4a03 [Analyzer] No longer crash with VLA operands to unary type traits (#151719)
* 8b6caff342c3 Bump version to 21.1.1
The groups command was previously installed by shadow. Therefore the
one provided by coreutils was removed for native to avoid a conflict.
However, since version 4.17.0, shadow no longer installs a groups
command and thus there is no conflict anymore.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some packages like cogl-1.0 RDEEPND on the GL / GL ES / EGL packages
directly. Reuse the package names RPROVIDEd by the non-glvnd mesa builds
for the libglvnd in order to let it fulfill the dependencies.
Ross Burton [Wed, 10 Sep 2025 13:48:07 +0000 (14:48 +0100)]
libical: improve buildpath situation
Take an upstream patch to remove buildpaths from the generator's CMake
files, so we don't need to sed them out.
Also, the generator tool is only needed when cross-compiling libical,
so we don't actually need to install it in the target package. This has
the nice side-effect of removing libxml2 from the target RDEPENDS as it
is only used in the tool.
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>
meson: Backport patches to support dependencies on header-only Boost libs
With Boost 1.89.0, the Boost.System library was made header-only. Since
this is a frequent library to have as dependency in meson.build files,
this resulted in build failures.
Backport two patches so that Boost dependencies on header-only libraries
work as expected.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
Version 1.6.49 [June 12, 2025]
Added SIMD-optimized code for the RISC-V Vector Extension (RVV).
(Contributed by Manfred Schlaegl, Dragos Tiselice and Filip Wasil)
Added various fixes and improvements to the build scripts and to
the sample code.
Version 1.6.50 [July 1, 2025]
Improved the detection of the RVV Extension on the RISC-V platform.
(Contributed by Filip Wasil)
Replaced inline ASM with C intrinsics in the RVV code.
(Contributed by Filip Wasil)
Fixed a decoder defect in which unknown chunks trailing IDAT, set
to go through the unknown chunk handler, incorrectly triggered
out-of-place IEND errors.
(Contributed by John Bowler)
Fixed the CMake file for cross-platform builds that require `libm`.
Gregor Herburger [Wed, 10 Sep 2025 11:38:02 +0000 (13:38 +0200)]
gcc: fix local include path for nativesdk-gcc
By default GCC uses /usr/local/include as the local include prefix.
When building the nativesdk-gcc package, this makes gcc look in the
hosts /usr/local/include and may use non-SDK headers.
Example from current poky:
$# x86_64-pokysdk-linux-gcc -v -E - </dev/null
#include <...> search starts here:
/opt/poky/5.2.99+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/15.2.0/include
/usr/local/include
/opt/poky/5.2.99+snapshot/sysroots/x86_64-pokysdk-linux/usr/include
/opt/poky/5.2.99+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/15.2.0/include-fixed
Define LOCAL_INCLUDE_DIR along with the other include directories in
defaults.h to set the local include directory to the directory in the
sysroot.
Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 11 Sep 2025 11:36:12 +0000 (12:36 +0100)]
perf: Fix reproducibility issue
Perf's build process generates two copies of its internal headers,
one at tools/lib/perf/include/internal and one at libperf/include/internal
with files like xyarray.h. Although the files are identical, the binaries including
them would see them at different paths and have different debuginfo data.
To avoid this, build libperf.a first, which will ensure the libperf
headers directory exists. This is used in preference to the other by
the build process and results in consistent binaries.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The suite is quick, it takes ~5 seconds on my machine to execute.
The tests consist of 2 or 3 parts, depending on how one counts them.
The apitest PACKAGACONFIG compiles tests for the c-interface, as part of
the main meson build. This apitest expects test data to be present in
a folder relative the test binary: ../../rsvg/tests folder.
ptest-cargo compiles two sets of test: rsvg-convert tests, and generic assorted
tests for the library, in multiple binaries.
The rsvg-convert tests expect test data to be present in a "tests" folder,
in the same folder where the test binaries are.
The library tests expect the tests to be in a folder called "tests", that's
location is specified by the CARGO_MANIFEST_DIR environment variable.
As part of compiling the cargo tests, rsvg-convert is also compiled specifically
for the tests, however it is not supposed to be different from the actual binary.
It is deleted from the test set, because of two reasons:
1. It is not bit-identical to the actually installed rsvg-convert (it is compiled differently,
with cargo only, without meson)
2. ptest-cargo class treated it as a test binary, and tried to execute it, which resulted
in failing/hanging test.
It is avoided by not installing this binary, but rather use the real rsvg package
as a runtime dependency, and create a symlink to it in the run-ptest script.
Added liberation-fonts as a runtime dependency to the tests - the rsvg-convert
tests require some fonts to be available to be able to render during some
svg->pdf conversion tests.
With hardcoded -Ttext,0x10000 and newer toolchains emitting
.note.gnu.property before .text, the link can fail with an overlap.
Provide a minimal linker script that:
- sets the image base to 0x10000,
- places .text first at exactly 0x10000,
- moves .note.gnu.property after .text,
- optionally fixes .bss at 0x12000.
LLD 21+ is erroring on text address being lower than the default
segment address for binaries. Erroring during configure e.g.
cannot link at address 0x2000
With LLD 21, -Ttext,<addr> only moves the .text section
it does not change the image base and LLD 21 errors out
if any section VMA is below the image base and the segment (image)
base still defaults to 0x400000 when using LLD, hence the error
LLD support in Grub needs to be done properly, it will need
to adjust how linker options are constructed in configure. We
default to use BFD linker always when using clang for now.
image.bbclass: preserve debugfs tarball with checksum fstype
Previously, when adding checksum fstypes to IMAGE_FSTYPES_DEBUGFS, e.g.
IMAGE_FSTYPES_DEBUGFS = "tar.bz2 tar.bz2.sha256sum", only the checksum
file remained in DEPLOY_DIR while the tarball file was removed. The
underlying issue was that inside gen_conversion_cmds, removing the
debugfs_ prefix from type broke the comparison with alltypes where the
prefix was expected.
Signed-off-by: Manuel Leonhardt <mleonhardt@arri.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The host might not have pkg-config installed, which is OK when using the
buildtools-extended-tarball, since that contains pkg-config. So the command in
the generated environment-setup-* script for setting HOST_PKG_PATH is expected
to fail in some cases without this being an error.
The generated environment-setup-* script might be sourced in a shell with
activated `errexit` option. Prevent the expected failure of this command from
being treated as an error.
The only usage of the HOST_PKG_PATH variable is in this script and already
handles the case of the variable being empty. The variable is not exposed to
anywhere outside this script so the effects of this change are limited to this
script.
Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Mon, 8 Sep 2025 14:15:05 +0000 (15:15 +0100)]
yocto-check-layer: show the distro used
It is good to know which distribution is being used, because it is not the same
whether we are using the poky or openembedded-core+bitbake repository.
The default distribution of bitbake is the nodistro while the other is poky.
The nodistro and poky produce different results when used to check the compatibility
of a layer so it is important to inform about the distro in use.
Signed-off-by: Jose Quaresma <jose.quaresma@oss.qualcomm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libassuan: don't search for gpgrt-config on build host
When another project uses the libassuan.m4 file to find libassuan details,
the macro first tries to execute the gpgrt-config executable if it can find
any in the PATH. However it also prepends the PATH with ${prefix}/bin, which
usually translates to /usr/bin - in case the build host has this executable
installed, then it is executed, and it shows warnings about mis-matched
architecture before pkg-config would be executed.
To avoid this, extend the existing patch to not prepend the PATH with the
build host path - the existing PATH should be good enough.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Cc: 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>
systemd.bbclass: Make systemd_postinst run as intended
After the switch from using a systemctl written in Python to using the
official version of systemctl from the systemd project, the
systemd_postinst function has effectively not been executed during the
rootfs creation. The reason is that systemctl provided by
systemctl-native fails if run without arguments (as systemd_postinst
does):
Failed to connect to system scope bus via local transport: Operation
not permitted (consider using --machine=<user>@.host --user to connect
to bus of other user)
This is not seen in the logs since stderr is sent to /dev/null, and the
only way to tell that there is a problem is because systemd services
that are expected to be enabled aren't running.
The reason this has gone unnoticed is because systemd_handle_machine_id
in rootfs-postcommands.bbclass will call systemctl preset-all, which in
most cases will create the missing links to enable the systemd services.
This change effectively reverts commit a52e66762c0c51918b1ba3d4622759637b6e920a (systemd.bbclass: update
command to check systemctl available) and instead only runs systemctl
without arguments (to determine that it can communicate with systemd)
when executed on target.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is needed when support for both systemd and sysvinit are enabled.
This also adds a patch for systemctl to call systemd-sysv-install
without a hardcoded path and instead relies on finding it in $PATH. This
is needed when calling systemctl from a recipe sysroot.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Tatrai [Mon, 8 Sep 2025 10:41:57 +0000 (12:41 +0200)]
connman: avoid hiding implementation-reserved symbols in version scripts
This commit adds a patch to ConnMan that modifies the version scripts
(src/connman.ver and vpn/vpn.ver) to avoid hiding implementation-reserved
symbols (such as _IO_stdin_used). Previously, using 'local: *;' in the
version script caused glibc's libio to misdetect the libc version,
resulting in a crash when printing to stdout (e.g., running 'connmand
--help') on PowerPC.
The new patch changes 'local: *;' to 'local: [!_]*;', following the
recommendation in glibc bug 17908
(https://sourceware.org/bugzilla/show_bug.cgi?id=17908). This ensures
that symbols starting with an underscore are not hidden, allowing libio
to correctly detect the libc version and preventing the crash.
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mesa: avoid host path poisoning when enabling OpenCL
When enabling rusticl (and the shared-llvm meson feature via the
gallium-llvm PACKAGECONFIG documented dependency), the clc headers are
looked on the filesystem at runtime. Unfortunately, part of the lookup
path contains LLVM_LIB_DIR, a variable derived from llvm_libdir meson
variable. The latter is required to figure out where the clang/llvm
libraries are for the cross-compiler but the former is used when running
on the target. When in a cross-compiling environment, LLVM_LIB_DIR would
actually point at a non-existing path (the sysroot path on the build
host) instead of the target path. This sadly triggers a buildpaths QA
error in addition of being incorrect.
Another option is to bundle the clc headers directly inside the binary
instead of looking them up at runtime, something we can do with
mesa-clc-bundle-headers meson feature.
So let's do that to fix the issue and buildpaths QA error.
At least panfrost and asahi drivers are prone to host paths poisoning
due to unpatched __FILE__ macro in assert() of libcl.
The compilation units for files including this file all are passed
specific arguments via the cl_args meson variable which currently only
contains one fmacro-prefix-map entry for relative paths. However, there
are also absolute build and source paths that seem to make it to the
generated files and libraries so this patches mesa to also strip those
paths.
Note that out of the four paths in the default DEBUG_PREFIX_MAP, only
the source and build directories make it to the fmacro-prefix-map and
they aren't mapped like they are when used with ffile-prefix-map in
DEBUG_PREFIX_MAP as I'm not sure if it is at all possible for meson to
fetch this Yocto-provided path we should be mapping to in the current
mesa code base. I guess this is good enough for now.
>From my understanding, xmlconfig is useful for "dynamic" driconf
support, i.e. driconf the user specifies at runtime.
According to the wiki[1], driconf is useful for OpenGL drivers.
I wager we mostly don't need xmlconfig at all which may allow us to also
get rid (in most cases) of the expat dependency. But that is an
optimization to investigate later, so let's keep xmlconfig enabled for
now as it is the default whenever the meson feature is not disabled
(defaults to auto) and expat is found (currently part of DEPENDS in
mesa.inc).
This will be useful for mesa-tools-native which isn't meant to compile
drivers and thus shouldn't try to compile driconf support and install
driconf example files.
Technically, xmlconfig depends on the expat meson feature (and the
presence of the expat build dependency) but the feature is default auto
so having expat dependency in xmlconfig PACKAGECONFIG seems enough
instead of having one PACKAGECONFIG depend on another PACKAGECONFIG's
presence.
mesa: add asahi to TOOLS when selected in PACKAGECONFIG
Similarly to panfrost and other PACKAGECONFIG, mesa has tools for asahi.
So let's build the tools whenever asked.
While the tools are often built regardless of their presence in the
"tools" mesa option whenever the appropriate gallium or vulkan driver is
built, this allows to build the tool(s) without building the drivers
which can be beneficial for native recipes where it makes little sense
to build drivers.
This will be useful for building asahi_clc precomp-compiler in native
mesa for example which only builds if:
- one enables the asahi gallium driver, or
- one enables the asahi vulkan driver, or
- one builds the asahi tools
c.f. https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-25.1.5/src/asahi/meson.build?ref_type=tags#L12-L17
According to the introducing commit log[1] and Dmitry's recollection[2],
the whole point of mesa-gl recipe is to provide GL library in case there
are vendor-provided GLES libraries.
Therefore, let's make this recipe target only by removing the
BBCLASSEXTEND variable.
No intended change in behavior for the target recipe.
Ross Burton [Thu, 4 Sep 2025 14:03:35 +0000 (16:03 +0200)]
mesa: assign S in include file
Anything including mesa.inc will have the sources extracted in
${UNPACKDIR}/mesa-${PV}.
The default for S is ${UNPACKDIR}/${BP}. ${BP} is ${BPN}-${PV}. Because
mesa.bb is named mesa, BPN will be mesa and thus S wasn't required for
mesa.bb but only for mesa-gl.bb. This also explains why this change is
fine for mesa.bb as the value of S won't have changed, the ${BPN} part
is now just hardcoded to "mesa" for mesa.bb instead.
No intended change in behavior.
Signed-off-by: Ross Burton <ross.burton@arm.com>
[added commit log and title] Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Tested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> 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>
We're going to have a new mesa-tools-native recipe include mesa.inc
soon. We don't need a target mesa-tools recipe for now so we'll go with
a native-only recipe which this BBCLASSEXTEND prevents us to do
properly, so let's move them to the recipes instead.
There currently are two recipes including mesa.inc: mesa-gl and mesa.
Because mesa-gl.bb already sets PROVIDES, overriding the value it should
be getting from mesa.inc, move PROVIDES from mesa.inc to mesa.bb,
keeping the value in mesa-gl.bb intact.
Because GLPROVIDES is not used in mesa-gl.bb, it also is only moved to
mesa.bb.
We're planning on reusing mesa.inc for a new mesa-tools-native recipe
which will require much less in terms of PACKAGECONFIG than the actual
mesa recipes.
It also doesn't make a lot of sense to have a default PACKAGECONFIG in
an include file inherited by multiple recipes (here mesa and mesa-gl)
which is highlighted by the fact that the only other recipe that
includes mesa.inc (mesa-gl) overrides PACKAGECONFIG (hence why mesa-gl
only gets a partial migration of PACKAGECONFIG defaults.
mesa-gl: use bb.utils.filter to improve readability
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" is
exactly the same as ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} so
use the latter to make it easier on the eyes.
The ??= operator for PACKAGECONFIG doesn't actually do anything because
the recipe includes mesa.inc which already sets this variable (with the
= operator).
This probably wasn't noticed until now because mesa-gl is likely only
ever built in its target flavor which was already set correctly thanks
to the :class-target override.
This essentially only make mesa-gl-native and nativesdk-mesa-gl follow
the same configuration as the target.
Markus Kurz [Mon, 8 Sep 2025 22:01:57 +0000 (00:01 +0200)]
appstream: upgrade 1.0.5 -> 1.0.6
Changelog
=========
Features:
* compose: Accept .ttc font files
* compose: Give font icons a background shape
* compose: Render more elaborate font sample cards
Bugfixes:
* compose: Insert screenshot tags for auto-generated font screenshots
* compose: Trim substring when truncating font sample text
* meson: don't override appstreamcli when cross-building
* compose: Prefer rendering font icon with "Regular" style
* compose: Sanitize font text samples before using them as icon
* Follow directory symlinks when looking for Flatpak data
* compose: Drop bad private-header include in public header
* compose: Drop unneeded const declaration for GKeyFile
* Fix typo that prevented video metadata from being composed properly
Signed-off-by: Markus Kurz <m.kurz92@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clang with libc++ hardening on, rejects Boost’s enum trait probe
which is ill-formed for scoped/limited
enums whose valid range does not include −1
(e.g. enums with values [0..3])
Changelog:
Fix issue with QMI and handling SMS message acknowledgement.
Fix issue with handling SIM7100 modem ready detection.
Add support for forbidden operator list.
Bruce Ashfield [Wed, 10 Sep 2025 19:39:42 +0000 (15:39 -0400)]
linux-yocto/6.16: cfg: fix audit warnings
Integrating the following commit(s) to linux-yocto/.:
1/4 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: guest: make DRM guest options arch specific
Date: Wed, 10 Sep 2025 13:38:37 -0400
We only need some of the extended DRM options if the guest is
x86-64 or arm64, otherwise, we get configuration warnings as
the options are not valid.
Restrict the architectures and we get a clean configuration
and can build packages like vboxguestdrivers.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
2/4 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: debug-sched: drop SCHED_DEBUG
Date: Wed, 10 Sep 2025 14:51:19 -0400
Yes, we could drop the entire fragment, but then users of it
would get config errors unessarily. We keep it to ensure that
CONFIG_PROC is around in small configurations.
The reason is that while originally CONFIG_SCHED_DEBUG started
out as a debugging feature, over the years (decades ...) it has
grown various bits of statistics, instrumentation and
control knobs that are useful for sysadmin and general software
development purposes as well.
But within the kernel we still pretend that there's a choice,
and sometimes code that is seemingly 'debug only' creates overhead
that should be optimized in reality.
So make it all official and make CONFIG_SCHED_DEBUG unconditional.
Now that all uses of CONFIG_SCHED_DEBUG are removed from
the code by previous patches, remove the Kconfig option as well.
Signed-off-by: Ingo Molnar <mingo@kernel.org> Tested-by: Shrikanth Hegde <sshegde@linux.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Juri Lelli <juri.lelli@redhat.com> Cc: Vincent Guittot <vincent.guittot@linaro.org> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Ben Segall <bsegall@google.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Valentin Schneider <vschneid@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: https://lore.kernel.org/r/20250317104257.3496611-6-mingo@kernel.org Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
3/4 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: x86: drop CONFIG_HIGHPTE
Date: Wed, 10 Sep 2025 15:05:46 -0400
With the maximum amount of RAM now 4GB, there is very little point
to still have PTE pages in highmem. Drop this for simplification.
The only other architecture supporting HIGHPTE is 32-bit arm, and
once that feature is removed as well, the highpte logic can be
dropped from common code as well.
wifi: ipw2x00/lib80211: move remaining lib80211 into libipw
There's already much code in libipw that used to be shared
with more drivers, but now with the prior cleanups, those old
Intel ipw2x00 drivers are also the only ones using whatever is
now left of lib80211. Move lib80211 entirely into libipw.
With many thanks to TI, my understanding is that it was determined that
the problem here is that we have a getty connected to ttyS1 which is
actually the expansion port uart and on the BeaglePlay wired up to the
wifi controller's debug port. The getty receives noise it doesn't know
what to do with, and at some point the power management code does a
suspend/result cycle of the device. The serial drivers assume that
child nodes use the serdev driver and they manage runtime_pm, but the
getty opening the tty breaks a series of bad assumptions in the drivers.
So, there are two bugs:
1) The kernel shouldn't crash if this tty is opened
2) The only serial port for a console on the BeaglePlay is ttyS2,
despite others existing.
TI are looking at (1) and other patches to follow will deal with (2).
Until one of these is resolved entirely, reverting this change to power
management stops the crashes.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
2/3 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: genericarm64: temporarily use a branch
Date: Tue, 9 Sep 2025 22:23:13 -0400
There are two reverts needed for genericarm64 serial that we
don't want to have on the common branches. So for now, we create
a BSP branch to hold those reverts.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
3/3 [
Author: Mikko Rapeli
Email: mikko.rapeli@linaro.org
Subject: genericarm64.cfg: fix warnings from v6.16.2 kernel
Date: Wed, 27 Aug 2025 13:08:52 +0300
New kernel version has changed config dependencies and
these need to be enabled explicitly. Fixes multiple
do_kernel_configcheck warnings about ineffective configs.
Tested kernel boot and oeqa runtime tests on arm64 build
machine with qemu and qemu kvm and on AMD KV260
The x86-32 kernel used to support multiple platforms with more than eight
logical CPUs, from the 1999-2003 timeframe: Sequent NUMA-Q, IBM Summit,
Unisys ES7000 and HP F8. Support for all except the latter was dropped
back in 2014, leaving only the F8 based DL740 and DL760 G2 machines in
this catery, with up to eight single-core Socket-603 Xeon-MP processors
with hyperthreading.
Like the already removed machines, the HP F8 servers at the time cost
upwards of $100k in typical configurations, but were quickly obsoleted
by their 64-bit Socket-604 cousins and the AMD Opteron.
Earlier servers with up to 8 Pentium Pro or Xeon processors remain
fully supported as they had no hyperthreading. Similarly, the more
common 4-socket Xeon-MP machines with hyperthreading using Intel
or ServerWorks chipsets continue to work without this, and all the
multi-core Xeon processors also run 64-bit kernels.
While the "bigsmp" support can also be used to run on later 64-bit
machines (including VM guests), it seems best to discourage that
and get any remaining users to update their kernels to 64-bit builds
on these. As a side-effect of this, there is also no more need to
support NUMA configurations on 32-bit x86, as all true 32-bit
NUMA platforms are already gone.