Add a ptest for popt to core-image-ptest-all. Provide a patch to popt to
adopt the test format to "simple test" and a script for running the test.
All tests passed on a trial run.
Signed-off-by: Simone Weiss <simone.weiss@elektrobit.com> Signed-off-by: David Niederpruem <david.niederpruem@elektrobit.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Saul Wold [Thu, 31 Mar 2022 22:21:53 +0000 (15:21 -0700)]
depmodwrapper: Use nonarch_base_libdir for depmod.d
This ensure that when depmod-native runs we can find the correct
exclude.conf information, in this case adding .debug to ignore
the .debug kernell modules. The kmod utilities like depmod can use
either /etc/depmod.d or /lib/depmod.d. The kmod recipe is installing
the existing search.conf to /lib/depmod.d (nonarch_base_lib)
When the busybox modutils are used, /lib/depmod.d is not used, so
it's safe add the exclude.conf file to /lib/depmod.d.
Saul Wold [Thu, 31 Mar 2022 22:21:52 +0000 (15:21 -0700)]
kmod: Add an exclude directive to depmod
This adds a new configuration directive to depmod that causes
depmod to exclude a give path entry like .debug.
kernel-dbg provides the modules .debug/<module>.ko files and
when installed either directly or when dbg-pkgs are selected
this can cause depmod to fail.
Saul Wold [Thu, 31 Mar 2022 22:21:51 +0000 (15:21 -0700)]
busybox: Exclude .debug from depmod
As with the kmod version of depmod, exclude .debug from being
searched. Since busybox does not use the depmod.d and any
configuration file option is ignored we just hardcode it.
Khem Raj [Thu, 31 Mar 2022 22:29:00 +0000 (15:29 -0700)]
meson: Robustify compiler detection logic
meson would fail to detect compiler type in some rare care where
specific substring '-xt' is detected in compiler --version output and
it so happens that this string can be generated by clang --version if
clang is installed into a directory containing 'xt-' in its name. with
recipe specific sysroots, this is quite likely to happen in OE build
system as we are seeing the issue with newly proposed gnome-text-editor
recipe
Generalise this test so that it works on more than qemux86-64:
- Don't edit a file in arch/x86 to cause a rebuild, instead use init/
- Look for the edits in the build tree, as the deployed kernel could be
of any type (zImage/bzImage/etc) and edits may be in the compressed
part.
Also remove redundant checks on the result of runCmd(), as this will
raise AssertionError exceptions itself so the explicit asserts will
never trigger.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:29:14 +0000 (19:29 +0100)]
oeqa/selftest/wic: use self.td instead of get_bb_var to save on bitbake calls
When a test case starts, self.td is populated with all the variables in
the data store. Typically this can be used instead of get_bb_var(),
which saves a bitbake call per variable lookup.
The only catch is that in parallel runs the build directory is moved
after td is populated, so paths in the build directory are wrong: these
still need to be fetched in the test.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:29:12 +0000 (19:29 +0100)]
oeqa/selftest/wic: rearrange tests
Split the tests into further classes: one which exercises the CLI and
doesn't need to build images at all, and another which is just the
tests that manipulate existing images.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:29:10 +0000 (19:29 +0100)]
oeqa/selftest/oescripts: refactor skipping logic
OEScriptTests currently skips if cairo isn't present, and does a build
of core-image-minimal. This is only required for the
OEPybootchartguyTests tests, so move that logic there so that the
OEListPackageconfigTests run even if cairo isn't available.
This leaves OEScriptTests as a simple class containing the scripts_dir
assignment, which can then be reused by other tests to avoid code
duplication.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:29:00 +0000 (19:29 +0100)]
oeqa/selftest/wic: add more arch-specific annotations
Some tests which are marked as x86-specific will actually work on
aarch64 (e.g. use EFI), whilst some other tests really are x86-specific
(e.g. use syslinux).
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:28:58 +0000 (19:28 +0100)]
oeqa/selftest/wic: clean up only_for_arch decorator
There's no need to pass a recipe name when determining the target
architecture, there's no need to cap the size of the lru_cache as it
will only have one entry, and __name__ is set by @wraps.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Thu, 31 Mar 2022 18:28:53 +0000 (19:28 +0100)]
buildtools-tarball: include nativesdk-python3-pyyaml
BitBake can optionally 'import yaml' if BB_LOGCONFIG specifies a yaml
file. This is a 3rd party module, so that this works out of the box
when buildtools is used -- either explicitly via buildtools-tarball or
implicitly via eSDK -- we can add pyyaml to the buildtools.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Richard Purdie [Thu, 31 Mar 2022 11:51:29 +0000 (12:51 +0100)]
modutils-initscripts: Change license PD -> MIT
The file was originally added to OE here:
https://git.openembedded.org/openembedded/commit/modutils/files/modutils.sh?id=3b3989442075d0a4c6c32cb187de17d87bf65fbd
and the license added here as "PD":
https://git.openembedded.org/openembedded/commit/modutils/modutils-initscripts.oe?id=4f7d2b1b63d166e5de146d71e5c942419424446e
As "Public Domain", we can re-license it to MIT, which fits in with the rest of
our metadata and has an SPDX identifier, so lets do that and try and keep our
licenses simpler.
This also them removes the need for a weird license patch in SRC_URI.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Richard Purdie [Thu, 31 Mar 2022 11:01:50 +0000 (12:01 +0100)]
base: Don't add duplicates to sys.path
We can re-trigger this code and there is little point in stacking a ton of duplicate
paths which just waste time during searches for modules. This could in theory alter
layer module search order but that seems unlikely in common use.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
cmake: support to create per-toolchain cmake file in SDK
The patch creates ${MULTIMACH_TARGET_SYS}-toolchain.cmake file
at ${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/cmake/, which is
per-toolchain CMake toolchain file containing arch-specific values
and independent of OE environment variables.
The file gets created after installing SDK toolchain installer
ined by running "bitbake -c populate_sdk <image>".
The changes are similar to meson-setup.py which is used to
create arch-specific
${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/meson/*-meson.cross
Khem Raj [Wed, 30 Mar 2022 18:00:45 +0000 (11:00 -0700)]
weston: Add a knob to control simple clients
Some graphics driver implementations ( e.g sgx ) do not yet support APIs from mesa
21.x, and some portions of weston simple clients depend on these APIs,
therefore introduce a way to specify all or a selection fo clients to
build
Fixes
clients/weston-simple-dmabuf-feedback.p/simple-dmabuf-
feedback.c.o: in function `create_dmabuf_buffer':
| simple-dmabuf-feedback.c:(.text+0x1076): undefined reference to `gbm_bo_get_fd_for_plane'
Rasmus Villemoes [Wed, 30 Mar 2022 10:46:15 +0000 (12:46 +0200)]
git: make expat and curl into PACKAGECONFIG items
It can be useful to use git on target (e.g. with some wrapper like
etckeeper for keeping track of changes to /etc), and for such cases,
it is likely one has no need for pulling from/pushing to http[s]
repositories. From the INSTALL file:
- "libcurl" library ... If you do not use http:// or https://
repositories, and do not want to put patches into an IMAP
mailbox, you do not have to have them (use NO_CURL).
- "expat" library; git-http-push uses it for remote lock
management over DAV. Similar to "curl" above, this is
optional (with NO_EXPAT).
Setting --without-expat and --without-curl reduces the size of the
installed "git" package from 18M to 12M, in addition to avoiding
pulling those libraries into the rootfs.
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is because g-ir-tool-template.in is not setting girdir correctly.
It's using the prefix instead of the actual girdir.
Note that we don't get such error at do_rootfs time because the extra
directories are speicified. But we will get such error at runtime when
multilib is enabled.
Marta Rybczynska [Tue, 29 Mar 2022 12:54:32 +0000 (14:54 +0200)]
cve-check: add coverage statistics on recipes with/without CVEs
Until now the CVE checker was giving information about CVEs found for
a product (or more products) contained in a recipe. However, there was
no easy way to find out which products or recipes have no CVEs. Having
no reported CVEs might mean there are simply none, but can also mean
a product name (CPE) mismatch.
This patch adds CVE_CHECK_COVERAGE option enabling a new type of
statistics. Then we use the new JSON format to report the information.
The legacy text mode report does not contain it.
This option is expected to help with an identification of recipes with
mismatched CPEs, issues in the database and more.
This work is based on [1], but adding the JSON format makes it easier
to implement, without additional result files.
Marta Rybczynska [Tue, 29 Mar 2022 12:54:31 +0000 (14:54 +0200)]
cve-check: add json format
Add an option to output the CVE check in a JSON-based format.
This format is easier to parse in software than the original
text-based one and allows post-processing by other tools.
Output formats are now handed by CVE_CHECK_FORMAT_TEXT and
CVE_CHECK_FORMAT_JSON. Both of them are enabled by default.
The JSON output format gets generated in a similar way to the
text format with the exception of the manifest: appending to
JSON arrays requires parsing the file. Because of that we
first write JSON fragments and then assemble them in one pass
at the end.
Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
wangmy [Tue, 29 Mar 2022 01:46:27 +0000 (09:46 +0800)]
python3-urllib3: upgrade 1.26.8 -> 1.26.9
Changelog:
==========
- Changed urllib3[brotli] extra to favor installing Brotli libraries that are
still receiving updates like brotli and brotlicffi instead of brotlipy.
This change does not impact behavior of urllib3, only which dependencies are
installed.
- Fixed a socket leaking when HTTPSConnection.connect() raises an exception.
- Fixed server_hostname being forwarded from PoolManager to HTTPConnectionPool
when requesting an HTTP URL. Should only be forwarded when requesting an HTTPS URL.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
wangmy [Tue, 29 Mar 2022 00:39:40 +0000 (08:39 +0800)]
python3-hypothesis: upgrade 6.39.2 -> 6.39.5
Changelog:
=========
Improve error detection and message when Hypothesis is
run on a Python implementation without support for "-0.0", which is
required for the "floats()" strategy but can be disabled by unsafe
compiler options (issue #3265).
If the "shrink" phase is disabled, stop the "generate" phase as
soon as an error is found regardless of the value of the
"report_multiple_examples" setting, since that's probably what you
wanted (issue #3244).
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
wangmy [Tue, 29 Mar 2022 00:23:49 +0000 (08:23 +0800)]
python3-asn1crypto: upgrade 1.4.0 -> 1.5.1
License-Update: year updated to 2022
Changelog:
=========
- Handle RSASSA-PSS in keys.PrivateKeyInfo.bit_size and
keys.PublicKeyInfo.bit_size
- Handle RSASSA-PSS in keys.PrivateKeyInfo.wrap and keys.PublicKeyInfo.wrap
- Updated docs for keys.PrivateKeyInfo.algorithm and
keys.PublicKeyInfo.algorithm to reflect that they can return "rsassa_pss"
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Luca Boccassi [Mon, 28 Mar 2022 15:26:54 +0000 (16:26 +0100)]
volatile-binds: add recipe variable to allow disabling OverlayFS
Use the new MOUNT_COPYBIND_AVOID_OVERLAYFS flag provided by mount-copybind.
When SELinux is enabled, processes accessing OverlayFS mounts will get a denial
if the process setting up the mount doesn't have all the permissions that
the accessor has.
It was found when a end user wants to build a squashfs type initramfs
into fitimage, it just fails without printing out any error or warning
messages, which is not right.
Introduce a FIT_SUPPORTED_INITRAMFS_FSTYPES variable to avoid
hard-coding the supported initramfs types, and it could be overridden
in config files. Also break the build when none of a supported
initramfs type is found.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Mon, 28 Mar 2022 14:15:50 +0000 (16:15 +0200)]
kernel-fitimage.bbclass: change 'echo' to 'bbnote'
Change 'echo' usages to 'bbnote' for better logging.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-- Checking for module 'smartcols'
-- No package 'smartcols' found
CMake Error at .../usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:603 (message):
A required package was not found
which happens if glib-2.0 is configured without the libmount
PACKAGECONFIG that otherwise depends on util-linux.
Signed-off-by: Peter Kjellerstedt <pkj@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Luca Boccassi [Fri, 25 Mar 2022 18:40:32 +0000 (18:40 +0000)]
mount-copybind: add MOUNT_COPYBIND_AVOID_OVERLAYFS env var to skip OverlayFS
In some cases we don't want to even attempt to set up OverlayFS, for
example because SELinux in enforcing mode would kill the process
attempting to use the mount. See:
In meta/recipes-core/volatile-binds/files/mount-copybind line 54:
mountcontext=",rootcontext=$(matchpathcon -n $mountpoint)"
^---------^ SC2086: Double quote to prevent globbing and word splitting.
Did you mean:
mountcontext=",rootcontext=$(matchpathcon -n "$mountpoint")"
For more information:
https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
* Bugs fixed:
- #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
- #2538 Various unit test fixes
- #2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
- #2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
- #2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
- #2551 tests: More flaky test fixes to converter-stream and test-printf
- #2552 gtlsconnection: fix typo in docs
* Translation updates:
- Czech
- French
- Friulian
- Hebrew
- Hungarian
- Italian
- Kazakh
- Polish
- Romanian
- Serbian
- Swedish
Signed-off-by: Christian Eggers <ceggers@arri.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Khem Raj [Fri, 25 Mar 2022 06:33:24 +0000 (23:33 -0700)]
musl: Update to latest master
brings following fixes
* 6d8a5157 fix invalid free of duplocale object when malloc has been replaced
* 760f5d7e fix __WORDSIZE on x32 sys/user.h
* bdb54540 sys/ptrace.h: add PTRACE_GET_RSEQ_CONFIGURATION from linux v5.13
* aa3bab6c sys/prctl.h: add PR_PAC_{SET,GET}_ENABLED_KEYS from linux v5.13
* a8300f5d elf.h: add NT_ARM_PAC_ENABLED_KEYS from linux v5.13
* dda21f10 netinet/in.h: add INADDR_DUMMY from linux v5.13
* ee05b11b bits/syscall.h: add landlock syscalls from linux v5.13
* 1ee8109e netinet/tcp.h: add tcp_zerocopy_receive fields from linux v5.12
* bc89c311 netinet/tcp.h: add TCP_NLA_* values up to linux v5.12
* 9ffd1454 s390x: add ptrace requests from linux v5.12
* f7d3db5b bits/syscall.h: add mount_setattr from linux v5.12
* e99c4258 signal.h: add new sa_flags from linux v5.11
* 993cccce signal.h: add SYS_USER_DISPATCH si_code value from linux v5.11
* 3dcbd896 signal.h: add si_code values for SIGSYS
* 30c8a145 netinet/tcp.h: add tcp zerocopy related changes from linux v5.11
* b54f481f netinet/if_ether.h: add ETH_P_CFM from linux v5.11
* c5ecaca7 sys/socket.h: add new SO_ socket options from linux v5.11
* f35b99b3 sys/prctl.h: add PR_SET_SYSCALL_USER_DISPATCH from linux v5.11
* b21f3ded bits/syscall.h: add epoll_pwait2 from linux v5.11
* 3aba2150 nice: return EPERM instead of EACCES
* 74a28a8a protect stack canary from leak via read-as-string by zeroing second byte
* 7c0c7a75 math: avoid runtime conversions of floating-point constants
Richard Purdie [Thu, 24 Mar 2022 17:37:25 +0000 (17:37 +0000)]
oeqa/selftest/tinfoil: Fix intermittent event loss issue in test
We've been seeing occasional test failures on the autobuilder where
we don't see the expected events. It turns out this is due to
run_command being helpful and eating them if the server is fast and
the client slow. Adding a sleep into the run_command code makes the
failure consistent.
Use a new "handle_events" argument to allow us to handle all the
events which is what this test requires.
[YOCTO #14585]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Michael Olbrich [Thu, 24 Mar 2022 16:23:51 +0000 (17:23 +0100)]
kernel.bbclass: avoid config changes based on the availability of pahole
CONFIG_PAHOLE_HAS_SPLIT_BTF shows up in the config only when pahole is
installed on the host system. As a result, the config changes depending on
whether pahole is installed or not.
Set PAHOLE=false to ensure that it is never found.
If this is actually needed in the future, then we can add an option for
it and create a host package for pahole.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
[afa: ported from PTXdist 0c0cec2288 to OE-core] Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
create-spdx.bbclass: Simplify extraction of license text
There is no reason to first search for all available licenses using
avail_licenses() and then search through the same paths looking for
the actual license texts. Just look for the license texts directly
instead.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Joe Slater [Wed, 23 Mar 2022 18:18:53 +0000 (11:18 -0700)]
weston: use same distro features for weston and westion-init
We want to avoid situations (like world builds) where
weston-init will build, but weston won't. This could
cause "nothing RPROVIDES..." dependency errors. We set
required distro features in a common include file.
Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>