Changelog:
==========
- ecc: Check return value of l_getrandom()
- unit: test-ecdh: Add bytes to l_getrandom wrapper
- unit: Convert UUID test cases to use precheck feature
- unit: Convert PBKDF2 test cases to use precheck feature
- unit: Convert check for random support to use test precheck feature
- unit: Make the failed precheck test case a success
- test: Add flag for indication of inverted precheck results
- unit: Use the precheck handler for testing available key support
- unit: Use the precheck handler for testing available getrandom support
- unit: Use the precheck handler for testing available checksum support
- unit: Use the precheck handler for testing available cipher support
- test: Provide test data also to the precheck function
- unit: Add test cases for precheck of unit tests
- test: Add support for precheck handler for unsupported kernel features
- Add License variable to pkg-config file
(From OE-Core rev: 07b4a4dd2c9e109939cff5a8c58fdf1d01c4d24a)
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add traditional-activation PACKAGECONFIG to DBus recipe in order to allow
users to enable or disable traditional DBus service activation.
DBus service activation refers to automatically starting an application
when a DBus message is sent to a service provided by that application.
Traditionally, this is done by the DBus-daemon, thus, the term traditional
here. On systems using systemd, systemd can do this, instead.
On some systems it might be of interest to disable the traditional service
activation in order to ensure that services are always started via systemd.
Per default, traditional service activation is enabled for DBus. Thus, the
traditional-activation PACKAGECONFIG is added to the default PACKAGECONFIG.
Otherwise, we might introduce a breaking change here.
The binary dbus-daemon-launch-helper isn't created in case DBus is built
with traditional service activation disabled, so we change its attributes
only when traditional service activation is turned on.
(From OE-Core rev: 272aafbf0a2a1a158fdff42b6ce295fe861f1327)
Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The fdisk option is not enabled by default when it should be as that was
the existing behaviour.
Neither of the RDEPENDS are needed, as systemd doesn't call the tools
directly and the library dependencies will be generated automatically.
This reverts commit 4ec67113e1e7e1ecea9cde33ef4d3962dad5f2ad.
(From OE-Core rev: fac80672339bce66dc551c659932aa728478ffaf)
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>
Introduce new PACKAGECONFIG options in systemd for both libblkid and
libfdisk [1][2].
Set blkid as enabled by default because the bootctl command depends
on it to be built. For example, images like core-image-sato-sdk rely on
bootctl and have specific tests for it.
Previously this worked implicitly because the upstream Meson option
defaulted to auto, which enabled the dependency if libblkid was present.
Now, without explicitly enabling it via PACKAGECONFIG, the feature would
be disabled, which triggers testimage errors.
[1] https://github.com/systemd/systemd/blob/main/README#L219
[2] https://github.com/systemd/systemd/blob/main/README#L228
(From OE-Core rev: 4ec67113e1e7e1ecea9cde33ef4d3962dad5f2ad)
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>
Recent changes mean toolchain variables are initialized via inherit_defer.
It is therefore no longer possible to add to CC using the += operator.
Instead, add to CFLAGS.
(From OE-Core rev: 7435a6317621f90b6f842a0a0f97c31f0d6d2424)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a runtime dependency on libnss-resolve to nss-resolve PACKAGECONFIG in
systemd recipe. libnss-resolve provides nss-resolve which is a plug-in
module for the GNU Name Service Switch (NSS) functionality of the GNU C
Library (glibc) enabling it to resolve hostnames via the systemd-resolved
local network name resolution service.
See https://man7.org/linux/man-pages/man8/nss-resolve.8.html.
Runtime dependencies on other NSS plug-in modules are provided via other
PACKAGECONFIG entries in a similar way (myhostname - libnss-myhostname,
nss - libnss-resolve).
(From OE-Core rev: e3558ccc2e75bcd09d4a02799df9615cfa92fdbb)
Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building for qemuarm-secureboot in meta-arn with musl and clang,
the following compile error is seen:
- | ../sources/libucontext-1.3.2/arch/arm/swapcontext.S:23:11: error: unknown token in expression
- | ldr r4, =#0x56465001
- | ^
This is happening because 1.3 added ifdefs for assembly code for both
hard and soft float, and bcause neither is being defined, it is taking
this path with the issue.
Since we can tell if soft or hard float is being used via the TARGET_FPU
variable, use that and set the relevant makefile flag.
(From OE-Core rev: 61c54f169db74b818f587b3147c9abb611f64e0d)
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify how tests are specified and discovered for different SDK configurations
to allow per-layer customization.
* Introduce `TESTSDK_CASE_DIRS` variable to specify test directory types,
replacing the need to modify the default_cases class member
* Discover tests from configured layers using a common discovery pattern
(`<LAYER_DIR>/lib/oeqa/<dirname>/cases`) where `<dirname>` is specified in `TESTSDK_CASE_DIRS`
* The buildtools directories were renamed to follow the common discovery pattern
(`<LAYER_DIR>/lib/oeqa/<dirname>/cases`) for consistency across all SDK configurations.
meta/lib/oeqa/
├── sdk/cases/ # Standard SDK: dirname="sdk"
├── buildtools/cases/ # Buildtools: dirname="buildtools"
└── buildtools-docs/cases/ # Buildtools-docs: dirname="buildtools-docs"
meta-mingw/lib/oeqa/
└── sdkmingw/cases/ # MinGW: dirname="sdkmingw"
meta-foo/lib/oeqa/
└── sdk/cases/ # Standard SDK: dirname="sdk"
Tested by:
1. Adding new tests using the default discovery pattern `<LAYER_DIR>/lib/oeqa/sdk/cases` and
verifying they are discovered and executed.
2. Verifying existing SDK configuration tests work (requires -c populate_sdk first):
* Standard SDK: `bitbake core-image-minimal -c testsdk`
* Buildtools tarball: `bitbake buildtools-tarball -c testsdk`
* Buildtools docs tarball: `bitbake buildtools-docs-tarball -c testsdk`
* Mingw SDK: (SDKMACHINE = "x86_64-mingw32") `bitbake core-image-minimal -c testsdk`
(From OE-Core rev: bde94c128c0b4e7e1ebea40f582b4dd6dcc965ff)
Signed-off-by: Thune Tran <thune.a.tran@boeing.com>
Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Include these sphinx extensions in the buildtools tarball to make them
available when building the documentation.
(From OE-Core rev: 2221a66a9d8d13a2d6040ab55f066ca39b1a6ea4)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
we have case that don't define root in bootargs,
if [ ${bootparam_root} != "/dev/nfs" ] will output warning "/init.d/85-nfsrootfs: line 4: [: !=: unary operator expected"
let variable expension result become string to solve this problem
(From OE-Core rev: d50e12e5ae6a72535cacd0f767b1be1f89278f79)
Signed-off-by: Jimmy Ho <jimmy.ho@sifive.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of them were introduced by mass-removal of S = WORKDIR/git assignments;
rather than try to fix up (or redo) just these, I've run this sed command over
the whole tree:
sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`
The rationale is that more than one empty line is wasting vertical screen space, and
does nothing for readability.
(From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a)
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>
There is no need to have two assignments; also setting S from
UNPACKDIR (and not vice versa) is more logical as unpack
task comes first, and tasks that come after unpack use S to access
unpack results.
Also adjust reference test data in selftest/recipeutils to reflect changes in test recipes.
(From OE-Core rev: f64b7e5fb3181734c8dde87b27e872a026261a74)
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>
Removing all the S = ${WORKDIR}/git assignments works because BB_GIT_DEFAULT_DESTSUFFIX
is set to match S from bitbake.conf (which itself is set to match typical tarball
releases).
A few recipes are setting S to a sub-directory of the git tree and need
to be adjusted accordingly.
bzip2 recipe is fetching a tarball and separately cloning tests;
adjust the recipe to put the latter into 'bzip2-tests', instead of 'git'.
devupstream.bbclass no longer needs to rewrite S, and is adjusted accordingly.
Adjust scripts/lib/recipetool/append.py to not hardcode 'git' as unpack
destination.
Adjust kernel-yocto.bbclass to use the git unpack variable instead
of hardcoding 'git' (there's also removal of repetition of
string constants and a correction of workdir/unpackdir mismatch in
one of the if-else branches).
Ensure build-appliance-image recipe does not use 'git' as checkout directory for
poky repo, but rather explicitly name it 'poky'.
Ensure reproducible.py code that looks for git repositories does not
hardcode 'git' but uses the destination set by BB_GIT_DEFAULT_DESTSUFFIX.
Ensure recipetool does not write out unneeded S settings into newly
created recipes that fetch from git.
Adjust selftest to not hardcode 'git' as unpack directory.
(From OE-Core rev: f80c07019ddadaf9c5fb890faabfda7920ecd15e)
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>
Change enable-x11-forwarding PACKAGECONFIG to x11, while we can rely
directly on X11 DISTRO_FEATURE. Previously when enable-x11-forwarding was
used, the XAUTH_COMMAND failed due to missing xauth. So add xauth to
runtime recommends dependency and enable this behavior as default.
(From OE-Core rev: f0d2374b94a0e5d60ceed17998cd97f85b0486f6)
Signed-off-by: Andrej Valek <andrej.v@skyrain.eu>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Looks like one more left over from the override syntax change.
(From OE-Core rev: 2c83ae62584f73a09a6201541cac27910513e554)
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bug was introduced by upstream commit [1] where strncat was replaced with
internal my_strncat function, such as:
char dest[32] = "/sys/devices/platform/axi";
my_strncat(dest, "/", sizeof(dest) - strlen(dest) - 1);
Will result in dest string being:
/sys/
and not the expected:
/sys/devices/platform/axi/
The meaning of the "len" parameter in the my_strncat function is the size limit for
copying characters from "from", not the size limit for "to" after copying. Also,
the "#define safestrcat(to, from) my_strncat(to, from, sizeof(to) - strlen(to) - 1)"
has already imposed a limit on max based on the size of "to". Modify the function
to prevent truncation of content when too many bytes are passed to the my_strcat function.
[1] 0719881cad
(From OE-Core rev: a5d2a5ce94b82957e2a9336c18dce9b28073cd71)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The systemd unit file for this recipe is only installed in case
the target system's init system is systemd. It is achieved by
inspecting the VIRTUAL-RUNTIME_init_manager variable.
However the systemd class was inherited unconditionally. This caused
a failure in do_package task, in case systemd is present in the
DISTRO_FEATURES but the system's init manager is sysvinit: in this case
the systemd unit file is not installed, however systemd.bbclass is
still trying to register is as a startup service. At this point
it failed:
ERROR: seatd-0.9.1-r0 do_package: Didn't find service unit 'seatd.service', specified in SYSTEMD_SERVICE:seatd.
To avoid this, install the systemd unit file unconditionally, regardless
of the used init system.
(From OE-Core rev: c7f157ad1207567ef3614ee4f6e755bccf60a3f4)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This reverts commit 149584beef.
The coreutils-getlimits package is no longer needed since findutils-ptest
now uses its own getlimits implementation. This improves modularity and
makes it easier to use alternative coreutils implementations via PREFERRED_PROVIDER
(e.g. uutils-coreutils recipe in meta-openembedded).
(From OE-Core rev: 2d761482c353df8f0d7f4e56b004113bf351e1df)
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default license for util-linux is GPL-2.0-or-later.
Most of the applications and the libraries are also linked with
libcommon.la, which uses these licenses:
LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT
Set the above licenses for all dynamic packages, unless explicitly
specified.
In particular, this avoids setting BSD-4-Clause-UC and EUPL-1.2 on
packages where they do not belong.
License-Update: See above
(From OE-Core rev: 4c3d56ab2caeedb79e493544e864fd8c2f5880cf)
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>
util-linux does not share the license information with
util-linux-libuuid so it makes no sense to have it in the util-linux.inc
file.
This also drops libuuid/COPYING from LIC_FILES_CHKSUM as libuuid is not
built by this recipe.
License-Update: See above
(From OE-Core rev: 8752842551ea4f8ae8d76befdf453a872908f173)
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>
The license information is not the same as for util-linux, so set it in
the recipe rather than expecting util-linux.inc to set it.
License-Update: See above
(From OE-Core rev: 1942b97cdf04d260ed7e873ac24f935b9003e752)
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>
The kill/decode test case fails for musl. The root cause is the test
case only considers glibc and uses 34 as SIGRTMIN while musl uses 35.
Add patches to fix this issue.
(From OE-Core rev: 0a1dd5f04a843dfa0b1fc3ce0069e26bd0fbc48e)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
musl-locale installs a profile fragment in /etc/profile.d/
which sets MUSL_LOCPATH in environment. This is required for locale
to work correctly. e.g.
root@qemux86-64:~# date
Wed Jun 4 03:06:25 UTC 2025
root@qemux86-64:~# LC_ALL=fr_FR.UTF-8 date
Mer Jun 4 03:06:29 UTC 2025
Works out of box now.
(From OE-Core rev: e11cbc89d56da76585de97d62ef48ca860a05caf)
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>
Brings following changes
* ae3a8c93 fix strcasestr failing to find zero-length needle
* 23febbd3 align mbsnrtowcs behavior on partial character with new requirements
* 6915b348 dns resolver: reorder sockaddr union to make initialization safe
* a34ca6ea termios: fix input speed handling
* b6b81f69 clone: clear the frame pointer in the child process on relevant ports
* 5e03c03f clone: align the given stack pointer on or1k and riscv
* 06c5e4e8 signal: check sigpause() input parameter
* b0dc340b loongarch64: add bits/hwcap.h for cpu feature bits in AT_HWCAP auxv entry
* cabbd869 bind_textdomain_codeset: fix return value
* 00fb7107 shadow.h: remove declaration of function not implemented
* 362fc545 riscv: mark __restore and __restore_rt hidden
* f1cda422 i386, x86_64, x32: set the symbol type for the crt1 START function
(From OE-Core rev: f73f00e01d7a2713605cd9e828b4a0cb29de4448)
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>
The util-linux test suite since 2.41 needs at least 300MB of free space
for logs, and the standard image only has 250MB when it's booted.
(From OE-Core rev: 38d87f71a2147d12269ce5cf12e54aed488ff509)
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>
License-Update: add EUPL-1.2.
See 74f3265b9a
0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch is
a backported patch to fix kill/decode test case.
0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch is
used to fix testcase failure of lsfd/mkfds-foreign-sockets.
The su tests (su/environ for now) are removed when 'pam' is not in
PACKAGECONFIG. This is because su is not enabled in such case.
lsfd/option-inet is removed out of the excluded list because upstream
has fixed the issue:
eaa3870880
(From OE-Core rev: ed76e5fbec0f1926c14aedbb03ca1421c3920355)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following patches are dropped as they are merged in new release:
- 0001-cksum-port-to-32-bit-uint_fast32_t.patch
- 0001-ls-fix-crash-with-context.patch
- intermittent-testfailure.patch
(From OE-Core rev: 5760d1fb2553e598e5d6405d8fe748edfaa64b94)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable readline inputrc bindings for HOME, END, INSERT, and DELETE keys
to support common key sequences on terminal interfaces. These key
sequences are commonly emitted by terminal emulators and physical
keyboards.
This enables expected shell behavior on embedded systems, especially
when interacting over serial consoles or minimal terminal setups.
(From OE-Core rev: 93ea8d1c38ab93912306dd5f7d57745c833161b0)
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>