Ross Burton [Fri, 15 Mar 2024 14:37:38 +0000 (14:37 +0000)]
gstreamer1.0: improve test reliability
First, libcheck has the ability to increase all test timeouts by an arbitrary
multiplier. Because we run our tests on loaded build machines,
increase all timeouts by 10x to reduce the chance of load causing failures.
Second, use GST_CHECKS_IGNORE to list test cases that should be skipped.
Drop skip-aggregator-test.patch as this is now redundant, and also skip
gstnetclientclock.c:test_functioning as this is very sensitive to load.
[ YOCTO #14808 ]
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 15 Mar 2024 12:59:57 +0000 (12:59 +0000)]
uninative: Add pthread linking workaround
With newer glibc versions, pthread was merged into the main library so there is
no longer any need to link with -lpthread. On newer systems this means that linker
flag is dropped from places like pkgconfig .pc files. If uninative then uses this
newer library on an older system, the flag is missing and linker errors about missing
symbols occur.
Adding the linkage unconditionally to our uninative linking flags avoids that problem
at a potential cost of slight over linking.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Soumya Sambu [Fri, 15 Mar 2024 11:24:22 +0000 (11:24 +0000)]
go: Upgrade 1.22.0 -> 1.22.1
Upgrade to latest 1.22.x release [1]:
$git log --oneline go1.22.0..go1.22.1 db6097f8cb (tag: go1.22.1, origin/release-branch.go1.22) [release-branch.go1.22] go1.22.1 041a47712e [release-branch.go1.22] net/textproto, mime/multipart: avoid unbounded read in MIME header 3a855208e3 [release-branch.go1.22] net/http, net/http/cookiejar: avoid subdomain matches on IPv6 zones 337b8e9cbf [release-branch.go1.22] crypto/x509: make sure pub key is non-nil before interface conversion 16830ab48a [release-branch.go1.22] net/http: add missing call to decConnsPerHost 056b0edcb8 [release-branch.go1.22] html/template: escape additional tokens in MarshalJSON errors f73eba76a0 [release-branch.go1.22] net: work around runtime scheduler starvation on js and wasip1 5330cd225b [release-branch.go1.22] net/mail: properly handle special characters in phrase and obs-phrase d8c4239f08 [release-branch.go1.22] cmd/go/internal/modcmd: correctly filter out main modules in verify c33adf44ff [release-branch.go1.22] cmd/trace/v2,internal/trace: use correct frame for identifying goroutines 3b71998078 [release-branch.go1.22] go/types, types2: ensure that Alias.actual is set in NewAlias 8fe2ad6494 [release-branch.go1.22] runtime/internal/atomic: correct GOARM=7 guard at a DMB instruction 686662f3a4 [release-branch.go1.22] cmd/compile: make jump table symbol static 6cbe522fe1 [release-branch.go1.22] cmd/compile: fail noder.LookupFunc gracefully if function generic fb86598cd3 [release-branch.go1.22] cmd/compile: accept -lang=go1 as -lang=go1.0 6fbd01a711 [release-branch.go1.22] runtime: don't call traceReadCPU on the system stack d6a271939f [release-branch.go1.22] cmd/cgo/internal/testsanitizers: disable location checking for clang 20107e05a6 [release-branch.go1.22] internal/testenv: support the LUCI mobile builders in tests 53d1b73dff [release-branch.go1.22] internal/testenv: allow "-noopt" anywhere in builder name in test dd31ad7e9f [release-branch.go1.22] spec: fix typo in year (it's 2024 now)
Harish Sadineni [Tue, 12 Mar 2024 16:33:25 +0000 (09:33 -0700)]
gcc: Oe-selftest failure analysis - fix for tcl errors
gcc testsuite unable to read the value of variable $do-what-limit and causing below tcl errors.
ERROR: can't read "do": no such variable
while executing
"set do_what $do-what-limit"
To fix this, quote the variable using braces, as in ${do-what-limit}.
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Wed, 13 Mar 2024 17:28:41 +0000 (17:28 +0000)]
kernel: Fix check_oldest_kernel
The check_oldest_kernel() function requires utsrelease.h to be
generated. This file is generated during do_compile, so we need to delay
calling check_oldest_kernel() until after this.
With this change in place, I now see the expected warning when building
Linux 5.10.y.
Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the outcome of investigating the selftest-armhost fail:
https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/3028/steps/15/logs/stdio
When man-pages recipe builds on ubuntu 18.04, /usr/bin/env on that is too
old to support -S option, and the outcome is that man-pages quietly
installs nothing, and no packages get created, and the test
that expects the package to exist fails.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Xiangyu Chen [Fri, 8 Mar 2024 04:32:21 +0000 (20:32 -0800)]
lttng-tools: skip kernel tests if no kernel modules present
The current tests will run both userspace and kernel testing. Some of use cases
only use lttng for one kind of tracing (e.g. userspace). If the lttng
modules(.ko files) is not present during the test,it would end up with lots of
failing.
Add a check in ptest script, if current system doesn't contain lttng kernel
modules, passing LTTNG_TOOLS_DISABLE_KERNEL_TESTS=1 to make to skip all lttng
kernel related testing.
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cargo-c-native: convert from git fetcher to crate fetcher
Fetching from git requires manually maintaining Cargo.lock
which is tedious and unclear how to do correctly,
especially with version updates. On the other hand, crates
do include Cargo.lock, and this way the revisions would match
upstream's and crate users (which requires regenerating
crates.inc to match the lock file).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Moving intel 9260 firmware because it's common wifi chip and otherwise
to include this firmware whe have to include iwlwifi-misc which included
a lot of firmwares.
Signed-off-by: Yannick Rodriguez <y.rodriguez@i2s.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 6 Mar 2024 17:17:13 +0000 (09:17 -0800)]
glibc: Update to tip of 2.39 branch
Brings
* 1b9c1a0047 Use gcc __builtin_stdc_* builtins in stdbit.h if possible
* e0910f1d32 S390: Do not clobber r7 in clone [BZ #31402]
* d0724994de math: Update mips64 ulps
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Max Krummenacher [Mon, 11 Mar 2024 14:37:11 +0000 (07:37 -0700)]
git: git-replacement-native: depend on ca-certificate
git is delegating webacces for URLs using TLS to libcurl.
However our native libcurl build does not find a ca-certificate.crt
unless its curl-native work dir still exists and thus git will
fail.
If a recipe uses AUTOREV with a git repo using https as its protocol
parsing of that recipe will fail fetching the latest HEAD.
Fix that by depending on ca-certificate and give its location
to libcurl via git's envrironment variable GIT_SSL_CAINFO.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 7 Mar 2024 12:05:29 +0000 (04:05 -0800)]
linux-firmware: add support for deduplicating the firmware
This can a non-trivial amount of disk space, but requires rdfind from
meta-oe. As duplicate pieces of firmware become links, this reduces the
size of individual packages and adds dependencies:
linux-firmware-adsp-sst: PKGSIZE changed from 6362678 to 5609999 (-12%)
linux-firmware-amdgpu: PKGSIZE changed from 80234502 to 60819841 (-24%)
linux-firmware-cirrus: PKGSIZE changed from 1290908 to 1068886 (-17%)
linux-firmware-ibt-17: PKGSIZE changed from 2601222 to 1300679 (-50%)
linux-firmware-ibt-17: RDEPENDS: added "linux-firmware-ibt-misc"
linux-firmware-ibt-20: PKGSIZE changed from 2399511 to 1599721 (-33%)
linux-firmware-ibt-20: RDEPENDS: added "linux-firmware-ibt-misc"
linux-firmware-ibt-misc: PKGSIZE changed from 22400466 to 13390020 (-40%)
linux-firmware-ibt-misc: RDEPENDS: added "linux-firmware-ibt-17"
linux-firmware-qcom-qrb4210-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-qrb4210-modem: PKGSIZE changed from 8882947 to 63 (-100%)
linux-firmware-qcom-qrb4210-modem: RDEPENDS: added "linux-firmware-qcom-qcm2290-modem"
linux-firmware-qcom-sdm845-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-sdm845-compute: RDEPENDS: added "linux-firmware-qcom-qrb4210-compute"
linux-firmware-qcom-sdm845-modem: RDEPENDS: added "linux-firmware-qcom-qcm2290-modem"
linux-firmware-qcom-sm8250-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-sm8250-compute: RDEPENDS: added "linux-firmware-qcom-qrb4210-compute"
linux-firmware-qcom-sm8250-thundercomm-rb5-sensors: RDEPENDS: added "linux-firmware-qcom-sdm845-thundercomm-db845c-sensors"
linux-firmware-radeon: PKGSIZE changed from 7105560 to 3343141 (-53%)
linux-firmware-radeon: RDEPENDS: added "linux-firmware-amdgpu"
linux-firmware-rtl8822: RDEPENDS: added "linux-firmware-rtl8761"
linux-firmware-sd8688: RDEPENDS: added "linux-firmware"
linux-firmware: RDEPENDS: added "linux-firmware-rtl8761"
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yoann Congal [Fri, 15 Mar 2024 00:20:20 +0000 (01:20 +0100)]
cve-update-nvd2-native: Remove rejected CVE from database
When a CVE is updated to be rejected, matching database entries must be
removed. Otherwise:
* an incremental update is not equivalent the to an initial download.
* rejected CVEs might still appear as Unpatched in cve-check.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a CVE is created, it often has no precise version information and
this is stored as "-" (matching any version). After an update, version
information is added. The previous "-" must be removed, otherwise, the
CVE is still "Unpatched" for cve-check.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yoann Congal [Wed, 13 Mar 2024 15:13:27 +0000 (16:13 +0100)]
cve-update-nvd2-native: Add an age threshold for incremental update
Add a new variable "CVE_DB_INCR_UPDATE_AGE_THRES", which can be used to
specify the maximum age of the database for doing an incremental update
For older databases, a full re-download is done.
With a value of "0", this forces a full-redownload.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
William Lyu [Wed, 6 Mar 2024 19:56:58 +0000 (11:56 -0800)]
openssh: Add a workaround for ICE on powerpc64le
Fixes [YOCTO #15415]
The new openssh version has an ICE on powerpc64le similar to the one on
mips/mips64[1]. By adding flag "--without-hardening" to "./configure",
compiler option "-fzero-call-used-regs" will be removed when compiling. This
prevents certain functions from triggering the following ICE:
unimplemented: argument 'used' is not supported for '-fzero-call-used-regs' on this target
kernel-fitImage: only include valid compatible line
Without this commit the configuration node includes the compatible
line 'compatible = [00];' if EXTERNAL_KERNEL_DEVICETREE is not
defined, i.e. if PREFERRED_PROVIDER_virtual/dtb is not used.
This prevents u-boot from using this configuration and it prints the
message "Could not find configuration node".
An additional check also ensures that the written compatible line
never contains an empty compatible.
The functionality to add the compatible line was added in commit f4c82fb6da89 ("kernel-fitImage: add machine compatible to config
section").
Signed-off-by: Christian Taedcke <christian.taedcke@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Thu, 7 Mar 2024 10:06:59 +0000 (02:06 -0800)]
go.bbclass: set GOPROXY
The GOPROXY is already correctly defined on the native sys root
and this can be checked using the bitbake devshell:
| $ go env GOPROXY
| https://proxy.golang.org,direct
The go_do_compile task calls the compiler directly so the
GOPROXY env is not seen because it's not defined in the shell.
Defining it explicitly solves this problem and was to avoid
setting it in the recipes itself.
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 7 Mar 2024 19:10:36 +0000 (11:10 -0800)]
systemd: Check for directory before chmod'ing it
da9db878a15 systemd: fix dead link /var/log/README
add -Dcreate-log-dirs=false which means journal dir
will not be generated regardless of VOLATILE_LOG_DIR value
if a distro decided to set VOLATILE_LOG_DIR=no this
code path will be executes and the directory being operated
upon wont exist ending in do_install errors
chown: cannot access '/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/systemd/255.4/image/var/log/journal': No such file or directory
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Hochstein [Thu, 7 Mar 2024 18:53:52 +0000 (10:53 -0800)]
bmaptool: Add bmap-tools runtime alias for compatibility
The rename of bmap-tools to bmaptool creates an incompatibility that
will break package feeds. Restore package feed compatibility by adding
a bmap-tools runtime alias.
Acked-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Thu, 7 Mar 2024 06:49:08 +0000 (22:49 -0800)]
go: filter out build specific path from the linker flags
patch 0007-exec.go-do-not-write-linker-flags-into-buildids.patch
removes linker flags from buildids for not breaking reproducibility,
but it seems that this will make go not rebuild when linker flag
changes, Refer [1]. So remove this oe-specific patch, and change to
filter out build specific path from the linker flags
[1] https://github.com/golang/go/issues/63760
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Thu, 7 Mar 2024 02:27:35 +0000 (18:27 -0800)]
systemd: remove systemd-bus-proxy settings
systemd-bus-proxy was removed since v230.
>From the NEWS file:
"""
* systemd-bus-proxyd has been removed, as kdbus is unlikely to still be
merged into the kernel in its current form.
"""
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Thu, 7 Mar 2024 06:56:38 +0000 (22:56 -0800)]
systemd: fix dead link /var/log/README
There are 2 issues here:
First, in package systemd, there is a file /usr/lib/tmpfile.d/legacy.conf,
which will create a symlink to /usr/share/doc/systemd/README.logs during
boot time. But for oe, /usr/share/doc/systemd/README.logs is packaged in
systemd-doc, which will make /var/log/README is dead link.
Second, the symlink /var/log/README in legacy.conf use relative path:
"L /var/log/README - - - - ../../usr/share/doc/systemd/README.logs"
But for oe, when VOLATILE_LOG_DIR is true, /var/log is a link to
/var/volatile/log, so /var/log/README need link to
../../../usr/share/doc/systemd/README.logs, while VOLATILE_LOG_DIR is
false, /var/log is a dir, so /var/log/README need link to
../../usr/share/doc/systemd/README.logs. So current symlink in
legacy.conf will also make it a dead link when VOLATILE_LOG_DIR is true.
Turn off CREATE_LOG_DIRS to avoid these issues.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Thu, 7 Mar 2024 06:50:34 +0000 (22:50 -0800)]
rxvt-unicode: Fix installing of terminfo
For cross compile, TIC will be native tic in recipe-sysroot-native, and
the terminfo path will be native path, the rxvt-unicode terminfo will be
wrongly installed to native path.
install terminfo to correct path in do_install
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy MacLeod [Thu, 7 Mar 2024 01:52:40 +0000 (17:52 -0800)]
valgrind: skip intermittently failing ptests
Skip a few additional ptests that fail occasionally on the Yocto
autobuilder and remove those added to the remove-for-all list
if they were already in the remove-for-aarch64 list.
sstatetests.py: Add testing for correct sstate permissions
This patch adds to run_test_sstate_creation so that it also tests
that sstate directories don't accidentally pickup umask permissions
from the user upon creation.
Richard Purdie [Thu, 7 Mar 2024 09:19:34 +0000 (09:19 +0000)]
oeqa/runtime/login: Fix dbus-wait timeout and loop conditional
The dbus-wait command returns a timeout after 60s but reports "success", detect this.
Unfortunately it does effectively break the test as the signal is nearly never being
correctly detected since it was already sent.
For that reason comment out the code instead too.
Also fix the loop conditional as the logic was incorrect and it was looping
indefinitely when an image match didn't occur.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch uses dbus-wait to wait for matchbox to be up. Once that
happens, it sets a timeout of 60 seconds and takes a screenshot
and compares it, every 2 seconds. If diff=0 it passes. If the timeout
ends, it fails.
Excluding riscv64 due to mouse rather than a touchscreen which adds a
moving cursor, so the diff ends up > 0. Need to fix the image to use the
touchscreen rather than mouse input.
Richard Purdie [Tue, 5 Mar 2024 15:11:10 +0000 (15:11 +0000)]
oeqa/runtime/login: Mask out the mouse panel icon for now
The mouse panel icon can move when the time changes between 3 and 4 digits.
Ideally we'd fix the alignment of the clock on the panel but to get the
tests working, increase the size of the mask for now.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 5 Mar 2024 18:00:10 +0000 (18:00 +0000)]
oeqa/runtime/login: Various code improvements and fixes
* Allow tools to be found from the host PATH so that imagemagick from a buildtools
tarball/sdk can work
* Reformat the code to have imports at the start of the file and have more standard
formatting and whitespace
* Always save copies of the images, the space imapct is negligle compared to the
debug win
* Write the images to ${T}
* Use bb.utils.mkdirhier() instead of more complex code
* Restrict the tests to images containing matchbox-desktop
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This test takes a screendump of a qemu image, blanks out the clock
and compares it to an image we have on record. If the diff is exact,
the test passes. If not, it stores the image in build/failed-images and
fails out.
In order to enable this test, you will need meta-openembedded/meta-oe in
your bblayers.conf for imagemagick and the following in local.conf:
The main issue is that I've yet to find a gating factor that would allow
me to tell when the qemu instance is fully up and rendered. I've tried a
few tactics here, (dbus-wait, qmp) but for now a disgusting
time.sleep(30) is there.
You can replicate this by running qemumips. The screen load takes forever,
but you even see it on qemux86 where the Home and Workspace Switch icons
will sometimes take a while to fully load.
Eventually I'm going to have to take multiple screenshots and compare
them, but then you get into the issue where the question is, is the diff
greater than 0 because it hasn't fully loaded or something is actually
incorrect.
There are the issues I know about:
- runqemu qemuppc64 comes up blank.
- qemuarmv5 comes up with multiple heads but sending "head" to screendump.
seems to create a png with a bad header.
- qemuriscv32 and qemuloongarch64 don't work with testimage apparently?
- qemumips64 is missing mouse icon.
- qemumips takes forever to render and is missing mouse icon.
- qemuarm and qemuppc return incorrect width
- All images have home and screen flipper icons not always rendered fully at first.
The sleep seems to help this out some, depending on machine load.
Signed-off-by: EilÃs 'pidge' Nà Fhlannagáin <pidge@baylibre.com> Co-authored-by: Ross Burton <ross.burton@arm.com> Co-authored-by: EilÃs 'pidge' Nà Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
My concern with this patch is that I haven't seen this come up with
utils/dump.py which also uses QemuMonitor's run_monitor. If it is
occuring, this should fix issues there as well
Signed-off-by: EilÃs 'pidge' Nà Fhlannagáin <pidge@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adjust selftest to git-add the directory with newly added patches,
as the new minicom recipe has no default patches, and thus no directory
with them (and the selftest assumed it does).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>