]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/log
thirdparty/openembedded/openembedded-core.git
2 years agoqemurunner: more cleanups for output blocking
Alex Bennée [Wed, 20 Dec 2023 16:14:50 +0000 (16:14 +0000)] 
qemurunner: more cleanups for output blocking

If we are only tracking stdout and are not using self.readsock we end
up throwing an exception blocking further action from the thread. Fix
this by checking self.readsock is not None first.

While we are at it split even into fd, event to make things clearer
and handle the fail path of stringify_event by echoing the hex value
of the unknown flag.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Mikko Rapeli <mikko.rapeli@linaro.org>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemu: Ensure pip and the python venv aren't used for meson
Richard Purdie [Tue, 19 Dec 2023 21:24:57 +0000 (21:24 +0000)] 
qemu: Ensure pip and the python venv aren't used for meson

Qemu wants to use a supported python version and a specific meson version
to "help" users and uses pip and creates a venv to do this. This is a nightmare
for us. Our versions stay up to date and should be supported so we don't
really need/want this wrapping. Tweak things to disable it.

There was breakage from the wrapper shown by:

bitbake qemu-system-native
<add DISTRO_FEATURES:remove = "opengl" to local.conf>
bitbake qemu-system-native -c configure

which would crash. The issue is the change in configuration removes pieces
from the sysroot but pyc files remainm as do pieces of pip which causes
problems.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemu: Clean up DEPENDS
Richard Purdie [Wed, 20 Dec 2023 10:07:07 +0000 (10:07 +0000)] 
qemu: Clean up DEPENDS

Move the common dependencies to qemu.inc for cleaner entries in the
various recipes. Remove an unneeded inherit.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorust: rustdoc reproducibility issue fix - disable PGO
Sundeep KOKKONDA [Wed, 20 Dec 2023 10:40:20 +0000 (02:40 -0800)] 
rust: rustdoc reproducibility issue fix - disable PGO

The PGO (Profile-guided Optimization) collect data about the typical execution of a program
and then use this data to inform optimizations such as inlining, machine-code layout,
register allocation, etc.

This optimization is by default disabled in rust sources but enabled in Yocto and causing
the reproducibility issue in rustdoc binary. To fix the issue this optimization is set to
it's default 'false'.

More about the optimization: https://doc.rust-lang.org/rustc/profile-guided-optimization.html

With the reproducibility issue fixed, we can enable the reproducibility tests again.

Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoopenssl: mark assembler sections as call targets for PAC/BTI support on aarch64
Ross Burton [Wed, 13 Dec 2023 16:14:21 +0000 (16:14 +0000)] 
openssl: mark assembler sections as call targets for PAC/BTI support on aarch64

The assembler sections in OpenSSL were not marked as valid call targets,
so branch protection could not be enabled for libcrypto.so.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoavahi: backport CVE-2023-1981 & CVE's follow-up patches
Vijay Anusuri [Tue, 12 Dec 2023 09:05:18 +0000 (14:35 +0530)] 
avahi: backport CVE-2023-1981 & CVE's follow-up patches

import patches from ubuntu to fix
 CVE-2023-1981
 CVE-2023-38469-2
 CVE-2023-38470-2
 CVE-2023-38471-2

Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/avahi/tree/debian/patches?h=ubuntu/jammy-security
Upstream commit
https://github.com/lathiat/avahi/commit/a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f
&
https://github.com/lathiat/avahi/commit/c6cab87df290448a63323c8ca759baa516166237
&
https://github.com/lathiat/avahi/commit/94cb6489114636940ac683515417990b55b5d66c
&
https://github.com/lathiat/avahi/commit/b675f70739f404342f7f78635d6e2dcd85a13460]

Ref: https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/nanbield-nut&id=a9203c46cd64c3ec5e5b00e381bbac85733f85df

Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibinput: Add packageconfig for tests
Joshua Watt [Mon, 18 Dec 2023 22:23:48 +0000 (15:23 -0700)] 
libinput: Add packageconfig for tests

Add packageconfig to control if tests are installed or not. Doing this
allows the libcheck dependency to be optional. The packageconfig
defaults to having tests enabled when PTEST_ENABLED == 1 to match the
previous behavior

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agodtc: preserve version also from shallow git clones
Peter Marko [Sat, 16 Dec 2023 18:55:04 +0000 (19:55 +0100)] 
dtc: preserve version also from shallow git clones

Since switch from Makefile to meson based build,
the version is no longer hardcoded but queried from git tag.

This works only if git history is available.
When shallow tarballs are used, tag is not available.

Example error for trusted-firmware-a from meta-arm:
dtc version too old (039a994), you need at least version 1.4.4

Backport also patch to fix version in meson file.

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>
2 years agoptest-packagelists.inc: Add python3-license-expression
Mingli Yu [Tue, 19 Dec 2023 02:47:15 +0000 (10:47 +0800)] 
ptest-packagelists.inc: Add python3-license-expression

 # ./run-ptest
     [snip]
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_bad_syntax
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_exception_as_regular_key
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_exception_with_choice
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_exception
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_exception_strict_false
     PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_key
     PASS: tests/test_license_expression.py::UtilTest::test_build_licensing
     PASS: tests/test_license_expression.py::UtilTest::test_build_spdx_licensing
     PASS: tests/test_license_expression.py::UtilTest::test_get_license_key_info
     PASS: tests/test_license_expression.py::UtilTest::test_get_license_key_info_vendored
     PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_duplicated_elements
     PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_empty_input
     PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_or_relationship
     PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_regular
     PASS: tests/test_skeleton_codestyle.py::BaseTests::test_skeleton_codestyle
    ============================================================================
    Testsuite summary
     # TOTAL: 175
     # PASS: 175
     # SKIP: 0
     # XFAIL: 0
     # FAIL: 0
     # XPASS: 0

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-license-expression: Fix the ptest failure
Mingli Yu [Tue, 19 Dec 2023 02:47:14 +0000 (10:47 +0800)] 
python3-license-expression: Fix the ptest failure

Fix the below ptest failure:
 self = <test_skeleton_codestyle.BaseTests testMethod=test_skeleton_codestyle>
 def test_skeleton_codestyle(self):
 """
 This test shouldn't run in proliferated repositories.
 """
 setup_cfg = configparser.ConfigParser()
 setup_cfg.read("setup.cfg")
 > if setup_cfg["metadata"]["name"] != "skeleton":
 tests/test_skeleton_codestyle.py:22:
 self = <configparser.ConfigParser object at 0x7fd87cf55110>, key = 'metadata'
 def _getitem_(self, key):
 if key != self.default_section and not self.has_section(key):
 > raise KeyError(key)
 E KeyError: 'metadata'

After the patch:
 # ./run-ptest
 [snip]
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_bad_syntax
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_exception_as_regular_key
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_exception_with_choice
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_exception
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_exception_strict_false
 PASS: tests/test_license_expression.py::LicensingValidateTest::test_validation_invalid_license_key
 PASS: tests/test_license_expression.py::UtilTest::test_build_licensing
 PASS: tests/test_license_expression.py::UtilTest::test_build_spdx_licensing
 PASS: tests/test_license_expression.py::UtilTest::test_get_license_key_info
 PASS: tests/test_license_expression.py::UtilTest::test_get_license_key_info_vendored
 PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_duplicated_elements
 PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_empty_input
 PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_or_relationship
 PASS: tests/test_license_expression.py::CombineExpressionTest::test_combine_expressions_with_regular
 PASS: tests/test_skeleton_codestyle.py::BaseTests::test_skeleton_codestyle
============================================================================
Testsuite summary
 # TOTAL: 175
 # PASS: 175
 # SKIP: 0
 # XFAIL: 0
 # FAIL: 0
 # XPASS: 0

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Changed in v4:
Add python3-license-expression to PTESTS_FAST

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agowic: use E2FSPROGS_FAKE_TIME and hash_seed to generate reproducible ext4 images
venkata pyla [Mon, 18 Dec 2023 04:30:30 +0000 (10:00 +0530)] 
wic: use E2FSPROGS_FAKE_TIME and hash_seed to generate reproducible ext4 images

E2FSPROGS_FAKE_TIME: sets fixed times for the inodes in the file system.
hash_seed: creates reproducible directory indexes in the file system.

Reference commit in e2fsprogs: e1f7100643a46456be107b33098f6034b0835e6d

Signed-off-by: venkata pyla <venkata.pyla@toshiba-tsip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agonfs-utils: Update Upstream-Status
Robert Yang [Fri, 15 Dec 2023 13:47:27 +0000 (05:47 -0800)] 
nfs-utils: Update Upstream-Status

Update Upstream-Status for 0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomesa: upgrade 23.2.1 -> 23.3.1
Lucas Stach [Fri, 15 Dec 2023 13:37:36 +0000 (14:37 +0100)] 
mesa: upgrade 23.2.1 -> 23.3.1

- build amd vulkan driver for x86 platforms
- drop included patch
[https://gitlab.freedesktop.org/mesa/mesa/-/blob/1fbdd37d4c1133ced5eb9812daa1fff04cbf5daa/meson.build#L1711]

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-numpy: distutils is no longer required
Alexander Kanavin [Fri, 15 Dec 2023 07:52:10 +0000 (08:52 +0100)] 
python3-numpy: distutils is no longer required

Please see:
https://numpy.org/devdocs/reference/distutils_status_migration.html
https://numpy.org/doc/stable/release/1.26.0-notes.html

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-pytest-runner: remove distutils dependency
Alexander Kanavin [Fri, 15 Dec 2023 07:52:09 +0000 (08:52 +0100)] 
python3-pytest-runner: remove distutils dependency

I couldn't find any evidence of it actually being
required at build or run time.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoglib-2.0: replace distutils dependency with setuptools
Alexander Kanavin [Fri, 15 Dec 2023 07:52:08 +0000 (08:52 +0100)] 
glib-2.0: replace distutils dependency with setuptools

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-pip: remove distutils depedency
Alexander Kanavin [Fri, 15 Dec 2023 07:52:07 +0000 (08:52 +0100)] 
python3-pip: remove distutils depedency

Upstream has removed usage of distutils.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-babel: replace distutils with setuptools, as supported by upstream
Alexander Kanavin [Fri, 15 Dec 2023 07:52:06 +0000 (08:52 +0100)] 
python3-babel: replace distutils with setuptools, as supported by upstream

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-setuptools-rust: remove distutils dependency
Alexander Kanavin [Fri, 15 Dec 2023 07:52:05 +0000 (08:52 +0100)] 
python3-setuptools-rust: remove distutils dependency

As allowed by https://github.com/PyO3/setuptools-rust/pull/336

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogpgme: disable python support (until upstream fixes 3.12 compatibility)
Alexander Kanavin [Fri, 15 Dec 2023 07:52:04 +0000 (08:52 +0100)] 
gpgme: disable python support (until upstream fixes 3.12 compatibility)

The only consumer in oe-core was dnf, and latest dnf releases no longer
use it. There are no consumers in meta-oe.

gpgme's python support is generally a pain to support, and lags
behind upstream python versions. It was enabled in

commit fc6c81da79897c95a9c81960a1dee49517f2562a
Author: Mark Hatle <mark.hatle@windriver.com>
Date:   Tue Mar 7 12:54:33 2017 -0600

    gpgme: Fix issue building for the target

which wasn't prompted by any consumer requiring python,
but rather to correct build errors in absence of specific
configuration passed in.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agodnf: remove obsolete python3-gpg dependency (provided by gpgme)
Alexander Kanavin [Fri, 15 Dec 2023 07:52:03 +0000 (08:52 +0100)] 
dnf: remove obsolete python3-gpg dependency (provided by gpgme)

As of https://github.com/rpm-software-management/dnf/commit/8806b2ee99a322c7201239a1cf14d191c87e152a
dnf is using librepo's crypto.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibcap-ng-python: depend on setuptools to obtain distutils copy
Alexander Kanavin [Fri, 15 Dec 2023 07:52:02 +0000 (08:52 +0100)] 
libcap-ng-python: depend on setuptools to obtain distutils copy

Upstream has made the needed fixes (not easy to backport), but
hasn't released a new version with them. Distutils has been
removed from the core python library in 3.12.0.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogobject-introspection: depend on setuptools to obtain distutils module
Alexander Kanavin [Fri, 15 Dec 2023 07:52:01 +0000 (08:52 +0100)] 
gobject-introspection: depend on setuptools to obtain distutils module

g-i still uses distutils in various places, and upstream MRs and tickets
aren't getting a lot of traction. As distutils is gone from the core
library in python 3.12, rely on setuptools copy.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoweston: Include libgen.h for basename
Khem Raj [Thu, 14 Dec 2023 17:23:54 +0000 (09:23 -0800)] 
weston: Include libgen.h for basename

Fixes build with latest musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3: re-enable profile guided optimisation
Ross Burton [Thu, 14 Dec 2023 17:18:06 +0000 (17:18 +0000)] 
python3: re-enable profile guided optimisation

This was accidentally disabled in the 3.7.2 upgrade in 2019[1] where PGO
was made target-only. Change the wrapper script generation so that it
happens in all environments but class-native.

[1] oe-core 02714c105426b0d687620913c1a7401b386428b6

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agomachine/arch-armv9: remove crc and sve tunes, they are mandatory
Ross Burton [Thu, 14 Dec 2023 14:55:59 +0000 (14:55 +0000)] 
machine/arch-armv9: remove crc and sve tunes, they are mandatory

As per the Arm ARM section A2.3.2, FEAT_CRC32 is mandatory in Armv8.1
onwards, so there's no need to have an explicit optional tune for it.

SVE (which was a choice here) and SVE2 (which was not) are both optional
with v9.0, but GCC's -march=armv9-a defaults to enabling both SVE and
SVE2 on the grounds that there are no implementations of Armv9 that
don't support SVE2.  This means there's no point having an explicit sve
feature as it's enabled out of the box.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemu: Add packageconfig knob to enable pipewire support
Khem Raj [Wed, 13 Dec 2023 20:40:55 +0000 (12:40 -0800)] 
qemu: Add packageconfig knob to enable pipewire support

This gets into a quessing mode if not specified and it it probelamactic
for native version since it maybe built on a machine having pipewire
  installed and used on another where pipewire is not installed (
  minimal CI builder ) it ends up with

runqemu - ERROR - Failed to run qemu: /mnt/b/yoe/master/build/tmp/work/x86_64-linux/qemu-helper-native/1.0/recipe-sysroot-native/usr/bin/qemu-system-x86_64: error while loading shared libraries: libpipewire-0.3.so.0: cannot open shared object file: No such file or directory

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemu: Fix build with latest musl
Khem Raj [Wed, 13 Dec 2023 20:40:54 +0000 (12:40 -0800)] 
qemu: Fix build with latest musl

musl dropped basename() from string.h, adjust for that

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosystemd: Fix build with latest musl
Khem Raj [Wed, 13 Dec 2023 20:40:53 +0000 (12:40 -0800)] 
systemd: Fix build with latest musl

musl has removed basename from string.h [1] which leads to build
failures now as declaration is gone and it should be coming from
libgen.h

[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoimages: add core-image-initramfs-boot
Ross Burton [Wed, 13 Dec 2023 18:22:37 +0000 (18:22 +0000)] 
images: add core-image-initramfs-boot

Add a minimal initramfs image recipe that just contains enough initramfs
to find the real root filesystem and pivot to it.

BSPs can use MACHINE_EXTRA_RRECOMMENDS to pull in any kernel module
packages that are required to bring up the hardware so that the rootfs
can be found.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoperl: 5.38.0 -> 5.38.2
Lee Chee Yang [Wed, 13 Dec 2023 01:10:54 +0000 (09:10 +0800)] 
perl: 5.38.0 -> 5.38.2

update include fix for CVE-2023-47100.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoperlcross: update to 1.5.2
Lee Chee Yang [Wed, 13 Dec 2023 01:10:53 +0000 (09:10 +0800)] 
perlcross: update to 1.5.2

remove upstreamed 0001-cnf-configure_pfmt.sh-add-32-bit-integer-format-defi.patch

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agogdb: Update to gdb 14.1 release
Khem Raj [Fri, 8 Dec 2023 03:04:10 +0000 (19:04 -0800)] 
gdb: Update to gdb 14.1 release

* Drop add-missing-ldflags.patch, its already applied to gdb 14
* Add dependency on mpfr for cross/cross-canadian/target recipe
* Remove gcc-only complier restriction, clang can compile it just fine
* Notable changes are here [1] [2]

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=refs/heads/gdb-14-branch
[2] https://www.sourceware.org/gdb/download/ANNOUNCEMENT

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/overlayfs: Fix whitespace
Richard Purdie [Wed, 20 Dec 2023 12:01:32 +0000 (12:01 +0000)] 
oeqa/selftest/overlayfs: Fix whitespace

My previous fix missed out whitespace with the append, fix that.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
    #

2 years agotestimage: Drop target_dumper and most of monitor_dumper
Richard Purdie [Tue, 19 Dec 2023 16:04:24 +0000 (16:04 +0000)] 
testimage: Drop target_dumper and most of monitor_dumper

The target_dumper code is basically broken. It has been reading binary files
over the text base serial communication and runs at every command failure which
makes no sense. Each run might overwrite files from the previous run and the
output appears corrupted due to confusion from the binary data.

For now, remove the commands and the target dumper code as the command
and execution point are problematic. Also remove the same pieces of the monitor
code but leave the command list since in theory this can be moved to a more
useful place in the code.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/overlayfs: Don't overwrite DISTRO_FEATURES
Richard Purdie [Tue, 19 Dec 2023 10:44:55 +0000 (10:44 +0000)] 
oeqa/selftest/overlayfs: Don't overwrite DISTRO_FEATURES

Whilst debugging an autobuilder failure, I wondered why it was rebuilding qemu-system-native
instead of reusing from sstate. The reason was it was overwriting DISTRO_FEATURES,
in this case removing opengl which caused much to rebuild.

The test doesn't need that so don't do it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemurunner: Improve handling of serial port output blocking
Richard Purdie [Mon, 18 Dec 2023 15:14:08 +0000 (15:14 +0000)] 
qemurunner: Improve handling of serial port output blocking

Similar to stdout in the previous commit, we need to ensure serial output
if written is read and put somewhere, else qemu might block on writes to
the serial port leading to hangs in the kernel. Use our existing logging
thread to log data when run_serial is not in use.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoqemurunner: Improve stdout logging handling
Richard Purdie [Mon, 18 Dec 2023 12:18:45 +0000 (12:18 +0000)] 
qemurunner: Improve stdout logging handling

We need to ensure we read from and log the output from qemu stdout
as otherwise the buffers can fill and block, leading qemu to hang.
Use our existing logging thread to do this.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agotestimage: Exclude wtmp from target-dumper commands
Richard Purdie [Tue, 19 Dec 2023 14:29:32 +0000 (14:29 +0000)] 
testimage: Exclude wtmp from target-dumper commands

wtmp is filled with binary data which the run_serial command can't cope with.
Catting this results in confusion of the serial interface and potentially large
backlogs of data in the buffers which can hang qemu.

Exclude the problematic files from the command.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosystemtap: fix libdebuginfod auto detection logic
Victor Kamensky [Mon, 18 Dec 2023 06:07:57 +0000 (22:07 -0800)] 
systemtap: fix libdebuginfod auto detection logic

Addresses an issue when systemtap is built in situation where debuginfod
is not part of DISTRO_FEATURES and latest SystemTap has problem of
auto detecting libdebuginfod library as it was reported by Martin
Jansa in [1].

[1] https://lists.openembedded.org/g/openembedded-core/message/192109?p=%2C%2C%2C20%2C0%2C0%2C0%3A%3Acreated%2C0%2Csystemtap%2C20%2C2%2C0%2C102987514

Signed-off-by: Victor Kamensky <victor.kamensky7@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosystemtap: explicit handling debuginfod library dependency
Victor Kamensky [Mon, 18 Dec 2023 06:07:56 +0000 (22:07 -0800)] 
systemtap: explicit handling debuginfod library dependency

After systemtap commit 2e67b053e3796ee7cf29a39f9698729b52078406
"configury: rework debuginfod searches" automatic detection of
libdebuginfod is broken. Let's handle it explicitly with debuginfod
package feature. It is good to have such feature anyway.

Signed-off-by: Victor Kamensky <victor.kamensky7@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorpcbind: Specify state directory under /run
Joshua Watt [Fri, 15 Dec 2023 20:34:04 +0000 (13:34 -0700)] 
rpcbind: Specify state directory under /run

The state directory must be correctly specified as under /run because
RequiresMountsFor doesn't follow symbolic links which means the unit may
run before /run is mounted if the default of /var/run/rpcbind is kept

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobitbake.conf: Add runtimedir
Joshua Watt [Mon, 18 Dec 2023 15:38:02 +0000 (08:38 -0700)] 
bitbake.conf: Add runtimedir

Adds the path to the runtime state directory (/run). In particular,
systemd units need to have the correct path to the runtime directory
because RequiresMountsFor doesn't follow symbolic links. This means that
if a unit calls out a directory in /var/run (a symbolic link to /run),
it may actually start before /run is mounted. The fix is to have the
unit specify a directory in /run instead.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agotcl: skip async and event tests in run-ptest
Ross Burton [Mon, 18 Dec 2023 17:08:01 +0000 (17:08 +0000)] 
tcl: skip async and event tests in run-ptest

These test suites are full of timing-sensitive test cases, so skip
them too.

[ YOCTO #15321 ]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoenchant2: upgrade 2.6.2 -> 2.6.4
Anuj Mittal [Mon, 18 Dec 2023 14:47:24 +0000 (22:47 +0800)] 
enchant2: upgrade 2.6.2 -> 2.6.4

pkgdatadir is a versioned directory by default now so we don't need to
pass it to EXTRA_OEMAKE.

https://github.com/AbiWord/enchant/commit/6e4a8df5cbf80fd449f1857ac1065d3235f1139f

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolibusb1: fix upstream version check
Anuj Mittal [Mon, 18 Dec 2023 14:47:23 +0000 (22:47 +0800)] 
libusb1: fix upstream version check

Fix regex to not match release candidates.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agostress-ng: upgrade 0.17.01 -> 0.17.03
Anuj Mittal [Mon, 18 Dec 2023 14:47:22 +0000 (22:47 +0800)] 
stress-ng: upgrade 0.17.01 -> 0.17.03

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopuzzles: upgrade to latest revision
Anuj Mittal [Mon, 18 Dec 2023 14:47:21 +0000 (22:47 +0800)] 
puzzles: upgrade to latest revision

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoglib-networking: upgrade 2.76.1 -> 2.78.0
Anuj Mittal [Mon, 18 Dec 2023 14:47:20 +0000 (22:47 +0800)] 
glib-networking: upgrade 2.76.1 -> 2.78.0

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoglib-2.0: upgrade 2.78.1 -> 2.78.3
Anuj Mittal [Mon, 18 Dec 2023 14:47:19 +0000 (22:47 +0800)] 
glib-2.0: upgrade 2.78.1 -> 2.78.3

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobluez5: upgrade 5.70 -> 5.71
Anuj Mittal [Mon, 18 Dec 2023 14:47:18 +0000 (22:47 +0800)] 
bluez5: upgrade 5.70 -> 5.71

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobase-passwd: upgrade 3.6.2 -> 3.6.3
Anuj Mittal [Mon, 18 Dec 2023 14:47:17 +0000 (22:47 +0800)] 
base-passwd: upgrade 3.6.2 -> 3.6.3

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosqlite3: upgrade 3.44.0 -> 3.44.2
Anuj Mittal [Mon, 18 Dec 2023 14:47:16 +0000 (22:47 +0800)] 
sqlite3: upgrade 3.44.0 -> 3.44.2

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agolinux-yocto: update CVE exclusions
Ross Burton [Mon, 18 Dec 2023 14:18:25 +0000 (14:18 +0000)] 
linux-yocto: update CVE exclusions

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobuild-appliance-image: Update to master head revision
Richard Purdie [Mon, 18 Dec 2023 09:42:59 +0000 (09:42 +0000)] 
build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocreate-spdx-2.2: combine spdx can try to write before dir creation
Jeremy A. Puhlman [Fri, 15 Dec 2023 17:10:46 +0000 (09:10 -0800)] 
create-spdx-2.2: combine spdx can try to write before dir creation

On occasion a file is attmpeded to be opened prior to the
creation of the spdx_workdir. Create the directory before
the open, just in case.

File: '/build/layers/poky/meta/classes/create-spdx-2.2.bbclass', lineno: 1081, function: combine_spdx
     1077:        )
     1078:
     1079:    image_spdx_path = spdx_workdir / (rootfs_name + ".spdx.json")
     1080:
 *** 1081:    with image_spdx_path.open("wb") as f:
     1082:        doc.to_json(f, sort_keys=True, indent=get_json_indent(d))

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa: add "maturin develop" SDK test case
Tim Orling [Sun, 17 Dec 2023 05:41:33 +0000 (21:41 -0800)] 
oeqa: add "maturin develop" SDK test case

'maturin develop' first checks that a virtual environment
has been created, which is a good test for our python3 SDK
environment ;)

Source for guessing-game lifted from https://www.maturin.rs/tutorial

The test case is expected to fetch any necessary crates, build a
development version of the crate and package it as a wheel

Needs at a minimum the following in e.g. local.conf:
TOOLCHAIN_HOST_TASK:append = " nativesdk-python3-maturin"
SDK_INCLUDE_TOOLCHAIN = '1'
SDK_TOOLCHAIN_LANGS += 'rust'

The output of 'maturin develop' should be something like:
...
🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.8
🐍 Not using a specific python interpreter
📡 Using build options features from pyproject.toml
   ...
   Compiling guessing-game v0.1.0 (/path/to/guessing-game)
    Finished dev [unoptimized + debuginfo] target(s) in 7.14s
📦 Built wheel for abi3 Python ≥ 3.8 to /path/to/tmpdir/guessing_game-0.1.0-cp38-abi3-linux_x86_64.whl
🛠 Installed guessing-game-0.1.0

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa: add simple 'maturin' SDK (testsdk) test case
Tim Orling [Sun, 17 Dec 2023 05:41:32 +0000 (21:41 -0800)] 
oeqa: add simple 'maturin' SDK (testsdk) test case

We expect 'maturin' will be used in SDKs, so it makes sense to also
test it in the testsdk environment.

To run this test case, you can add the following to local.conf:
TOOLCHAIN_HOST_TASK:append = " nativesdk-python3-maturin"

And then build and test the SDK:
bitbake -c populate_sdk core-image-full-cmdline
bitbake -c testsdk core-image-full-cmdline

You can substitute a different image recipe for "core-image-full-cmdline"

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooe-selfest: add maturn runtime (testimage) test
Tim Orling [Sun, 17 Dec 2023 05:41:31 +0000 (21:41 -0800)] 
oe-selfest: add maturn runtime (testimage) test

Basic smoke test for maturin to test the 'maturin list-python' case.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorecipetool: add python_maturin support
Tim Orling [Sun, 17 Dec 2023 05:41:30 +0000 (21:41 -0800)] 
recipetool: add python_maturin support

Add the new python_maturin PEP-517 backend

Add selftest for 'pydantic-core' pypi package.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoclasses-recipe: add python_maturin.bbclass
Tim Orling [Sun, 17 Dec 2023 05:41:29 +0000 (21:41 -0800)] 
classes-recipe: add python_maturin.bbclass

maturin is a replacement for setuptools_rust and another "backend" for
building python wheels.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-maturin: bzip2-sys reproduciblility
Tim Orling [Sun, 17 Dec 2023 05:41:28 +0000 (21:41 -0800)] 
python3-maturin: bzip2-sys reproduciblility

The /usr/bin/.debug/maturin binary ends up with the path
to the bzip-sys (bzip2-1.0.8) source in the python3-maturin-dbg package

Fix this by mapping the debug path for CARGO_HOME
to TARGET_DBGSRC_DIR/cargo_home via CFLAGS. This is
required because the bzip-sys crate is compiled using
the cc crate and we override default CFLAGS.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agopython3-maturin: add v1.4.0
Tim Orling [Sun, 17 Dec 2023 05:41:27 +0000 (21:41 -0800)] 
python3-maturin: add v1.4.0

Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings
as well as rust binaries as python packages.

This project is meant as a zero configuration replacement for setuptools-rust
and milksnake. It supports building wheels for python 3.7+ on windows, linux,
mac and freebsd, can upload them to pypi and has basic pypy and graalpy support.

https://github.com/pyo3/maturin

* Referesh -crates.inc for 1.4.0

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/sstatetests: re-work CDN tests, add local cache tests
Alexander Kanavin [Thu, 14 Dec 2023 13:45:20 +0000 (14:45 +0100)] 
oeqa/selftest/sstatetests: re-work CDN tests, add local cache tests

With the rework of printdiff, it is not longer useful for checking
absence of sstate objects in a remote http cache, as it would only
report the top level missing signatures, and leave the recursive
investigation to diffsigs (which relies on ability to list cache
files - not available over http).

The CDN check can be performed by simply running 'bitbake -DD -n'
which is very verbose, but neverthless reports the amount
of missing sstate objects and what they are in a way that can
be programmatically extracted and checked (as suggested by RP).

This also adds local sstate tests, as they can be useful to
determine whether the missing cdn objects were never created or
erroneously cleaned up, or if they were created but didn't propagate
to cdn.

[YOCTO #15303]

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agobuild-appliance-image: Update to master head revision
Richard Purdie [Sat, 16 Dec 2023 13:12:49 +0000 (13:12 +0000)] 
build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/sstatetests: Disable gcc source printdiff test for now
Richard Purdie [Sat, 16 Dec 2023 13:11:57 +0000 (13:11 +0000)] 
oeqa/sstatetests: Disable gcc source printdiff test for now

There are some issues with the printdiff code this has identified, disable the
test for now until we have patches to resolve them.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agodevtool: modify: Handle recipes with a menuconfig task correctly
Peter Kjellerstedt [Fri, 15 Dec 2023 12:12:06 +0000 (13:12 +0100)] 
devtool: modify: Handle recipes with a menuconfig task correctly

This avoids the following error when running `devtool modify` on a
recipe that has a menuconfig task, but does not have
KCONFIG_CONFIG_ENABLE_MENUCONFIG set.

  .../temp/run.do_configure.4163366: line 152:
  ${@ oe.types.boolean('${KCONFIG_CONFIG_ENABLE_MENUCONFIG}') }: bad substitution
  WARNING: .../temp/run.do_configure.4163366:152 exit 1 from
  '[ ${@ oe.types.boolean('${KCONFIG_CONFIG_ENABLE_MENUCONFIG}') } = True ]'

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agoutil-linux: Delete md-raid tests
Khem Raj [Thu, 14 Dec 2023 19:34:36 +0000 (11:34 -0800)] 
util-linux: Delete md-raid tests

These tests are marked as known failures upstream as well [1]
if we delete them then we can drop dependency on mdadm for ptests which
can further reduce the dependency chain for ptest enabled minimal images

[1] https://github.com/util-linux/util-linux/commit/7519c3edab120b14623931d5ddb16fdc6e7cad5d

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agostrace: Disable bluetooth support by default
Yoann Congal [Wed, 13 Dec 2023 08:56:58 +0000 (09:56 +0100)] 
strace: Disable bluetooth support by default

The bluetooth support adds a bluez5 dependency (and,recursively, a lot
of other stuff). Disable it by default to avoid having to build all of
this when it is not needed.

This decrease the number of tasks run for a core-image-minimal build by
~1000 (-21%).

To re-enable bluetooth support in strace, add "bluez" to strace
PACKAGECONFIG. For example, in local.conf:
  PACKAGECONFIG:append:pn-strace = " bluez"

Fixes [YOCTO #15323]

[RP: Tweaked to put a message about the change in the recipe]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Suggested-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agosstate: Fix dir ownership issues in SSTATE_DIR
Richard Purdie [Sun, 10 Dec 2023 09:33:17 +0000 (09:33 +0000)] 
sstate: Fix dir ownership issues in SSTATE_DIR

We currently use mkdir -p to create missing parent directories within SSTATE_DIR.
Reading the man page for mkdir mentions that parent directories are created with
the current umask, *not* the mode passed upon the commandline.

We could fix this by setting and resetting the umask but since we already have
decent python code able to do this, move to using that injecting a python function
into the chain of functions already present.

This should help fix the occasional sstate directory creation with the wrong
permissions.

[YOCTO #14385]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorunqemu: add qmp socket support
Ross Burton [Wed, 13 Dec 2023 20:30:14 +0000 (20:30 +0000)] 
runqemu: add qmp socket support

Add support for qmp sockets and defaults to unix:qmp.sock if unspecified

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooe-selftest: add tests for C and C++ build tools
Adrian Freihofer [Thu, 7 Dec 2023 20:52:51 +0000 (21:52 +0100)] 
oe-selftest: add tests for C and C++ build tools

Add new file for C and C++ build tools. The initial implemmentation
contains a class for CMake and one for Meson. At least these first
tests for the qemu-usermode share most of the code. That's why there
is only one c_ccp.py file and not for example a cmake.py and a
meson.py file.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/core/decorator: add skip if not qemu-usermode
Adrian Freihofer [Thu, 7 Dec 2023 20:52:50 +0000 (21:52 +0100)] 
oeqa/core/decorator: add skip if not qemu-usermode

Add a decorator to skip tests which require the qemu-usermode machine
feature.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooe-selftest: add a cpp-example recipe
Adrian Freihofer [Thu, 7 Dec 2023 20:52:49 +0000 (21:52 +0100)] 
oe-selftest: add a cpp-example recipe

This simple C++ project supports compilation with CMake and Meson.
(Autotool support could be added later on.)
It's supposed to be used with oe-selftest.

An artificial project has several advantages over compiling a normal
CMake or Meson based project for testing purposes:
- It is much faster because it can be kept minimalistic
- It can cover multiple odd corner cases
- No one will change it in an unpredictable way
- It can support multiple build tools with only one C++ codebase

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocmake-qemu.bbclass: make it more usable
Adrian Freihofer [Thu, 7 Dec 2023 20:52:48 +0000 (21:52 +0100)] 
cmake-qemu.bbclass: make it more usable

Make the cmake-qemu.bbclass more usable:
- Drop the CMAKE_EXEWRAPPER_ENABLED variable (which does not make much
  sense without the second commit of the original patch series).
- Inherit qemu to make the cmake-qemu a drop in replacement for cmake.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorust: Upgrade 1.71.0 -> 1.71.1
Alex Kiernan [Fri, 8 Dec 2023 14:03:45 +0000 (14:03 +0000)] 
rust: Upgrade 1.71.0 -> 1.71.1

https://blog.rust-lang.org/2023/08/03/Rust-1.71.1.html

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorust: Upgrade 1.70.0 -> 1.71.0
Alex Kiernan [Fri, 8 Dec 2023 14:03:44 +0000 (14:03 +0000)] 
rust: Upgrade 1.70.0 -> 1.71.0

Switch libstd-rs to use the dummy `sysroot` crate which represents the
standard library crates. Target getrandom-open64.patch at 0.2.8 (merged
for 0.2.9). Drop bootstrap_fail.patch (backport merged).

https://blog.rust-lang.org/2023/07/13/Rust-1.71.0.html

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agorust: Disable rust oe-selftest
Yash Shinde [Fri, 8 Dec 2023 14:03:43 +0000 (14:03 +0000)] 
rust: Disable rust oe-selftest

After rust is upgraded to 1.71 and later versions, the rust oe-selftest gives
build errors due to unstable nightly options(see the error mentioned below). Thus, disable the test suite
until the issue is fixed

error: the option `Z` is only accepted on the nightly compiler
thread 'main' panicked at 'failed to gather the target spec for x86_64-poky-linux-gnu', synthetic_targets.rs:66:9

Following issues are created in Yocto bugzilla and rust upstream to track this issue-

https://bugzilla.yoctoproject.org/show_bug.cgi?id=15275
https://github.com/rust-lang/rust/issues/115642
https://users.rust-lang.org/t/does-rust-test-suite-supports-nightly-options-during-bootstrapping-in-rust/103108
https://users.rust-lang.org/t/unable-to-read-target-specs-when-rust-1-73-is-bootstrapped-in-yocto-poky/102959

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/recipetool: fix metadata corruption on meta layer
Julien Stephan [Mon, 11 Dec 2023 17:01:38 +0000 (18:01 +0100)] 
oeqa/selftest/recipetool: fix metadata corruption on meta layer

[YOCTO #15314]

test_recipetool_appendsrcfile_update_recipe_basic is using base-files as
test recipe but modifies it directly which can corrupt metadata for other
tests relying on this recipe.

So use mtd-utils-selftest as test recipe from meta-selftest to avoid
this kind of issues

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agooeqa/selftest/recipetool: remove left over from development
Julien Stephan [Mon, 11 Dec 2023 15:48:49 +0000 (16:48 +0100)] 
oeqa/selftest/recipetool: remove left over from development

Remove leftover code needed for development that was unintentionally
committed

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoarchiver.bbclass: Improve work-shared checking
Robert Yang [Mon, 11 Dec 2023 15:13:17 +0000 (07:13 -0800)] 
archiver.bbclass: Improve work-shared checking

There are other recipes except the listed ones which use work-shared, improve
the checking to make other recipes such as llvm-project-source work with
do_ar_patched.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agonfs-utils: Upgrade 2.6.3 -> 2.6.4
Robert Yang [Mon, 11 Dec 2023 14:49:50 +0000 (06:49 -0800)] 
nfs-utils: Upgrade 2.6.3 -> 2.6.4

* Remove backported patch 0001-configure.ac-libevent-and-libsqlite3-checked-when-nf.patch.
* Add 0001-reexport.h-Include-unistd.h-to-compile-with-musl.patch to fix build with musl

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agogo: set vendor in CVE_PRODUCT
Ross Burton [Mon, 11 Dec 2023 13:49:46 +0000 (13:49 +0000)] 
go: set vendor in CVE_PRODUCT

It's not uncommon for specific third party modules to use "go" as the
product[1]. However, the canonical CPE for the official Go
language/runtime is always golang:go[2], so use that explicitly.

[1] e.g. https://nvd.nist.gov/vuln/detail/CVE-2023-49292
[2] e.g. https://nvd.nist.gov/vuln/detail/CVE-2023-39320

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agooeqa/selftest/recipetool: add back checksum checks on pypi tests
Julien Stephan [Mon, 11 Dec 2023 13:40:42 +0000 (14:40 +0100)] 
oeqa/selftest/recipetool: add back checksum checks on pypi tests

recipetool pypi plugin was originally clobbering SRC_URI checksums.

Now it doesn't do this anymore:
78ef0313ee6 - recipetool: pypi: do not clobber SRC_URI checksums
so add back the checksum checks on pypi tests.

Also this commit restrict the checksums:
45d2f8d4bc2 - recipetool: create: Only include the expected SRC_URI checksums
so add only the needed ones.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoopkg: Use own version of portable basename function
Khem Raj [Mon, 11 Dec 2023 03:51:16 +0000 (19:51 -0800)] 
opkg: Use own version of portable basename function

Fixes build with upcoming musl release.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agocve-update-nvd2-native: increase the delay between subsequent request failures
Dhairya Nagodra [Mon, 11 Dec 2023 10:05:00 +0000 (02:05 -0800)] 
cve-update-nvd2-native: increase the delay between subsequent request failures

Sometimes NVD servers are unstable and return too many errors.
There is an option to have higher fetch attempts to increase the chances
of successfully fetching the CVE data.

Additionally, it also makes sense to progressively increase the delay
after a failed request to an already unstable or busy server.
The increase in delay is reset after every successful request and
the maximum delay is limited to 30 seconds.

Also, the logs are improved to give more clarity.

Signed-off-by: Dhairya Nagodra <dnagodra@cisco.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agocve-update-nvd2-native: faster requests with API keys
Dhairya Nagodra [Mon, 11 Dec 2023 10:04:59 +0000 (02:04 -0800)] 
cve-update-nvd2-native: faster requests with API keys

As per NVD, the public rate limit is 5 requests in 30s (6s delay).
Using an API key increases the limit to 50 requests in 30s (0.6s delay).
However, NVD still recommends sleeping for several seconds so that the
other legitimate requests are serviced without denial or interruption.
Keeping the default sleep at 6 seconds and 2 seconds with an API key.

For failures, the wait time is unchanged (6 seconds).

Reference: https://nvd.nist.gov/developers/start-here#RateLimits

Signed-off-by: Dhairya Nagodra <dnagodra@cisco.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoattr: Fix build with latest musl
Khem Raj [Sun, 10 Dec 2023 20:25:49 +0000 (12:25 -0800)] 
attr: Fix build with latest musl

Include libgen.h to get basename() signature

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agosysvinit: Include libgen.h for basename API
Khem Raj [Sun, 10 Dec 2023 20:25:48 +0000 (12:25 -0800)] 
sysvinit: Include libgen.h for basename API

This fixes build with latest musl which drops basename declaration API from string.h

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoutil-linux: Fix build with latest musl
Khem Raj [Sun, 10 Dec 2023 20:25:47 +0000 (12:25 -0800)] 
util-linux: Fix build with latest musl

Musl has removed basename declaration in string.h which exposes this
error.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoelfutils: Use own basename API implementation
Khem Raj [Sun, 10 Dec 2023 20:25:46 +0000 (12:25 -0800)] 
elfutils: Use own basename API implementation

This helps in building it for musl libc after this change [1]

[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agokmod: Fix build with latest musl
Khem Raj [Sun, 10 Dec 2023 20:25:45 +0000 (12:25 -0800)] 
kmod: Fix build with latest musl

implement glibc compatible basename() funciton for portability

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agoqemurunner: remove unused import
Ross Burton [Thu, 7 Dec 2023 14:36:04 +0000 (14:36 +0000)] 
qemurunner: remove unused import

Removes unused logging import

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <pidge@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agotcl: skip timing-dependent tests in run-ptest
Ross Burton [Thu, 7 Dec 2023 22:31:10 +0000 (22:31 +0000)] 
tcl: skip timing-dependent tests in run-ptest

There are several tests in the test suite which are very dependent on
timing and fail on a loaded host system, so skip them.

[ YOCTO #14825 #14882 #15081 ]

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agobase: Unpack .7z files with p7zip
Daniel Ammann [Fri, 8 Dec 2023 10:25:24 +0000 (11:25 +0100)] 
base: Unpack .7z files with p7zip

Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agopython3-setuptools-rust: BBCLASSEXTEND + nativesdk
Tim Orling [Thu, 7 Dec 2023 23:13:18 +0000 (15:13 -0800)] 
python3-setuptools-rust: BBCLASSEXTEND + nativesdk

We would like to build python3-maturin for nativesdk use
and nativesdk-python3-setuptools-rust is a dependency.

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agomusl: add typedefs for Elf64_Relr and Elf32_Relr
Zang Ruochen [Fri, 8 Dec 2023 07:42:44 +0000 (23:42 -0800)] 
musl: add typedefs for Elf64_Relr and Elf32_Relr

The absence of this typedef causes elfutils to report the following error:
/usr/include/gelf.h:86:9: error: unknown type name 'Elf64_Relr'

https://git.musl-libc.org/cgit/musl/commit/?id=6be76895f6863100a311d474a42abdbb6466189d

Signed-off-by: Zang Ruochen <zangruochen@loongson.cn>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2 years agouseradd: Fix useradd do_populate_sysroot dependency bug
Richard Purdie [Sat, 9 Dec 2023 15:28:11 +0000 (15:28 +0000)] 
useradd: Fix useradd do_populate_sysroot dependency bug

If a task is adde which has a dependency on the do_populate_sysroot task of
the recipe, it will cause it to be installed into the sysroot (similar to
do_addto_recipe_sysroot). This fails since the postinst script is an overlapping
file:

Exception: FileExistsError: [Errno 17] File exists:
'tmp/sysroots-components/all/useraddbadtask/usr/bin/postinst-useradd-useraddbadtask'
  ->
'tmp/work/all-poky-linux/useraddbadtask/1.0/recipe-sysroot/usr/bin/postinst-useradd-useraddbadtask'

The copy written out at do_prepare_recipe_sysroot time is just for debug so
rename it, meaning there are no longer overlapping files and the installation
can be successful, removing the error.

[YCOTO #14961]

With the bug fixed, enable the test.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agooeqa/selftest/bbtests: Add test for unexpanded variables in the dirname
Pavel Zhukov [Fri, 8 Dec 2023 13:22:25 +0000 (14:22 +0100)] 
oeqa/selftest/bbtests: Add test for unexpanded variables in the dirname

Regression test for [Yocto #15255]

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2 years agocargo: Add CARGO_LOCK_PATH for path to Cargo.lock
Alex Kiernan [Fri, 8 Dec 2023 12:00:28 +0000 (12:00 +0000)] 
cargo: Add CARGO_LOCK_PATH for path to Cargo.lock

When building a workspace enabled project, the Cargo.lock is found at
the root of the project, not alongside the Cargo.toml. Expose
CARGO_LOCK_PATH so it can be explicitly configured.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>