Kai Kang [Mon, 7 Feb 2022 07:38:34 +0000 (15:38 +0800)]
toolchain-scripts.bbclass: use double quotes for exported PS1
Use double quotes("") rather than single quotes('') for PS1 in
EXPORT_SDK_PS1 which will be exported in SDK environment file. Then it
could set PS1 for SDK env with some variables in host env, such as the
original PS1. The SDK PS1 could be some distinct words plus original PS1
rather than replace the whole original PS1. For example, it could set in
local.conf with
SDK_PS1 = "(oesdk) \${PS1}"
then it just prepends '(oesdk) ' before original PS1 after source the
SDK environment file.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: preload uninative libraries when host gl drivers are in use
Some of the host distributions build the drivers in a way (RPATH/RUNPATH)
that tricks uninative loader into loading pieces of the host libc, if
the same pieces haven't been previously loaded by native binaries. Mixing
the two libc versions leads to failures.
This change ensures that the correct (uninative) versions are always in use.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu: replace a gtk wrapper with directly setting environment from runqemu
The wrapper is executed by host bash, and host bash refuses to run
when pseudo libc is preloaded via LD_PRELOAD (which is the case
when gl is enabled).
Only the fontconfig setting is carried over as local testing showed that
only that is necessary for the gui to look ok nowadays; adjust further
if necessary.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 6 Feb 2022 20:52:43 +0000 (20:52 +0000)]
vim: Upgrade 4269 -> 4134
License text underwent changes on how to submit Uganda donations, switch from http
to https urls and an update date change but the license itself is unchanged.
Also, add an entry for the top level license file. This is also the vim license
so LICENSE is unchanged but we should monitor it too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pavel Zhukov [Sat, 5 Feb 2022 20:33:22 +0000 (21:33 +0100)]
systemd: enable KeepConfiguration= when running on network filesystem
This fix boot from NFS for systemd enabled systems. Previously
systemd-networkd dropped network configuration on exit from initrd even
if there're NFS mount.
[YOCTO #14708]
Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Tue, 1 Feb 2022 23:31:11 +0000 (17:31 -0600)]
spdx: Add set helper for list properties
This adds the set helper for list properties to allow list members to be
replaced with a new list. This is necessary as it is (currently) the
only way to replace the default value for a list member.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 4 Feb 2022 12:46:17 +0000 (12:46 +0000)]
common-licences: remove ambiguous "BSD" license
Our "BSD" license is the 3-clause BSD license, but many recipes were
using "BSD" for any variation of the license.
We've mostly moved recipes away from the vague "BSD" license to concrete
names such as "BSD-3-Clause", so delete the BSD license to force the
remaining users to update their license statements.
[ YOCTO #14539 ]
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Thu, 27 Jan 2022 22:48:52 +0000 (16:48 -0600)]
classes/create-spdx: Add packageSupplier field
Per NIST SBoM recommendations, include the Package Supplier field for
all SPDX packages that are created. This field should generally be set
to the person or organization that is performing the build, since they
would be considered the "supplier" of the SPDX packages.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd: Minimize udev package size if DISTRO_FEATURES doen't contain sysvinit
Link udev shared with systemd helper to minimize the udev package size
if DISTRO_FEATURES doesn't configure sysvinit to be used.
It is only usefull to link udev static with systemd helper if udev
should be installed without systemd such as a mixed sysvinit and systemd environment
[RP: Fixed to use sysvinit distro feature instead of systemd] Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pavel Zhukov [Wed, 2 Feb 2022 13:57:29 +0000 (14:57 +0100)]
systemd: allow to create directory whose path contains symlink
Systemd version 250 has a regression which blocks mountd service from
creating subdirectories if path contains symlink. This blocks bind
mounts under /var/run, /lib for example.
Ross Burton [Wed, 2 Feb 2022 13:00:11 +0000 (13:00 +0000)]
yocto-check-layer: check for duplicate layers when finding layers
detect_layers() is very greedy and if it recurses into poky or bitbake
it will find the test suite layers, such as
bitbake/lib/layerindexlib/tests/testdata/layer4. This is a dummy layer
which claims to be openembedded-layer, so if the real openembedded-layer
is a dependency then layer4 may be used instead, which will cause
errors: initially because it's only compatible with Sumo, but later
because it doesn't contain any recipes.
Add a check that the set of layers we've found doesn't contain any
duplicate collection names with different patterns, and abort if that is
the case as the test will be non-deterministic.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel Müller [Wed, 2 Feb 2022 17:18:05 +0000 (17:18 +0000)]
scripts/runqemu-ifdown: Don't treat the last iptables command as special
The runqemu-ifup script performs a bunch of setup steps that
runqemu-ifdown attempts to undo later on. While a bunch of said setup
operations are considered fatal should they fail, the iptables based NAT
setup notably is not.
The tear down procedure in runqemu-ifdown, however, has the iptables
based tear down as the last operation, with the status of it determining
the overall status of the script. Hence, if this step fails, the script
is considered a failure overall. That is arguably inconsistent: If the
NAT setup did not succeed, the tear down cannot succeed either.
To ensure similarity of the two paths, let's not treat the last iptables
tear down operation any special and allow it to fail the runqemu-ifdown
script, but just ignore failures.
Background: we have seen a NAT related setup problem on the ifup path
(which didn't cause script failure), but then saw an issue bubbled up
when this operation was meant to be undone on the ifdown path.
Signed-off-by: Daniel Müller <muellerd@fb.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Saul Wold [Thu, 3 Feb 2022 19:43:48 +0000 (11:43 -0800)]
recipetool: Fix circular reference in SRC_URI
When creating a new recipe.bb file for a binary, don't use BP which
includes the version information, instead use BPN which is just the
name base Package Name.
Since PB is not specified, it takes the default:
PV = "1.0+git${SRCPV}"
But SRCPV is defined in terms of the SRC_URI, which leads to infinite
recursion (traceback below). Here are the pertinent variables which
cause the recursion:
Release announcement with changes:
https://lists.freedesktop.org/archives/wayland-devel/2022-February/042103.html
Upstream has deprecated both weston-launch and fbdev backend, so let's
not delay the inevitable and find replacements.
Fbdev can be replaced by passing --use-pixman to drm backend;
this will bypass the opengl paths and use CPU for rendering.
Apply where GL is too slow or unavailable.
weston-launch can be replaced by starting weston directly, with
a seat management daemon for support. This is provided either
by systemd, or on systemd-less systems, by seatd. The sysvinit
startup scripts and tests have been rewritten accordingly. Bonus
fix: under sysvinit weston now starts under weston user as it should,
and not under root.
package: Split out package_debug_vars from split_and_strip_files
The split_and_strip_files() function is big and hard to follow. This
takes a small step to improve that by splitting out the part that sets
up the variables used to implement the various debug splitting methods
specified by PACKAGE_DEBUG_SPLIT_STYLE.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 4 Feb 2022 17:52:00 +0000 (17:52 +0000)]
oqea/runtime/oe_syslog: Improve test
We're seeing failures on the autobuilder where the log message isn't present in the
log. This could just be a race in the compound command but it is hard to say due
to the poor log output from the test.
Splitting the command into two sections should add more of a delay whilst ssh
reconnects and may well fix the issues but this change should also improve
the log output in the failure case too so if the failure isn't solved, we should
be better able to debug it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 3 Feb 2022 16:48:56 +0000 (16:48 +0000)]
prelink: Drop support for it
Prelink is being dropped by glibc in 2.36. It already causes issues with
binary corruption, has a number of open bugs and is of questionable benefit
without disabling load address randomization and PIE executables.
We disabled it by default a while back but left people able to use it.
We would be unable to maintain it alone without glibc support so remove
the remaining pieces.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 1 Feb 2022 22:39:38 +0000 (22:39 +0000)]
abi_version/sstate: Bump for hash equivalence fix
With the hash equivalence fix, we need to bump the sstate and hash equivalence
version numbers to ensure older task hashes aren't matched into the new namespace.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 31 Jan 2022 15:44:56 +0000 (15:44 +0000)]
staging: Add extra hash handling code
Target build output, stored in do_populate_sysroot or do_package can depend
not only upon direct dependencies but also indirect ones. A good example is
linux-libc-headers. The toolchain depends on this but most target recipes do
not. There are some headers which are not used by the toolchain build and do
not change the toolchain task output, hence the task hashes can change without
changing the sysroot output of that recipe yet they can influence others.
A specific example is rtc.h which can change rtcwake.c in util-linux but is not
used in the glibc or gcc build. To account for this, we need to account for the
populate_sysroot hashes in the task output hashes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 3 Dec 2021 23:34:57 +0000 (23:34 +0000)]
gcc: Drop stdlib++ option patch
The patch to gcc to disable use of libstdc++ when configuring the library
during gcc-runtime is old and there are perhaps better ways to do this now.
If removed, most builds still "work" but incorrect values for things like
atomic ops are found during configure. mips64 and ppc fail with on target
simple tests of g++ in testimage.
Instead we can create a dummy libstdc++ which allows the correct configure
test results to be obtained.
Discussed with upstream about the patch are ongoing, if accepted, we can
switch back to the commandline option if it is added in future.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 26 Jan 2022 01:13:14 +0000 (17:13 -0800)]
libstd-rs: Apply patches to right version of libc
1.58 rust libstd is locked to use 0.2.106, therefore patch the correct
version. once we start using 0.2.108+ these patches will not be required
as the port is available then on.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 27 Jan 2022 19:40:08 +0000 (11:40 -0800)]
musl: Update to latest master
Changes in this srcrev bump
* c4d4028d fix failure to use add-cfi scripts on asm when building out-of-tree
* 775bde6b fix wcwidth of hangul combining (vowel/final) letters
* 8d404733 fix mismatched signatures for strtod_l family
* 98e688a9 define NULL as nullptr when used in C++11 or later
* 8274aaaa fix hwcap access in powerpc-sf setjmp/longjmp
* 3733c831 fix struct layout mismatch in sound ioctl time32 fallback conversion
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 1 Feb 2022 22:02:46 +0000 (14:02 -0800)]
ruby: Fix build on riscv/musl
This fixes a build issue that started with 3.1 upgrade
Fixes
| ../ruby-3.1.0/vm_dump.c:916:38: error: use of undeclared identifier 'REG_S1'
| dump_machine_register(mctx->__gregs[REG_S1], "s1");
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Hochstein [Wed, 19 Jan 2022 23:48:52 +0000 (17:48 -0600)]
xwayland: Add xkbcomp runtime dependency
Trying to run an xterm fails with the error:
xterm: Xt error: Can't open display: :0
Checking systemctl status weston shows an error:
Jan 19 21:24:16 imx8mq-evk weston[396]: sh: line 1: /usr/bin/xkbcomp: No such file or directory
Adding xkbcomp to the rootfs fixes these errors. Checking the history
one finds that the runtime dependency for the old xserver was
removed because it wasn't in the correct location [1], then restored
because it was still needed [2].
Ross Burton [Mon, 31 Jan 2022 17:40:13 +0000 (17:40 +0000)]
strace: skip a number of load-sensitive tests
Some tests are very load-sensitive as they depend on sleep() calls to
take a precise amount of time. These will randomly fail in the automated
QA, so skip them.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 31 Jan 2022 17:40:12 +0000 (17:40 +0000)]
strace: remove obsolete musl-on-MIPS patch
This patch was added as musl doesn't define SIGEMT on MIPS, but this was
a mistake in musl and has been fixed in cabc369, available in musl
1.2.1 onwards (August 2020).
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrej Valek [Fri, 28 Jan 2022 09:34:46 +0000 (10:34 +0100)]
oeqa: qemu: create missing directory for _write_dump
| Failed to dump QMP CMD: query-status with
| Exception: [Errno 2] No such file or directory: '.../tmp/log/runtime-hostdump/qmp_00_query-status'
| Failed to dump QMP CMD: query-block with
| Exception: [Errno 2] No such file or directory: '.../tmp/log/runtime-hostdump/qmp_00_query-block'
| Failed to dump QMP CMD: dump-guest-memory with
| Exception: [Errno 2] No such file or directory: '.../tmp/log/runtime-hostdump/qmp_00_dump-guest-memory'
The qmp dump commands could fail, because of missing root directory.
So create it before any log writing.
Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Apart from minor fixes and clarifications, this release also adds a new staging
protocol for session locking, as well as a 'bounds' event to the xdg_toplevel
interface. See the individual commits and protocol specifications for
details.
Signed-off-by: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 31 Jan 2022 13:54:08 +0000 (13:54 +0000)]
oeqa/runtime/stap: improve systemtap test
Split the test up into compile and execute phases, as the stap binary
is known to be quite memory-hungry and this can result in the probe
being unable to allocate enough memory for the buffers it needs.
If the test fails, dump the dmesg as any useful messages will be there.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 31 Jan 2022 13:54:06 +0000 (13:54 +0000)]
core-image-sato-sdk: allocate more memory when in qemu
Compiling code is memory-intensive, especially kernel modules like the
SystemTap probes, so give the VM 768MB of RAM. Using 1GB appears to
cause PCI error, interestingly.
Hopefully this solves the intermittent failures caused by OOMs during
the SystemTap test.
[ YOCTO #14673 ]
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 27 Jan 2022 11:44:45 +0000 (11:44 +0000)]
openssl: export OPENSSL_MODULES in the wrapper
OpenSSL 3 added the concept of provider modules which are loaded from
disk. The load path is hard-coded into the library and needs to be
relocated when running natively, so add OPENSSL_MODULES to the wrapper.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gobject-introspection: replace prelink-rtld with objdump -p
g-i internally processes the output with regexes, and seems
happy with what objdump is printing. It only needs to resolve
the library name as passed to the linker to the library file name.
Also recursive resolution (that ldd is doing and objdump is not)
is not necessary.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ltp compliancy parser is rewritten to actually
match the logs: they seem to be unstructured, test case names
are not printed and the only indication of failure is appearance of
FAIL[ED] somewhere.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>