Richard Purdie [Sat, 5 Feb 2022 17:50:25 +0000 (17:50 +0000)]
glibc: Upgrade to 2.35
Package /usr/bin/ld.so in a separate package
ld.so is a new tool which is added as a symlink to original dynamic
linker so make it available with same name across architectures which is
useful to leveral features like --preload, --audit, and --list-diagnostics
more accessible to end users
insane.bbclass: use multiprocessing for collecting 'objdump -p' output
This was prompted by ltp's unreasonably long package_qa times; it has
a massive amount of executables and insane runs objdump for all of
them, serially.
This reduces the time from 4 minutes to 1m20s on my machine.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Mon, 7 Feb 2022 01:08:19 +0000 (01:08 +0000)]
gstreamer1.0-libav: upgrade 1.18.5 -> 1.20.0
- License update:
The code actually is LGPLv2.1 but the COPYING file is wrong.
https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/678773bb6468e815c180ff82a09d863451e89ba8
- Drop backported patches
0001-gst-libav-fix-build-with-ffmpeg-5.0.0.patch
- Add new meson options
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- License update:
The code actually is LGPLv2.1 but the COPYING file is wrong.
https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/commit/cc5cdab0165e3bdf5f4f748b3ba2a3493d304e70
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Add new meson options
gpl: Allow build plugins that have GPL-licensed dependencies
a52dec: Dolby Digital (AC-3) audio decoder plugin based on liba52 (GPL - only built if gpl option is also enabled!)
cdio: CD audio source plugin based on libcdio (GPL - only built if gpl option is also enabled!)
dvdread: DVD video source plugin based on libdvdread (GPL - only built if gpl option is also enabled!)
mpeg2dec: MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)
x264: H.264 video encoder plugin based on libx264 (GPL - only built if gpl option is also enabled!)
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Add new meson options
gpl: Allow build plugins that have GPL-licensed dependencies
faad: Free AAC audio decoder plugin (GPL - only built if gpl option is also enabled!)
resindvd: Resin DVD playback plugin (GPL - only built if gpl option is also enabled!)
x265: HEVC/H.265 video encoder plugin (GPL - only built if gpl option is also enabled!)
- Add new meson options
Feature options for plugins without external deps
codecalpha
aes: AES encryption/decryption plugin
Feature options for plugins that need external deps
asio: Steinberg Audio Streaming Input Output (ASIO) plugin
gs: Google Cloud Storage source and sink plugin
ldac: LDAC bluetooth audio codec plugin
openaptx: Open Source implementation of Audio Processing Technology codec (aptX) plugin
qroverlay: new elements that allow overlaying data on top of video in the form of a QR code
onnx: ONNX neural network plugin
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- License update:
The code actually is LGPLv2.1 but the COPYING file is wrong.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/e5382fe84ccaa17cad3569f2fd061ac0b499329c
- Drop unneed patches
0004-glimagesink-Downrank-to-marginal.patch
- Add new meson options
qt5 is needed to build some tests
tests/examples/gl/qt/meson.build
tests/examples/overlay/meson.build
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Mon, 7 Feb 2022 01:08:13 +0000 (01:08 +0000)]
gstreamer1.0: upgrade 1.18.5 -> 1.20.0
- License update:
The code actually is LGPLv2.1 but the COPYING file is wrong.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/d157b23fb0ce175b167611a4cb019599d9017042
- Drop backported patches
0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
0002-Remove-unused-valgrind-detection.patch
0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
Jose Quaresma [Mon, 7 Feb 2022 01:08:11 +0000 (01:08 +0000)]
shaderc: upgrade 2021.3 -> 2021.4
- Support Vulkan 1.3
- Support targeting SPIR-V 1.6, which is the default for Vulkan 1.3
- Updated copyright check: Excludes Glslang generated files when
building in source tree
- Fix Android.mk rules for building libshaderc_combined, to adapt to more
recent NDKs that have removed the GNU binutils.
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Mon, 7 Feb 2022 01:08:09 +0000 (01:08 +0000)]
spirv-tools: upgrade 2021.4 -> 2022.1
- General
- Add SPIR-V 1.6 support to wasm build (#4674)
- Improvements to disassembly within PassManager (#4677)
- Basic support for SPIR-V 1.6 (#4663)
- reflect debug (#4662)
- Fix endianness of string literals (#4622)
- Optimizer
- spirv-opt: add pass to Spread Volatile semantics (#4667)
- Fix constant propagation and folding of FClamp instructions (#4651)
- Manually fold floating point division by zero (#4637)
- Allow ADCE to remove dead inputs (#4629)
- Linker
- Linker improvements (#4679)
* test/linker: Code factorisation and small tweaks
* linker: Do not fail when going over limits
- Validator
- val: interface struct with builtins must be Block (#4665)
- Fuzzer
- Avoid id bound errors during opt fuzzing (#4658)
- Avoid uninitialised read when parsing hex float (#4646)
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>