Ross Burton [Mon, 13 Mar 2023 16:48:09 +0000 (16:48 +0000)]
vim: set modified-by to the recipe MAINTAINER
Clause II.3 of the Vim license states that any distribution of Vim that
has been extended or modified must _at least_ indicate in the :version
output that this is the case.
Handily, Vim has a --with-modified-by argument to add a line in that
text, so use MAINTAINER. This is the distribution maintainer contact,
by default it is OE-Core Developers
<openembedded-core@lists.openembedded.org>.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 13 Mar 2023 19:37:59 +0000 (20:37 +0100)]
file: add few more PACKAGECONFIGs to avoid autodetected deps from host
* there are few more autodetected compression libs
--disable-zlib disable zlib compression support [default=auto]
--disable-bzlib disable bz2lib compression support [default=auto]
--disable-xzlib disable liblzma/xz compression support
--disable-zstdlib disable zstdlib compression support [default=auto]
--disable-lzlib disable liblz (lzip) compression support
and lzlib was detected on my gentoo (even when it doesn't say that default
is auto detection)
I've noticed this, because I've reused sstate-cache from my gentoo build
in docker container with ubuntu-23.04 and esdk.oeSDKExtSelfTest.test_install_libraries_headers
test was now failing with:
Exception: subprocess.CalledProcessError: Command '/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c --update -q /OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/oe-sdk-repo' returned non-zero exit status 127.
Subprocess output:
/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c: error while loading shared libraries: liblz.so.1: cannot open shared object file: No such file or directory
and liblz.so.1 ended in createrepo_c.real because of libmagic.so from file-native-replacement.
* use PACKAGECONFIG for seccomp as well and keep it disabled as it was
explicitly disabled before (${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}
can be added to default PACKAGECONFIG later if someone finds it useful)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Sun, 12 Mar 2023 08:45:43 +0000 (09:45 +0100)]
go: use go as CVE product for all golang recipe veriants
All golang vulnerabilities are reported under product 'go'.
By default there is no vulnerability reported for images with
golang components because none of used golang packages
have correct CVE product set:
* go-binary-native
* go-runtime
* go-cross-*
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clément Péron [Fri, 10 Mar 2023 18:54:22 +0000 (19:54 +0100)]
qemu: split out qemu-guest-agent, add startup scripts
Split out the QEMU guest agent into a separate package. The agent is
intended to be installed within a QEMU VM guest where a user is likely
to not want to have the rest of the QEMU installation within it.
Additionally, an initscript, udev rules file, and systemd unit file are
added to the package so that the guest agent can start automatically;
the former two come from Debian's packaging for qemu-guest-agent.
Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Romuald Jeanne [Fri, 10 Mar 2023 10:36:21 +0000 (11:36 +0100)]
image_types: fix multiubi var init
Make sure to expand all MKUBIFS_ARGS_<label> and UBINIZE_ARGS_<label> vars
in 'do_image_multiubi' task to use them to init the local 'mkubifs_args'
and 'ubinize_args' vars.
Khem Raj [Fri, 10 Mar 2023 10:07:03 +0000 (02:07 -0800)]
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
Some packages like lirc places its unit files into $systemd_user_unitdir
and also uses them in SYSTEMD_SERVICE list in recipe. This fails in
do_package
ERROR: Didn't find service unit 'lircmd.service', specified in SYSTEMD_SERVICE:lirc.
here lircmd.service is installed in /usr/lib/systemd/system/lircmd.service
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 @@