Khem Raj [Sun, 12 Mar 2023 07:24:22 +0000 (23:24 -0800)]
systemd: Fix musl fix patch
Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe
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>
Richard Purdie [Thu, 9 Mar 2023 22:00:08 +0000 (22:00 +0000)]
core-image-ptest: Switch to BBCLASSEXTEND parallel execution
Replace the two images where tests are run serially with an image
per ptest in the form core-image-ptest-XXX using class extensions.
The original two images are then replaced with dependencies on these
images. This allows parallel execution of the tests.
The downside to this approach is the parsing time of an image generating
this number of class extensions is slow but making it easier to execute
and collect test data should outweigh that.
A useful advantage is that the dependencies of each ptest package are
checked/tested indvidually.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 12 Mar 2023 11:35:24 +0000 (11:35 +0000)]
oeqa/selftest/sstate: Split classes to allow more parallelism
By splitting the single class into multiple classes, it allows more parallelism
in the execution. These tests don't have interdependencies that benefit
from sstate reuse or anything like that so this makes sense to improve overall
test execution time if/where possible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 13 Mar 2023 11:44:09 +0000 (11:44 +0000)]
selftest/recipetool: Stop test corrupting tinfoil class
Running recipetool.RecipetoolTests.test_recipetool_handle_license_vars
followed by wic.Wic2.test_biosplusefi_plugin_qemu would show a failure of:
File "/media/build/poky/meta/lib/oeqa/utils/commands.py", line 351, in runqemu
qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
File "/media/build/poky/meta/lib/oeqa/targetcontrol.py", line 116, in __init__
use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
File "/media/build/poky/meta/lib/oe/types.py", line 182, in qemu_use_kvm
if kvm and boolean(kvm):
File "/media/build/poky/meta/lib/oe/types.py", line 128, in boolean
raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value '/media/build/poky/meta/files/common-licenses'
which made no sense until you realise the recipetool test is corrupting
the tinfoil class. Work on a copy instead to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:15:09 +0000 (18:15 +0000)]
busybox: Fix ptest dependencies
Ironically, busybox ptests don't all work without coreutils being present. This
dependency fixes execution in minimal images but the failing start-stop-daemon
test case should probably be investigated in due course and the dependency
removed when possible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:14:48 +0000 (18:14 +0000)]
lttng-tools: Improve ptest debugging and fix dependencies
Improve the ptest runner script:
* log output is available should any test fail to aid debugging
* document how to limit the runner to a single test
* stop hiding errors to stderr
* allow easier single test execution by avoiding path issues with PWD
Also depend upon binutils since one of the tests uses addr2line.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:11:51 +0000 (18:11 +0000)]
bc: Fix ptest test output naming
The quoting in the script was mangled leading to "0" tests being
found by our log parsing code. Fix the quoting to allow the correct
test counts to appear.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 12:40:54 +0000 (12:40 +0000)]
acl/attr: ptest fixes and improvements
Add a missing perl module dependency for the ptest packages and also
improve the run-ptest script so that the error log is saved allowing
easier debugging if this fails in future.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Thu, 9 Mar 2023 15:53:01 +0000 (16:53 +0100)]
scripts/yocto_testresults_query.py: set proper branches when using resulttool
The script currently only works if base and target can be found on default
branches. It breaks if we try to generate a regression report between revisions
that live on different branches (as needed on integration and testing branches).
For example, the following command:
Alexis Lothoré [Tue, 28 Feb 2023 18:10:52 +0000 (19:10 +0100)]
scripts/resulttool: do not count newly passing tests as regressions
resulttool regression module simply compare a base test status to a target test
result status. This approach raises many false positives since all XXX -> PASS
transitions (XXX being any status different from PASS) are flagged as
regression.
- Do not list XXX -> PASS transitions in regression report, instead count them
and print a summary of "newly passing tests"
- If an inspected pair has only "newly passing tests", do not print detailed
list and print it as "Improvement" instead of "Regression"
Alexis Lothoré [Tue, 28 Feb 2023 18:10:50 +0000 (19:10 +0100)]
scripts/resulttool: fix ptests results containing a non reproducible path
Some ptests results may be wrongly sampled, resulting in some part of the error
being propagated in test name. For example:
"ptestresult.binutils-ld.in testcase /home/pokybuild/yocto-worker/qemumips/build/build-st-1666126/tmp/work/mips32r2-poky-linux/binutils-cross-testsuite/2.40-r0/git/ld/testsuite/ld-ctf/ctf.exp"
"ptestresult.gcc.Couldn't create remote directory /tmp/runtest.455781 on ssh"
"ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.3814266 on target"
While the root errors must be fixed in corresponding ptests packages for those
tests, the test results history must still be usable even with this issue
Add new filters to detect if temporary test directories (build-st-*,
/tmp/runtime.*) are present in name. If so, truncate test name. As a side
effect, it will aggregate multiple failing errors into one, but the regression
will still be raised
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Tue, 28 Feb 2023 18:10:48 +0000 (19:10 +0100)]
oeqa/selftest/resulttool: fix fake data used for testing
resulttool searches for "status" field, not "STATUS", in results.
This fix is more to avoid confusion than fixing anything, since the updated
tests are about regression.can_be_compared, which does not check for "status"
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are multiple issues with the tests for the ptest fixup mechanism
introduced in c45d58f003e8d8b323169ca9d479dc49c43a9974:
- the feature does not impact regression.can_be_compared but directly the
comparison step in regression.regression_common
- the "status" field was wrong ("STATUS"), which prevents tests comparison
- there is a typo babeltrace2 ptest result name
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Fri, 10 Mar 2023 07:08:15 +0000 (15:08 +0800)]
dhcpcd: Fix install conflict when enable multilib.
Error: Transaction test error:
file /usr/share/man/man8/dhcpcd.8 conflicts between attempted installs of dhcpcd-doc-9.4.1-r0.cortexa57 and lib32-dhcpcd-doc-9.4.1-r0.armv7ahf_neon
The differences between the two files are as follows:
@@ -821,7 +821,7 @@
If you always use the same options, put them here.
.It Pa /usr/libexec/dhcpcd-run-hooks
Bourne shell script that is run to configure or de-configure an interface.
-.It Pa /usr/lib64/dhcpcd/dev
+.It Pa /usr/lib/dhcpcd/dev
Linux
.Pa /dev
management modules.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Bruce Ashfield [Fri, 10 Mar 2023 04:12:37 +0000 (23:12 -0500)]
perf: fix buildpaths QA warning
In the 6.2+ kernel, arm64 perf has a buildpaths QA warning as
a syscall table is now being dynamically generated. That generated
table includes unistd.h by absolute path, which in turn triggers
the buildpaths QA warning.
This could easily be patched in linux-yocto, but that would
leave the QA issue in perf built from other kernel trees.
So we instead to the following:
- Add the perf tools directory to the include path
- Modify the Makefile to have a relative path to unistd.h and
pass both the relative and absolute path to the generation
script
- Modify the generation script to take the relative location
of unistd.h as a new parameter, and use that in the generated
sycalls.c file
At build, the added include path of the perf source allows the
relative path file to be included, and no buildpaths warning is
generated.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
rust: added missing runtime dependencies to run rust on target
[YOCTO #14975]
rust files are not linking on target due to missing dependencies and observed below error.
error: linker `x86_64-poky-linux-gcc` not found
Added the required dependencies to run rust on target machine.
Trevor Woerner [Wed, 8 Mar 2023 22:44:42 +0000 (17:44 -0500)]
cups: add/fix web interface packaging
cups includes a web server. Users can surf to port 631 (default) of a
machine running cups to (potentially, based on configuration, default off)
view jobs, add printers, and perform other forms of administration.
The location of the various resources that are used by the built-in web server
(e.g. index.html) are installed under ${datadir}/doc/cups. By default these
artifacts would be included in the ${PN}-doc package. The comments in this
recipe, however, would suggest an attempt was made to have them added to
${PN}; albeit unsuccessfully.
These resources add roughly 1.8M to an image.
Since cups does include a configuration option to disable the web interface
(--enable-webif), add a PACKAGECONFIG (default off) to allow the user to
decide whether or not they would like the web interface configured and its
pieces added to the image. Enabling this PACKAGECONFIG both enables the
web interface to be configured and built into cups, and also adds (by way
of a recommendation) the web interface package to the image. Considering
that the previous intention was not working, defaulting this option to off
preserves the existing behaviour. Previously in order to have the web
interface data included in an image, a user would have needed to explicitly
add the ${PN}-doc package to their image.
Trevor Woerner [Wed, 8 Mar 2023 22:44:41 +0000 (17:44 -0500)]
cups: check PACKAGECONFIG for pam feature
The cups' PACKAGECONFIG is populated based on DISTRO_FEATURES, but a user
is free to enable or disable PACKAGECONFIGs at will. In theory it is
possible that pam is enabled globally in DISTRO_FEATURES but disabled in
cups' PACKAGECONFIG. Checking the PACKAGECONFIG to determine whether or not
pam is enabled would be a safer check rather than relying on DISTRO_FEATURES.
Ross Burton [Wed, 8 Mar 2023 21:46:35 +0000 (21:46 +0000)]
meson: remove obsolete RPATH stripping patch
As per the release notes for 0.55.0[1], this patch is no longer needed
as Meson now only removes the RPATHs that it adds itself, any RPATHs
added via LDFLAGS or pkgconfig files are left untouched.
Richard Purdie [Wed, 8 Mar 2023 10:12:45 +0000 (10:12 +0000)]
staging/multilib: Fix manifest corruption
The previous fix wasn't enough to address all the possible ways the
manifests might be ordered. Rework the previous fix so it is tied
to the multilib cross-canadian code which is causing the problem.
RECIPE_SYSROOT_MANIFEST_SUBDIR is not documented as I'd hope nobody
ever needs to use this outside the core multilib code.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 9 Mar 2023 14:29:10 +0000 (14:29 +0000)]
glibc: Update sstate/equiv versions to clean cache
There are cached reproducibility issues on the autobuilder due to the PRServ
sstate checksum issues, flush the bad data out the system by bumping the
versions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 23 Feb 2023 06:58:16 +0000 (22:58 -0800)]
binutils: Enable --enable-new-dtags
Use DT_RUNPATH over DT_RPATH. If DT_RUNPATH is present, LD_LIBRARY_PATH is searched before
DT_RUNPATH, Search order is DT_RPATH then LD_LIBRARY_PATH then
DT_RUNPATH, this order ensures that injecting
malicious shared objects is way harder with DT_RUNPATH.
This is now default on major linux distributions already
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 8 Mar 2023 11:48:05 +0000 (11:48 +0000)]
glibc: Add missing binutils dependency
glibc has it's dependencies handled more manually due to it's place
in the toolchain bootstrap. It depends upon the compiler and indirectly
through that to binutils. This did mean that if binutils changes and the
compiler does not, sstate and hash equivalence could mean that glibc
wouldn't rebuild.
Add a direct dependency on binutils that if it changes, it forces glibc
to rebuild, as it should.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Mar 2023 01:40:17 +0000 (09:40 +0800)]
vala: Fix install conflict when enable multilib.
Error: Transaction test error:
file /usr/bin/vala-gen-introspect-0.56 conflicts between attempted installs of lib32-vala-0.56.3-r0.armv7ahf_neon and vala-0.56.3-r0.aarch64
file /usr/bin/vapigen-wrapper conflicts between attempted installs
of lib32-vala-0.56.3-r0.armv7ahf_neon and vala-0.56.3-r0.aarch64
The differences of vala-gen-introspect-0.56 are as follows:
@@ -2,7 +2,7 @@
Wang Mingyu [Wed, 8 Mar 2023 01:40:16 +0000 (09:40 +0800)]
lua: Fix install conflict when enable multilib.
Error: Transaction test error:
file /usr/include/luaconf.h conflicts between attempted installs of lua-dev-5.4.4-r0.aarch64 and lib32-lua-dev-5.4.4-r0.armv7ahf_neon
The differences between the two files are as follows:
@@ -219,7 +219,7 @@
Ross Burton [Tue, 7 Mar 2023 15:56:06 +0000 (15:56 +0000)]
manpages: use an intercept to run mandb
If you build an image with lots of manpages in, then each package will
run mandb inside qemu-user at rootfs time. This is a slow operation
and should be done once when all of the packages have installed using an
intercept instead.
The call to mandb has been changed too. mandb doesn't actually allow
the configuration file to be read from stdin so that was being ignored,
instead write the file to a temporary file and use that.
This means we then don't need to tell it where to search explicitly, and
it writes the indexes to the correct paths so we don't need to move
files afterwards either.
Sadly we do still need to run mandb inside qemu-user, as the underlying
database is a gdbm file and they are byte-order dependent.
For my test case of core-image-base with api-documentation
DISTRO_FEATURES and doc-pkgs IMAGE_FEATURES enabled, the performance
gain is significant:
and then inspecting the lib32* manifest files under recipe-sysroot-native shows
them referencing lib32-recipe-sysroot instead of recipe-sysroot as used by
gcc-cross-canadian recipes.
To fix this separate out the manifest by multilib. It is caching mechanism to
optimise disk usage so this doesn't break anything, just separated out some files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Richard Purdie [Mon, 6 Mar 2023 15:14:23 +0000 (15:14 +0000)]
gdb: Fix occasional build failure
When running the configure check "checking for ELF support in BFD", LDFLAGS
were not being passed in to libtool. In OE/YP, we need these flags when using
uninative due to the games we play with the dynamic loader.
If a version of libzstd was built against a newer glibc, it would need
newer pthread symbols which it wouldn't find with the system linker. At
runtime this isn't an issue as it would be switched to use uninative but we
pass flags in LDFLAGS to allow this.
The bug is rare to reproduce as it depends on the host libzstd was built
against.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Kai Kang [Mon, 6 Mar 2023 06:00:11 +0000 (14:00 +0800)]
grub2: support metadata_csum_seed feature
It enable the metadata_csum_seed feature by default in e2fsprogs 1.47.0
and causes grub doesn't work. Backport patch to make grub support this
feature.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Markus Volk [Sun, 5 Mar 2023 17:28:53 +0000 (18:28 +0100)]
gtk4: update 4.8.3 -> 4.10.0
A testsuite was added that breaks musl build -> disable by default
Overview of Changes in 4.10.0, 04-03-2023
=========================================
* GtkTextView
- Document hanging indentation
* GtkListView
- Fix a size allocation problem
* GtkFileChooser
- Fix paned behavior
- Fix a crash
* GtkText
- Fix various problems with undo
* Accessibility
- Make some getters transfer-full
- Allow setting accessible parents and siblings
- Add a role for toggle buttons
- Miscellaneous property fixes and improvements
* gtk
- Improve the handling resize-during-size-allocate
* gdk
- Introduce GdkTextureDownloader and use it
- Make gdk_texture_get_format public
* gsk
- Make mask nodes more versatile
- Improve the GL implementation for texture scale nodes
* X11
- Fix key handling during DND
* Tools
- gtk-builder-tool: Try harder to handle templates
- gtk-builder-tool: Prefer properties over <child>
* Translation updates
Basque
Belarusian
Bulgarian
Indonesian
Galician
Georgian
German
Hebrew
Lithuanian
Portuguese
Spanish
Swedish
Turkish
Ukrainian
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Wang Mingyu [Sun, 5 Mar 2023 08:07:44 +0000 (16:07 +0800)]
strace: upgrade 6.1 -> 6.2
* Improvements
* Implemented collision resolution for overlapping ioctl commands
from tty and snd subsystems.
* Implemented decoding of IFLA_BRPORT_MAB and IFLA_DEVLINK_PORT
netlink attributes.
* Updated lists of ALG_*, BPF_*, IFLA_*, KEY_*, KVM_*, LANDLOCK_*,
MEMBARRIER_*, NFT_*, NTF_*, and V4L2_* constants.
* Updated lists of ioctl commands from Linux 6.2.
* Bug fixes
* Fixed build on alpha architecture.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>