This was held by numpy rejecting setuptools >= 60.x,
however it got a workaround in recent point releases
and so the upgrade can proceed.
Drop 0001-_distutils-sysconfig-append-STAGING_LIBDIR-python-sy.patch
as changed code completely removed upstream.
Replicate another distutils/sysconfig.py fix from python recipe via
0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch
Add a tomli build dependency to python3-setuptools-scm as new
setuptools exposes:
| File "/srv/work/alex/poky/build-64-alt/tmp/work/x86_64-linux/python3-setuptools-scm-native/6.4.2-r0/setuptools_scm-6.4.2/src/setuptools_scm/config.py", line 59, in _lazy_tomli_load
| from tomli import loads
| ModuleNotFoundError: No module named 'tomli'
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Steve Sakoman [Tue, 17 May 2022 17:34:07 +0000 (07:34 -1000)]
python3: fix reproducibility issue with python3-core
traceback.cpython-310.pyc is non-deterministic due to 'frozenset'
being written without strict ordering. For now let's just not
install the problematic file.
Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 17 May 2022 12:13:46 +0000 (13:13 +0100)]
layer.conf: Don't use indirect help2man-native dependencies
Similarly to other tools such as pkgconfig and quilt, don't pull in
help2man-native unless there is a direct DEPENDS. This is generally good
for keeping the recipe sysroots leaner and cleaner and should fix some
issues with squashf-tools in particular.
This will mean any recipe with an indirect dependency will break so
missing recipe dependencies will need to be fixed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new version introduced below change, so remove the option
to avoid python3-pytest-benchmark rdepends to fix the gap. 496703c8 Refs #7079 -- added basic scaffholding for benchmarks (#7087)
Khem Raj [Mon, 16 May 2022 22:49:21 +0000 (15:49 -0700)]
musl-locales: Switch SRC_URI to new location
Original repository has been less maintained and thusly adelie linux
community has picked up the package and started to maintain it also
applied long standing bug fixes.
Samuli Piippo [Mon, 16 May 2022 07:11:18 +0000 (07:11 +0000)]
binutils: Bump to latest 2.38 release branch
Fixes Qt build with GCC 12.1.
Brings following fixes
* 3d549e5ccc0 PR29142, segv in ar with empty archive and libdeps specified
* c473aa1b9d8 M68K: avoid quadratic slowdlow in label alignment check
* 8d1187516e3 Adjust ld ctf test for 32-bit targets
* 9c67f6382ac x86: Properly handle function pointer reference
* 9a01457e02e s390: Add DT_JMPREL pointing to .rela.[i]plt with static-pie
* 82a5bb730a1 s390: Avoid dynamic TLS relocs in PIE
* d54081c642a LoongArch: Update ABI eflag in elf header.
* fb4d148004f IBM zSystems: Add support for z16 as CPU name.
* 975b5540232 libctf, ld: diagnose corrupted CTF header cth_strlen
* 99852365513 dlltool: Use the output name as basis for deterministic temp prefixes
* 210bf1d6225 Updated Serbian (for binutils/) and Russian (for gprof/) translations
* fcf60fe8482 PR28959, obdump doesn't disassemble mftb instruction
* e4a35c73196 PowerPC64 DT_RELR relative reloc addresses
* 7183434818e Work around gcc-4 warnings in elf64-ppc.c
Marta Rybczynska [Tue, 17 May 2022 06:01:15 +0000 (08:01 +0200)]
cve-check: Fix report generation
The addition of summary output caused two issues: error when building
an image and the fact that JSON output was generated even when
CVE_CHECK_FORMAT_JSON.
When generating an image it caused an error like:
ERROR: core-image-minimal-1.0-r0 do_rootfs: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:cve_check_write_rootfs_manifest(d)
0003:
File: '/home/alexk/poky/meta/classes/cve-check.bbclass', lineno: 213, function: cve_check_write_rootfs_manifest
0209:
0210: link_path = os.path.join(deploy_dir, "%s.json" % link_name)
0211: manifest_path = d.getVar("CVE_CHECK_MANIFEST_JSON")
0212: bb.note("Generating JSON CVE manifest")
*** 0213: generate_json_report(json_summary_name, json_summary_link_name)
0214: bb.plain("Image CVE JSON report stored in: %s" % link_path)
0215:}
0216:
0217:ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
Exception: NameError: name 'json_summary_name' is not defined
The fix is to pass the d variable to the pure python function generate_json_report
to get correct values of variables and add conditions for the JSON
output where needed.
In addition clarify the message presenting the summary JSON file,
which isn't related to an image.
Uses partial fixes from Alex Kiernan, Ernst Sjöstrand (ernstp),
and Davide Gardenal.
Fixes: f2987891d315 ("cve-check: add JSON format to summary output") Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add a patch to allow the use of debconf to be disabled.
* Replace 0007-Disable-generation-of-the-documentation.patch with a new
patch to disable the generation of the documentation using a
configuration option.
* Replace 0006-Disable-shell-for-default-users.patch with a sed
expression that uses a variable, NOLOGIN, to specify what command to
use for users that are not expected to login. This allows to use some
other command than "nologin", e.g., "false". Also, by using
${base_sbindir}, it adheres to usrmerge being configured.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Claudius Heine [Sun, 15 May 2022 06:36:00 +0000 (12:06 +0530)]
wic: added fspassno parameter to partition
The `fspassno` parameter allows to overwrite the value of the last
column (`fs_passno`) in the /etc/fstab of the target root file system.
This allows to have periodic file system checks.
Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 16 May 2022 11:26:05 +0000 (12:26 +0100)]
selftest/imagefeatures/overlayfs: Always append to DISTRO_FEATURES
Using += unintentionally removes all other entries from DISTRO_FEATURES
if DISTRO_FEATURES was set by ?= such as by poky.conf. This reduces
sstate reusage on the autobuilder. Fix this to speed up builds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 16 May 2022 10:12:18 +0000 (11:12 +0100)]
staging: Fix rare sysroot corruption issue
We've seen failures on the autobuilder in oe-selftest where things which should
be in the sysroot aren't. The exact steps to reproduce the exact failure are
elusive and probably hash equivalance dependency but this set of steps does
reproduce corruption which is probably of the same origin:
Where dbus will now fail as the compiler was no longer in the sysroot.
This works by clearing x11 and other values out of DISTRO_FEATURES so the x11
dependencies are removed from the sysroot. The configure stamp remains valid so
when the original configuration is restored, it becomes valid again but a load
of the sysroot disappeared and build failures result.
Fix this by removing stamps when we remove things from the sysroot.
Depends on a change to bitbake build.py to add the clean_stamp API.
[YOCTO #14790]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 14 May 2022 15:15:50 +0000 (08:15 -0700)]
elfutils: Disable stringop-overflow warning for build host
Some distributions shipping gcc12 end up with stringop-overflow warnings
e.g.
/usr/include/bits/unistd.h:74:10: error: ‘__pread_alias’ specified size between 9223372036854775813 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
74 | return __glibc_fortify (pread, __nbytes, sizeof (char),
| ^~~~~~~~~~~~~~~
Until fixed, lets not treat this warning as hard error
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 13 May 2022 16:22:44 +0000 (09:22 -0700)]
ovmf: Fix native build with gcc-12
Host distros have started deploying gcc12 as well e.g. archlinux
this build failure shows up which has been fixed upstream
In function ‘GetAlignmentFromFile’,
inlined from ‘main’ at GenFfs.c:816:20:
GenFfs.c:545:5: error: pointer ‘InFileHandle’ used after ‘fclose’ [-Werror=use-after-free]
545 | Error(NULL, 0, 4001, "Resource", "memory cannot be allocated of %s", InFileHandle);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 14 May 2022 01:07:50 +0000 (18:07 -0700)]
bash: build with bash_cv_getcwd_malloc=yes on musl too
This fixes bash using its own broken getcwd() during cross compiling
The configure script assumes that your getcwd() function is broken.
Which then makes bash use it's own getcwd() implementation, which
doesn't work if the path to the current directory
contains bind mounts in its paths. This shows up as:
Fixes errors on musl images like
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Bad file descriptor
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
npm.bbclass: Fix file permissions before opening it for writing
Some node module archives in npmjs.org contain wrong permissions.
I found a case with package.json in the archive being r-xr-xr-x
for which open(..., "w") fails. Modify the manifest file permissions
to add the write bit for the owner.
Ross Burton [Fri, 13 May 2022 18:42:01 +0000 (19:42 +0100)]
kernel-yocto.bbclass: say what SRC_URI entry is being dropped
If there is a defconfig set by KBUILD_DEFCONFIG and something that looks
like a defconfig in SRC_URI, the SRC_URI is dropped. This happens even
if the entry in SRC_URI is called my_defconfig_frag.cfg.
Arguably, this is a bug and the behaviour should be changed, but for now
if we're going to remove entries from SRC_URI we should make it clear
what entry is being removed.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrej Valek [Wed, 19 Jan 2022 11:57:59 +0000 (12:57 +0100)]
kernel: add missing path to search for debug files
Since explicit debug package creation via ${KERNEL_PACKAGE_NAME}-dbg has
been added to kernel, it has to cover all PACKAGE_DEBUG_SPLIT_STYLE
options. For ex. when the variable "debug-file-directory" package search
path has to be set explicitly, otherwise it will not find any files.
Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 11 May 2022 17:39:55 +0000 (10:39 -0700)]
libstd-rs: Forward port rust libc patches
libstd-rs update also updated the vendored libc to 0.2.116, the rv64
musl patches were applied to 0.2.112 and hence needed forward porting
done with this changeset.
Dmitry Baryshkov [Tue, 10 May 2022 15:43:27 +0000 (18:43 +0300)]
image.bbclass: allow overriding dependency on virtual/kernel:do_deploy
Since the commit fe26b2379ecd ("image.bbclass: Depend on
virtual/kernel:do_deploy"), the image.bbclass made building images
depend on virtual/kernel. For some images, including small initramfs,
this is not the case. Allow overriding this dependency in case
developers knows what they are doing.
Claudius Heine [Tue, 10 May 2022 07:48:51 +0000 (09:48 +0200)]
overlayfs: add docs about skipping QA check & service dependencies
Add some documentation about skipping the QA check related to missing
fstab entries or mount units for base mount points where the overlayfs
is mounted from.
Also add a short paragraph about adding a systemd unit dependency to
services in recipes, so that they are started only after the overlayfs
is mounted and ready.
No functional change.
Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Konrad Weihmann [Mon, 9 May 2022 10:59:57 +0000 (12:59 +0200)]
linux-firmware: replace mkdir by install
if a setup is using RPM for packaging and there are multiple
recipes that install to ${nonarch_base_libdir}/firmware by using
install -d ${nonarch_base_libdir}/firmware, it will create installation
clashes on image install, as linux-firmware in before this patch
used mkdir -p, which creates different file mode bits (depending
on the current user's settings).
In a particular example
linux-fimware created /lib/firmware with 0600
while other-firmware-package created it with 0644
making the combination not installable by rpm backend
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jacob Kroon [Mon, 9 May 2022 10:32:51 +0000 (12:32 +0200)]
Revert "image.bbclass: allow overriding dependency on virtual/kernel:do_deploy"
As pointed out in
https://lists.openembedded.org/g/openembedded-core/message/165058
https://lists.openembedded.org/g/openembedded-core/message/165216
this patch sets KERNELDEPLOYDEPEND but then uses KERNELDEPMODDEPEND.
Revert the changes since no one seems interested enough to fix it.
If someone wants this then make the variable name readable by
adding underscores where appropriate, for example by calling it
KERNEL_DEPLOY_DEPEND.
Richard Purdie [Mon, 9 May 2022 10:39:00 +0000 (11:39 +0100)]
pciutils: Add make-native dependency
A change in behaviour in make between 4.2.1 and 4.3 on how whitespace
and appends are handled[1] causes changes in lib/libpci.pc and leads
to non-reproducible builds.
Add a dependency on make-native to resovle this as a least invasive
and least worse solution for now.
Richard Purdie [Sun, 8 May 2022 18:25:17 +0000 (19:25 +0100)]
liberror-perl: 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>
Richard Purdie [Sat, 7 May 2022 20:10:06 +0000 (21:10 +0100)]
libgcrypt: Fix reproducibility issues in ptest
The recent ptest addition was causing reproducibility tests to fail.
Remove the problematic files as they clearly aren't needed on target
to run the ptests. Hack the Makefile so that it doesn't try to rerun
configure and similar.
Also add a missing dependency on make.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 8 May 2022 11:26:33 +0000 (12:26 +0100)]
package: Ensure we track whether PRSERV was active or not
Currently the signatures for do_packagedata don't reflect whether PRServ
was active or not. This means that if you have mxiing of PRServ usage and
non PRServ usage against the same sstate cache it can rarely become
corrupted with one referencing the other.
This likely doesn't happen in general but does on the autobuilder as PRServ
is tested. Add in some variables to ensure the binary state of PRServ being
enabled or disabled is tracked (but not the server value). We continue to
assume one PRServ is used per sstate cache.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wic/plugins/rootfs: Fix permissions when splitting rootfs folders across partitions
This patches makes locating the file database containing the file and
folder usernames and permissions more reliable.
In addition to locating it relative to the partition directory, we also
try to locate it relative to the IMAGE_ROOTFS.
Prior to this patch, the database was not found when using
--rootfs-dir=${IMAGE_ROOTFS}/<x> in the WIC script, leading to erronous file
permissions and ownership.
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 7 May 2022 11:22:12 +0000 (12:22 +0100)]
openssh: Add openssh-sftp-server to openssh RDEPENDS
OpenSSH 9.0 uses sftp by default as the transport for scp, add in
sftp-server so that this works as expected for users, rather than being
left with a confusing "scp: Connection closed" message.
Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 7 May 2022 11:22:11 +0000 (12:22 +0100)]
pypi.bbclass: Set CVE_PRODUCT to PYPI_PACKAGE
The CVE product name for PyPI packages is (usually) the same as the PyPI
package name (and not our recipe name), so use that as the default.
Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 7 May 2022 11:22:10 +0000 (12:22 +0100)]
eudev: Add PACKAGECONFIG for manpages & selinux
Drop DEPENDS on libxslt-native which is unused as the tarball includes
the manpages and the build process never invokes the script which
regenerates them (make.sh)
Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Sat, 7 May 2022 11:22:09 +0000 (12:22 +0100)]
eudev: Upgrade 3.2.10 -> 3.2.11
The upstream has moved from Gentoo to GitHub and is now maintained by a
new collection of cross-distribution contributors.
Drop the revert of the userspace firmware loading removal patch as these
are only required to support kernels older than 3.7, do not apply
cleanly and will never be merged upstream.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Alex Kiernan <alexk@zuma.ai> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 4 May 2022 08:35:59 +0000 (09:35 +0100)]
abi_version/sstate: Bump hashequiv and sstate versions due to git changes
The autobuilder sstate was corrupted via incorrect equiavlences caused by
the security fix to git and the poor interaction that had with SCM version
checks under fakeroot/pseudo. Bump the versions to enable a clean slate
to work off.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 6 May 2022 15:56:03 +0000 (16:56 +0100)]
scripts/git: Ensure we don't have circular references
This is horrible but I'm running out of better ideas. We hit circular reference
issues which we were trying to avoid in the core HOSTTOOLS code. When building
the eSDK, there can be two copies of the script.
Therefore assume git will never be in a directory called scripts. This
fixes eSDK build failures.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 6 May 2022 15:56:02 +0000 (16:56 +0100)]
scripts: Make git intercept global
The previous minimially invasive git intercept simply isn't enough. For example,
meson used in the igt-gpu-tools recipe hardcodes the path to git in the configure
step so at install time, changing PATH has no effect.
There are lots of interesting things we could do to try and avoid problems but
making the git intercept and dropping fakeroot privs for git global is probably
the least worst solution at this point. It will add slight overhead to git calls
but we don't make many so the overall impact is likely minimal.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 6 May 2022 15:56:00 +0000 (16:56 +0100)]
oeqa/selftest: add test for git working correctly inside pseudo
The fix for CVE-2022-24765 in git[1] breaks any use of git inside
pseudo. Add a simple test case to oe-selftest to verify that at least
basic uses of git work fine under pseudo.
0001-uname-report-processor-and-hardware-correctly.patch
(upstream explicitly marks the options as non-portable and unreliable[1];
the patch is difficult to rebase, use case for oe unclear)
License-Update: copyright years Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>