Peter Marko [Sat, 8 Feb 2025 18:18:32 +0000 (19:18 +0100)]
go: upgrade 1.22.11 -> 1.22.12
Upgrade to latest 1.22.x release [1]:
$ git --no-pager log --oneline go1.22.11..go1.22.12 5817e65094 (tag: go1.22.12) [release-branch.go1.22] go1.22.12 0cc45e7ca6 [release-branch.go1.22] crypto/internal/fips140/nistec: make p256NegCond constant time on ppc64le c3c6a50095 [release-branch.go1.22] cmd/go/internal/modfetch: do not trust server to send all tags in shallow fetch e0a01acd04 [release-branch.go1.22] cmd/compile: fix write barrier coalescing
Richard Purdie [Fri, 7 Feb 2025 16:23:29 +0000 (16:23 +0000)]
go: Fix to work without gold on aarch64
If we remove gold from binutils, go-runtime fails to build. There was a
workaround in go to use gold as the bfd linker had a bug. The issue was
fixed so backport dropping the workaround fmr upstream.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ninette Adhikari [Mon, 27 Jan 2025 13:20:08 +0000 (14:20 +0100)]
scripts/buildperf: Add chart tabs for commit count/time
We triggered a test of an older revision to narrow down when performance
changed. The issue is that git's timestamps are granular to 1s. We'll
usually merge a set of commits at the same time so they will all have
the same timestamp for a block of them. This means that even if we use
the commit date, all the points can't be distinguished on the graph.
The author date doesn't work either as the commits are not merged in
author date order.
To solve this this patch adds the commit_count chart as a separate tab
next to the start_time chart
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 9 Feb 2025 10:49:31 +0000 (10:49 +0000)]
lib/oeqa/metadata: Add commit_time to branch metadata being saved
As well as commit counts, it is helpful to know when metadata dates from. Store
the unix timestamp for commits in a commit_time field alongside the commit count.
This is useful for performance graph analysis and saves having to recompute the
data.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Quentin Schulz [Wed, 5 Feb 2025 16:16:01 +0000 (17:16 +0100)]
scripts: add b4-wrapper for poky
poky is a combo-layer containing BitBake, OpenEmbedded-Core and Yocto
Documentation source code into one big repo. It is not uncommon to have
people develop patches for either of those projects from a poky git
repo.
However, it is unlikely those patches are to be sent to the poky mailing
list as very few files contained in the poky git repo actually are
poky-specific. So we need a way to identify to which mailing list a
patch is destined to be sent.
Additionally, because the source code in openembedded-core is
merged/imported at the root of the git repo of poky, its .b4-config
introduced in the previous commit will be used if not overridden (which
will be done in a separate commit specific to the poky git repo). We
need to provide a different .b4-config in poky.
Therefore, this wrapper is used to identify automatically which mailing
list a patch series needs to be sent to (via b4 prep --auto-to-cc) and
does some additional checks (via b4 prep --check) such as making sure a
patch doesn't modify two different projects at the same time or that
multiple projects are modified by different patches in the same patch
series.
This wrapper script is meant to be used by poky's .b4-config. Ideally
the b4 prep --check part could be offloaded to `patchtest` once it
supports running on source different from OE-Core.
Note that b4 makes sure that an address doesn't appear twice in the
recipient list. There's also no priority in the type of recipient list,
so if the address appears first in Cc and then in To, only the Cc will
be added. The opposite is true as well.
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Quentin Schulz [Wed, 5 Feb 2025 16:16:00 +0000 (17:16 +0100)]
b4-config: Add basic b4 config file
b4[1] is a very nice tool for mail-based contribution. A config[2] file
exists to set up a few defaults. We can use it to set the Cc recipients
to always add, in our case the mailing list.
Because we do not have anything to check for now, disable needs-checking
so patches can be sent without running b4 prep --check. The
mid-term/long-term plan is to use patchtest locally.
Because we do not have any auto-to-cc support (and the implicit one
using scripts/get_maintainer.pl cannot work for us), also disable
needs-auto-to-cc so patches can be sent without running b4 prep
--auto-to-cc.
hongxu [Tue, 21 Jan 2025 08:55:18 +0000 (16:55 +0800)]
perl: fix do_install failed for nativesdk-perl
While set 'baselib = "lib64"' for nativesdk, perl do_install failed:
| rm: cannot remove 'tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-perl/
5.40.0/image//usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/
usr/lib64/perl5/5.40.0/*/CORE/libperl.so': No such file or directory
Moritz Haase [Tue, 4 Feb 2025 13:30:24 +0000 (14:30 +0100)]
meta: Enable '-o pipefail' for the SDK installer
When testing a Yocto SDK installer on Alpine 3.21, we recently ended up with a
broken SDK. One of the commands the relocation script calls in a piped
multi-command chain failed (see [0]), but the installer did not realize that -
since it doesn't use 'set -o pipefail'. Thus, the error was never reported to
the user and the installer claimed to have set up the SDK correctly - which
wasn't the case.
Given that the SDK installer is a POSIX-compliant shell script and that the
'pipefail' option used to be missing from the standard, it's not surprising that
it isn't used. Thankfully however, in June of 2024, a new version of POSIX
(POSIX.1-2024) was released - and that one finally includes the 'pipefail'
option (see [1]). A number of shells already support it, so let's enable it if
available to make the SDK installer more robust.
The change has been tested locally using SDK installers for internal projects,
based on both Kirkstone and Scarthgap.
Simone Weiß [Mon, 3 Feb 2025 18:26:43 +0000 (18:26 +0000)]
libseccomp: Upgrade 2.5.5 -> 2.6
Changelog:
- Update the syscall table for Linux v6.13
- Add support for new arches: SuperH little and big endian, LoongArch, and
32-bit Motorola 68000
- Add multiplexed syscall support for more arches: MIPS, SuperH, and PPC
- Consolidate and simplify handling of multiplexed syscalls
- Add support for the SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV flag
- Add support for transactions with the seccomp_transaction_start(),
seccomp_transaction_commit(), and seccomp_transaction_reject() APIs
- Add a seccomp_precompute() API to generate the seccomp BPF filter prior to
seccomp_load() or seccomp_export_bpf_mem()
- Add support for binary tree filters without syscalls
- Add support for the kernel’s implementation change of
SECCOMP_IOCTL_NOTIF_ID_VALID
- Add Python binding support for retrieving the notification file descriptor
- Improved tooling to help track syscall table updates in the Linux kernel
- Handle EINVAL error from the kernel when the WAIT_KILLABLE_RECV flag is
erroneously provided to the kernel
- Fix a seccomp userspace notification issue where the file descriptor was
being requested more than once
- Fix a bug where the internal filter state could be corrupted when a filter
rule addition fails
- Fix potential memory leak in the internal management of filter snapshots
- Utilize Cython rather than distutils in the Python bindings, due to
distutils’ deprecation
- Many test and CI improvements and fixes
- Many documentation improvements and updates
rust: restore parallel builds, disable lto only for rustdoc
The original reproducibility fix was problematic for a couple reasons:
- disabling both lto and parallel builds had an unfortunate effect of nearly
doubling rust-native and rust build times (which are slow to begin with).
Disabling lto hurts runtime performance too.
- both of these things were done for the *entire build*, while the only
problematic item is the librustdoc crate.
- lto=off option in config.toml has an effect only on building rustc
(the compiler itself), and doesn't help with rustdoc reproducibility.
Actual fix is the codegen-units setting, which indirectly disables
lto via giving llvm only one unit to work with at a time.
After some digging, here's a more targeted fix for the problem.
Why librustdoc is non-reproducible, but not anything else
remains a mystery, hidden deep in rust-llvm's lto optimization code.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Igor Opaniuk [Tue, 4 Feb 2025 10:01:14 +0000 (11:01 +0100)]
rust/README-rust.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:
$ cat ./meta/recipes-devtools/rust/README-rust.md | mdl
(stdin):1: MD002 First header should be a top level header
(stdin):25: MD006 Consider starting bulleted lists at the beginning of the line
(stdin):3: MD009 Trailing spaces
(stdin):11: MD009 Trailing spaces
(stdin):26: MD009 Trailing spaces
(stdin):39: MD012 Multiple consecutive blank lines
(stdin):32: MD032 Lists should be surrounded by blank lines
(stdin):36: MD032 Lists should be surrounded by blank lines
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Igor Opaniuk [Tue, 4 Feb 2025 10:01:13 +0000 (11:01 +0100)]
patchtest/README.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:
$ cat ./meta/lib/patchtest/README.md | mdl
(stdin):4: MD034 Bare URL used
(stdin):8: MD034 Bare URL used
(stdin):9: MD034 Bare URL used
(stdin):20: MD034 Bare URL used
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Igor Opaniuk [Tue, 4 Feb 2025 10:01:12 +0000 (11:01 +0100)]
SECURITY.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:
$ cat SECURITY.md | mdl
(stdin):16: MD013 Line length
(stdin):19: MD013 Line length
(stdin):20: MD013 Line length
(stdin):1: MD026 Trailing punctuation in header
(stdin):6: MD034 Bare URL used
(stdin):16: MD034 Bare URL used
(stdin):19: MD034 Bare URL used
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Igor Opaniuk [Tue, 4 Feb 2025 10:01:11 +0000 (11:01 +0100)]
README.qemu.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:
$ cat README.qemu.md | mdl
(stdin):8: MD006 Consider starting bulleted lists at the beginning of the line
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Igor Opaniuk [Tue, 4 Feb 2025 10:01:09 +0000 (11:01 +0100)]
README.OE-Core.md: fix markdown style issues
Fix markdown style issues using markdownlint tool [1]:
$ cat README.OE-Core.md | mdl
(stdin):15: MD012 Multiple consecutive blank lines
(stdin):9: MD034 Bare URL used
(stdin):13: MD034 Bare URL used
(stdin):19: MD034 Bare URL used
(stdin):25: MD046 Code block style
(stdin):29: MD046 Code block style
(stdin):33: MD046 Code block style
[1] https://github.com/markdownlint/markdownlint Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yoann Congal [Mon, 3 Feb 2025 23:48:36 +0000 (00:48 +0100)]
selftest/reproducible: Add a method to test a single recipe
Introduce a new variable "OEQA_REPRODUCIBLE_TEST_LEAF_TARGETS".
It can be used like OEQA_REPRODUCIBLE_TEST_TARGET but will try to use
sstate for the dependencies.
This can be used to "quickly" test the reproducibility of a single recipe.
[YOCTO #15701]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 31 Jan 2025 08:29:50 +0000 (08:29 +0000)]
glibc: Upgrade to 2.41 release
License-Update: Added license for e_gammaf_r.c [1]
added url of CORE-MATH project [2]
* Testing support with different compilers (series)
* Remove XXX math functions from installed math.h (patch)
* Remove "%n" from assert (commit)
* Improve executable stack handling
* Compile glibc tests with Clang (series 1, series 2)
* asprintf should write NULL on failure
* Revert TCB layout changes
* Fix ld.so crashes with golang test suite
* Fixes after GET_ADDR_ARGS removal
* Extend Rseq Support, plus x32 fixup
* sh4: ensure FPSCR.PR==0 when executing FRCHG [BZ #27543]
* affinity-inheritance test: overallocate CPU sets
* rseq-related aarch64 test failures
* arc4random test failure under load
* benchtests: Add dummy in put files cospi, cospif, sinpi, sinpif, tanpi, tanpif
* pthread condvar missing signal, bug 25847
* aarch64: Add support for Guarded Control Stack extension
* testsuite: Make stdio-common/tst-printf-format-*-mem UNSUPPORTED if the mtrace output does not exist
Randy MacLeod [Tue, 4 Feb 2025 01:39:24 +0000 (20:39 -0500)]
valgrind: disable ptests
The valgrind test runner, vg_regtest, changed in the 3.24 update and
there are some additional valgrind ptest regressions happening with glibc-2.41.
Disable the ptests for now. Some of the remaining patches can likely
be dropped but I'd rather carry them so that re-enabling the ptests
is simpler. Also the patch series have some dependencies and unwinding
that would block the glibc-2.41 unnecessarily.
This builds for glibc, musl for qemux86-64, runs:
-> valgrind [--leak-check=full] /bin/ls /tmp
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yash Shinde [Mon, 3 Feb 2025 09:15:19 +0000 (01:15 -0800)]
qemuriscv: Enable Sv39 memory address scheme by default
Currently, GCC Asan supports only Sv39 on RISC-V 64 due to custom allocator configurations optimized for large allocations.
These configurations are incompatible with larger address spaces like Sv48/Sv57.
This fix enables RISC-V 64 configuration for RVA22S64 profile(which has sv39 mode and other extensions) by default when running `runqemu nographic`,
eliminating the need for manual configuration via command line flags (`qemuparams="-cpu rv64, sv39=true"`).
Khem Raj [Sun, 2 Feb 2025 21:09:41 +0000 (13:09 -0800)]
binutils: Upgrade to 2.44 release
* Drop the CVE-2024-53589 patch, its included in 2.44
* Package newly rename gp-* to gprofng-* binaries and remove old gp-*
symlinks
* Gold linker is now deprecated and will be removed in future release
its already deleted in tarball releases
* Support for the Nios II target has been removed.
* Assembler:
- Support for new architecture extensions for AArch64, Risc-V and
x86.
* Linker:
The default maximum page size was changed from 16KiB to 64KiB for
LoongArch.
This now supports mixed LTO and non-LTO object files in
relocatable output.
The ELF forms of the linker support a --image-base=<ADDR> option
for compatibility with LLD.
The --build-id= option now accepts an argument of "xx" which
enables the use of the xxhash library. This produces a 128-bit
hash and is 2-4x faster than md5 or sha1.
The ELF linker option --package-metadata supports percent-encoded
and %[string] encoded JSON payloads.
* Disassembler:
The RISC-V disassembler now supports -M,max option like QEMU to
dump instruction without checking architecture support as usual.
* GprofNG:
Support added for hardware event counters for Neoverse-N1,
Ampere-1, and Appliedmicro processors.
Mikko Rapeli [Mon, 3 Feb 2025 12:28:51 +0000 (14:28 +0200)]
testimage.bbclass: fix logDetails() call on error path
This happens when testimage task runs and bitbake is interupted
twice with ctrl-c/SIGINT:
QMP Available for connection at /home/builder/src/base/repo/meta-arm/build/tmp/.xjik9srq
QMP connected to QEMU at 01/31/25 10:36:19 and took 0.55 seconds
QMP released QEMU at 01/31/25 10:36:19 and took 0.07 seconds from connect
Keyboard Interrupt, closing down...
Second Keyboard Interrupt, stopping...
WARNING: Exiting due to interrupt.
NOTE: Sending SIGTERM to remaining 1 tasks
ERROR: core-image-base-1.0-r0 do_testimage: testimage interrupted, shutting down...
Output from runqemu:
runqemu - INFO - Received signal: 15
runqemu - INFO - Cleaning up
runqemu - INFO - Host uptime: 6230788.40
tput: No value for $TERM and no -T specified
ERROR: core-image-base-1.0-r0 do_testimage: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_testimage(d)
0003:
File: '/home/builder/src/base/repo/meta-arm/build/../poky/meta/classes-recipe/testimage.bbclass', lineno: 122, function: do_testimage
0118: dump-guest-memory {"paging":false,"protocol":"file:%s.img"}
0119:}
0120:
0121:python do_testimage() {
*** 0122: testimage_main(d)
0123:}
0124:
0125:addtask testimage
0126:do_testimage[nostamp] = "1"
File: '/home/builder/src/base/repo/meta-arm/build/../poky/meta/classes-recipe/testimage.bbclass', lineno: 389, function: testimage_main
0385:
0386: # Show results (if we have them)
0387: if results:
0388: configuration = get_testimage_configuration(d, 'runtime', machine)
*** 0389: results.logDetails(get_json_result_dir(d),
0390: configuration,
0391: get_testimage_result_id(configuration),
0392: dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
0393: results.logSummary(pn)
Exception: AttributeError: 'TestResult' object has no attribute 'logDetails'
ERROR: Logfile of failure stored in: /home/builder/src/base/repo/meta-arm/build/tmp/work/qemuarm64_secureboot-poky-linux/core-image-base/1.0/temp/log.do_testimage.2771735
Joshua Watt [Thu, 30 Jan 2025 13:37:27 +0000 (06:37 -0700)]
spdx30: Include files in rootfs
Adds a "contains" relationship that relates the root file system package
to the files contained in it. If a package provides a file with a
matching hash and path, it will be linked, otherwise a new File element
will be created
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 1 Feb 2025 17:28:45 +0000 (17:28 +0000)]
avahi: Switch RRECOMMENDS to avahi-libnss-mdns
Rather than using the RPROVIDES on libnss-mdns which comes from
avahi-libnss-mdns, RRECOMMENDS avahi-libnss-mdns directly to avoid
picking any other version.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 1 Feb 2025 17:28:43 +0000 (17:28 +0000)]
nss-mdns: Rename recipe to avahi-libnss-mdns
meta-networking has Apple's mDNSResponder which also delivers libnss-mdns
nsswitch plugin. Rename this recipe to avahi-libss-mdns and add an RPROVIDE so
that either than be chosen.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The HCI firmware for the QCA6390 BT/WiFi chips doesn't logically belong
to the USB-only linux-firmware-qca-qca61x4 package. Split it to the
separate package in order to simplify firmware management. This follows
the pending WHENCE change in the linux-firmware upstream, where the
QCA6390 firmware is split to a separate section.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Artur Kowalski [Fri, 31 Jan 2025 20:15:59 +0000 (21:15 +0100)]
systemd-systemctl: fix handling of instance unit files
This fixes handling of units with instance name in theirs filenames such
as `gnome-shell@wayland.service` or `gnome-shell@x11.service`. Such
files cause template file to be ignored (for the specific instance).
Thanks to Markus Volk <f_l_k@t-online.de> for noticing the breakage when
building images with gnome-shell:
| Error: Systemctl preset_all issue in org.gnome.Shell@wayland.service
| WARNING: /home/flk/poky/build/tmp/work/intel_corei7_64-poky-linux/gnome-image/1.0/temp/run.systemd_preset_all.2011511:158 exit 1 from 'systemctl --root="/home/flk/poky/build/tmp/work/intel_corei7_64-poky-linux/gnome-image/1.0/rootfs" --global --preset-mode=enable-only preset-all'
The problem manifested after cdc3b3028f6d71788b5fdd99436f69fbf18f613e
because we enabled preset-all for user units -
org.gnome.Shell@wayland.service is a user service, so prior to that
change the file wasn't processed at all.
The error was triggered because there is no org.gnome.Shell@.service
file. With this patch applied systemctl script looks for instance unit
file and falls back to template unit in case of lack thereof, keeping
the same behavior upstream systemctl does.
Signed-off-by: Artur Kowalski <arturkow2000@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bastian Germann [Fri, 31 Jan 2025 19:25:22 +0000 (20:25 +0100)]
unfs3: Use SPDX identifier
The unfs3 license matches the SPDX template for BSD-3-Clause.
There is no reason why this should be referenced as unfs3,
which is not a registered SPDX identifier.
License-Update: use SPDX identifier
Signed-off-by: Bastian Germann <bage@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bastian Germann [Fri, 31 Jan 2025 19:25:21 +0000 (20:25 +0100)]
tcf-agent: Use SPDX identifier
The EDL-1.0 license matches the SPDX template for BSD-3-Clause.
There is no reason why this should be referenced as EDL-1.0, which is
not a registered SPDX identifier for exactly this reason.
License-Update: use SPDX identifier
Signed-off-by: Bastian Germann <bage@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in OE-Core to show this is definitely the preferred
formatting.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>