* can be used to pass e.g. -f param to preserve user-defined fields
in the index as added in:
https://git.yoctoproject.org/opkg-utils/commit/opkg-make-index?id=13f6281d24e17199e0fef6c2984419372ea0f86f
* otherwise it will show a lot of messages like:
"Lost field Author <value>"
for every package in the feed
Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yogita Urade [Fri, 2 Feb 2024 08:26:32 +0000 (08:26 +0000)]
tiff: fix CVE-2023-52355 and CVE-2023-52356
CVE-2023-52355:
An out-of-memory flaw was found in libtiff that could be
triggered by passing a crafted tiff file to the
TIFFRasterScanlineSize64() API. This flaw allows a remote
attacker to cause a denial of service via a crafted input
with a size smaller than 379 KB.
Issue fixed by providing a documentation update.
CVE-2023-52356:
A segment fault (SEGV) flaw was found in libtiff that could
be triggered by passing a crafted tiff file to the
TIFFReadRGBATileExt() API. This flaw allows a remote attacker
to cause a heap-buffer overflow, leading to a denial of service.
Maanya Goenka [Thu, 1 Feb 2024 02:56:24 +0000 (02:56 +0000)]
toolchain-shar-relocate: allow 'find' access to libraries in symlinked directories
If the '/' is not added to the end of the dynamic loader path, only directories
that are not symlinks will be looked into for libraries such as ld-linux*,
so the slash is added to allow the 'find' command to have symlinked directory access too.
GPT based disks have a disk guid apart from the 32-bit disk identifier.
This commit implements reproducible disk guid by using SOURCE_DATE_EPOCH (if available) value as a random seed
Richard Purdie [Tue, 6 Feb 2024 10:20:36 +0000 (10:20 +0000)]
ltp: Try re-enabling problematic test
The proc01 test used to hang when reading /proc/kmsg. This issue could
have been a number of issues which were fixed in the meantime. Try
re-enabling the test to see if the issue is still present.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Mon, 5 Feb 2024 15:57:30 +0000 (16:57 +0100)]
patchtest-send-results: properly parse test status
patchtest-send-results currently search the word "FAIL" in the whole
testresults file to decide whether it should send a report to patch
submitter or not. This global search can lead to false positives, for
example if the commit subject contains the word "FAIL" (as observed in
[1])
Prevent those false positives by explicitely parsing the test status from
each line. Each test result line, generated by the patchtest script, is
expected to have the following format:
<STATUS>: <some info, depending on the status>
Chen Qi [Mon, 5 Feb 2024 07:20:01 +0000 (15:20 +0800)]
multilib_global.bbclass: fix parsing error with no kernel module split
The problem could be reproduced with the following settings:
MACHINE = "qemux86-64"
KERNEL_SPLIT_MODULES = "0"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 ?= "core2-32"
The error message is as below:
bb.data_smart.ExpansionError: Failure expanding variable KERNEL_VERSION_PKG_NAME, expression was ${@legitimize_package_name(d.getVar('KERNEL_VERSION'))} which triggered exception TypeError: expected string or bytes-like object
The variable dependency chain for the failure is: KERNEL_VERSION_PKG_NAME -> RPROVIDES:kernel-modules
This is because multilib_virtclass_handler_global function in
multilib_global.bbclass deletes KERNEL_VERSION. So we need to handle
such situation. We'll also need to delete KERNEL_VERSION_PKG_NAME
to avoid this parsing error.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Mon, 5 Feb 2024 11:41:23 +0000 (11:41 +0000)]
systemd: pack pre-defined pcrlock files installed with tpm2
The new pcrlock tool systemd-pcrlock [1] is installed when
the tpm2 and openssl package config is enabled and with them
some pre-defined pcrlock files is installed on the target.
[1] https://github.com/systemd/systemd/pull/28891
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 1 Feb 2024 22:24:00 +0000 (14:24 -0800)]
glibc: Upgrade to 2.39
License-Update: Relicenses the IBM portions of resolv/base64.c and
resolv/res_debug.c to a new license that does not have use-limited
patent language [1]
Upgrade localdef to get glibc 2.39 build fixes
Details of release [2]
Khem Raj [Fri, 2 Feb 2024 08:19:08 +0000 (00:19 -0800)]
syslinux: Disable error on implicit-function-declaration
syslinux has vendored copy of ext2fs/ext2_fs.h but uses ext2fs/ext2fs.h
from e2fsprogs package, however, ext2fs/ext2fs.h has dependencies on
ext2fs/ext2_fs.h coming from e2fsprogs package as these both headers
come from same package, here syslinux uses ext2fs.h from e2fsprogs but
supplies its own copy of ext2_fs.h which maybe out of sync and that
results in warnings about implicit implicit-function-declarations
e.g.
recipe-sysroot/usr/include/ext2fs/ext2fs.h:727:16: error: implicit declaration of function 'ext2fs_has_feature_gdt_csum' [-Wimplicit-function-declaration]
| 727 | ext2fs_has_feature_gdt_csum(fs->super);
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
ext2fs_has_feature_gdt_csum here comes from newer version of
ext2fs/ext2_fs.h but missing from vendored copy, hence the warning.
With gcc-14 this warning is treated as error by default, which breaks
the build, so lets treat it as warning only.
All these functions are never used in syslinux, so functionality-wise we
are fine.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 30 Jan 2024 16:23:13 +0000 (08:23 -0800)]
qemu-native: Use inherit_defer for including native class
This helps working with native qemu recipes with devtool, since devtool
inserts an internal class called devtool-source resulting in
ERROR: QA Issue: qemu-system-native: native/nativesdk class is not inherited last, this can result in unexpected behaviour. Classes i
nherited after native/nativesdk: devtool-source.bbclass [native-last]
ERROR: Fatal QA errors were found, failing task.
ERROR: Parsing halted due to errors, see error messages above
ERROR: Command execution failed:
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Joslyn [Sun, 4 Feb 2024 14:09:16 +0000 (06:09 -0800)]
curl: Update to 8.6.0
This is a bug fix and feature update. Release notes are available at:
https://curl.se/changes.html#8_6_0
Disable test 1478, it's comparing help output to documentation.
License-Update: Copyright year updated Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 4 Feb 2024 11:58:05 +0000 (11:58 +0000)]
conf: Move selftest config to dedicated inc file
Create a no-gplv3.inc file based upon knowledge currently encoded into one
of the selftests.
There is a risk that people try and take this idea too far, or have unrealistic
expectations. That said, it would be better to collect this knowledge together
in one location rather than handling it piecemeal.
Therefore move the configuration information from the test into a common
incude file.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 4 Feb 2024 05:12:49 +0000 (21:12 -0800)]
sdk/assimp.py: Fix build on 32bit arches with 64bit time_t
This testcase does not work properly with 32bit systems as it houses an
older version of zlib which needs to be patched to work with 32bit
systems with 64bit time_t e.g. mips o32.
Apply a needed patch via sed logic to fix this issue.
Enable bundled zlib in build, which means we do not require zlib to be
available in SDK and it can be built for more variety of images.
Upgrade the testcase to use 5.3.1 release of assimp and add cmake option to
enable bundled zlib explicitly.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sat, 3 Feb 2024 05:59:16 +0000 (21:59 -0800)]
libxml-parser-perl: upgrade 2.46 -> 2.47
* Drop CheckLib.pm patch; no longer applies
* Change to CPAN_MIRROR for SRC_URI
* Drop SRC_URI[md5sum]
* Drop redundant ptest-perl/run-ptest; ptest-perl inherit does this
* Drop sed for Expat/Makefile; no longer shipped
* Inherit pkgconfig to find expat lib
* Patch Makefile.PL to not try to load host expat
License-Update: Use LICENSE file; change to Artistic-2.0
https://metacpan.org/dist/XML-Parser/changes
2.47 2023-12-28 (by Todd Rinaldo)
- #84 use $fh instead of $foo
- #85 Fix typo in documentation
- #89 Devel::CheckLib to from 0.99 -> 1.14
- Devel::CheckLibn 1.16
- #91 POD fix for verbatim text
- #97 Add a LICENSE file
- #94 Don't ship Expat/Makefile
- Various github workflow improvements. Windows is still not working.
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nick Owens [Thu, 1 Feb 2024 21:09:15 +0000 (13:09 -0800)]
systemd: recommend libelf, libdw for elfutils flag
when elfutils is enabled, the elf reading code of systemd will dlopen
libelf and libdw. these dependencies are not automatically detected and
will not work at runtime without them installed. add them to RRECOMMENDS
when elfutils is turned on in PACKAGECONFIG.
Wang Mingyu [Thu, 1 Feb 2024 05:53:45 +0000 (13:53 +0800)]
pkgconf: upgrade 2.0.3 -> 2.1.0
Changelog:
===========
* Do not flatten the solver solution into the original world used as
input to the solver.
* Fix warnings with GCC 14 -Walloc-size.
* Add --solution to the pkgconf CLI to dump the solver state.
* Improve the --digraph output to clarify cancelled edges in a given
solution.
* Demote requires dependencies to requires.private when a parent
dependency is pulled in via requires.private.
* Trim trailing whitespace when processing package arguments.
* Avoid strncmp() in --modversion version comparison.
* Update autoconf compile flag checking macro.
* Add system default path configuration to Meson.
* Fix order of PKG_CONFIG_LIBDIR and PKG_CONFIG_PATH element processing.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 05:23:49 +0000 (13:23 +0800)]
liburi-perl: upgrade 5.21 -> 5.25
Changelog:
==============
- cache scheme so it never attempt to load it again
- Really revert "use Scalar::Util::reftype instead of ref to check for
ARRAY"
- Revert the reftype change introduced in 5.22 as it causes warnings.
- Use Scalar::Util::reftype instead of ref to check for ARRAY
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 05:18:30 +0000 (13:18 +0800)]
libpng: upgrade 1.6.40 -> 1.6.41
Changelog:
===========
- Added SIMD-optimized code for the Loongarch LSX hardware.
- Fixed the run-time discovery of MIPS MSA hardware.
- Fixed an off-by-one error in the function 'png_do_check_palette_indexes',
which failed to recognize errors that might have existed in the first
column of a broken palette-encoded image. This was a benign regression
accidentally introduced in libpng-1.6.33. No pixel was harmed.
- Fixed, improved and modernized the contrib/pngminus programs, i.e.,
png2pnm.c and pnm2png.c
- Removed old and peculiar portability hacks that were meant to silence
warnings issued by gcc version 7.1 alone.
- Fixed and modernized the CMake file, and raised the minimum required
CMake version from 3.1 to 3.6.
- Allowed the configure script to disable the building of auxiliary tools
and tests, thus catching up with the CMake file.
- Fixed a build issue on Mac.
- Moved the Autoconf macro files to scripts/autoconf.
- Moved the CMake files (except for the main CMakeLists.txt) to
scripts/cmake and moved the list of their contributing authors to
scripts/cmake/AUTHORS.md
- Updated the CI configurations and scripts.
- Relicensed the CI scripts to the MIT License.
- Improved the test coverage.
License-Update: Copyright year updated to 2024.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 05:11:06 +0000 (13:11 +0800)]
libidn2: upgrade 2.3.4 -> 2.3.7
Changelog:
===========
-Really include tests/standalone.sh in tarball.
-Bump libtool version numbers to reflect API/ABI addition.
-Include tests/standalone.sh in tarball.
License-Update: Copyright year updated to 2024.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 04:21:55 +0000 (12:21 +0800)]
lzip: upgrade 1.23 -> 1.24
Changelog:
===========
* New options '--empty-error' and '--marking-error'.
* main.cc: Reformat file diagnostics as 'PROGRAM: FILE: MESSAGE'.
(show_option_error): New function showing argument and option name.
(main): Make -o preserve date/mode/owner if 1 input file.
(open_outstream): Create missing intermediate directories.
* lzip.h: Rename verify_* to check_*.
* configure, Makefile.in: New variable 'MAKEINFO'.
* testsuite: New test files fox6.lz, fox6_mark.lz.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 04:20:01 +0000 (12:20 +0800)]
libtest-warnings-perl: upgrade 0.032 -> 0.033
Changelog:
============
- add Test2 compatibility in the test triggered by done_testing();
- new long-awaited feature (!!!) "allow_patterns", to either
temporarily or globally exempt particular warning patterns
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Thu, 1 Feb 2024 03:20:22 +0000 (11:20 +0800)]
cpio: upgrade 2.14 -> 2.15
Changelog:
==========
* Fix operation of --no-absolute-filenames --make-directories
* Restore access and modification times of symlinks in copy-in
and copy-pass modes.
0001-configure-Include-needed-header-for-major-minor-macr.patch
revmoed since it's included in 2.15
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 2 Feb 2024 15:37:55 +0000 (15:37 +0000)]
pseudo: Update to pull in gcc14 fix and missing statvfs64 intercept
rpm 4.19 now builds with LFS64 support enabled by default,
so it calls statvfs64() to get the space available on the
filesystem it is installing packages into. This is not
getting caught by pseudo, so rpm is checking the host's
root filesystem, rather than the filesystem where the
build is happening.
Merge in that fix and a gcc14 fix.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Wed, 31 Jan 2024 10:20:18 +0000 (18:20 +0800)]
rpm: fix dependency for package config imaevm
The dependency `ima-evm-utils` of package config `imaevm` has been
removed during rpm upgrade. Add it back, otherwise it fails to run
do_configure when the package config `imaevm` enabled.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Claus Stovgaard [Thu, 1 Feb 2024 14:25:31 +0000 (15:25 +0100)]
kernel-devsrc: fix RDEPENDS for make
Since kernel version 6.6 the debian package rules has been split up into
a separate rules file, resulting in a runtime requirement for make.
See scripts/package/debian/rules
Remove the rules file, for not RDEPENDS on make for something we are
not using for building modules.
For reproducing the issue on a normal qemux86-64 machine, change to the
linux-yocto-dev kernel, add the kernel-devsrc to the toolchain target
task and disable ptest in distro features. (Notice ptest adds make as
RDEPENDS for other packages hiding the issue)
when populating sdk you will see dnf failing.
Problem: conflicting requests
- nothing provides /usr/bin/make needed by kernel-devsrc-1.0-r0.qemux86_64 from oe-repo
Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 1 Feb 2024 20:45:53 +0000 (14:45 -0600)]
tune-cortexr52: Add hard-float variant
Add the ability to specify cortexr52hf to get a version that enables the
hard-float calling convention.
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 1 Feb 2024 20:45:52 +0000 (14:45 -0600)]
tune-cortexr5: Add hard-float variant
Add the ability to specify cortexr5hf to get a version that enables the
hard-float calling convention.
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 1 Feb 2024 20:45:51 +0000 (14:45 -0600)]
feature-arm-vfp.inc: Allow hard-float on newer simd targets
Currently hard-float is dependency upon the special TUNE_CCARGS_MFPU which
contains custom -mfpu= values. However, newer 32-bit architectures like
cortex-r52 use 'simd' instead. There is no 'simd' entry for -mfpu=
according to the GCC manual, it's more or less automatic based on the
cpu settings.
Add this as an exception to the TUNE_CCARGS_FLOAT setting of hard or softfp.
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 1 Feb 2024 20:45:50 +0000 (14:45 -0600)]
tune-cortexa78.inc: Add cortexa78 tune, based on cortexa77
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rpm: override curl executable search with just 'curl'
rpm is searching for curl executable at do_configure time
and result is non-deterministic, depending on whether curl
is in native sysroot or not:
https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20240201-8dcic6ea/packages/diff-html/
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Quentin Schulz [Wed, 24 Jan 2024 13:34:13 +0000 (14:34 +0100)]
u-boot: add missing dependency on pyelftools-native
When TF-A is necessary in U-Boot binary, binman requires elftools to be
installed to be able to generate that U-boot ITB image.
TF-A is necessary for at least all Aarch64 machines, so that is a
non-negligible amount of boards that have this requirement.
As a side note, Rockchip-based machines didn't need this until commit 12c3e948eeab ("rockchip: Drop the FIT generator script") (v2023.04-rc1).
This is already in meta-rockchip, c.f.
https://git.yoctoproject.org/meta-rockchip/commit/recipes-bsp/u-boot?id=6127d169acf239a53df989f34a6b825fa182cc0c
but I feel like this makes more sense to be present in OE-Core.
Thomas Perrot [Tue, 30 Jan 2024 06:59:44 +0000 (07:59 +0100)]
opensbi: append LDFLAGS to TARGET_CC_ARCH
To solve the following GNU_HASH error:
ERROR: opensbi-1.4-r0 do_package_qa: QA Issue: File /share/opensbi/lp64/generic/firmware/fw_dynamic.elf in package opensbi doesn't have GNU_HASH (didn't pass LDFLAGS?)
File /share/opensbi/lp64/generic/firmware/fw_payload.elf in package opensbi doesn't have GNU_HASH (didn't pass LDFLAGS?)
File /share/opensbi/lp64/generic/firmware/fw_jump.elf in package opensbi doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]
It also should be done in a function, and just before writing out the
corrected filename to .spec, not earlier where the path may still
be needed for file operations (such as gettings file attributes).
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>
This line was added in 703e3faaec8c5a22, however
the default value of FILES:${PN} contains "${bindir}/*", so this directory does
not need to be explicitly added.
Colin McAllister [Fri, 26 Jan 2024 19:57:44 +0000 (13:57 -0600)]
initscripts: Add custom mount args for /var/lib
Adds bitbake variable to set additional mount flags for the /var/lib
overlayfs or bind mount when using a read-only root filesystem. This
can be used to set additional options like "-o nodev".
Signed-off-by: Colin McAllister <colin.mcallister@garmin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 26 Jan 2024 23:31:41 +0000 (15:31 -0800)]
armv8/armv9: Avoid using -march when -mcpu is chosen
Current include logic goes into generic arm v8/v9 architecture tunes and
adds corresponding -march option after synthesizing it from various tune
fragments, this is fine for a machine which is using armv8/armv9 based
tunes but cortex tunes are intentionally using -mcpu option based on
selected tune value. So when cortex based default tune is selected for a
machine, it will add both -mcpu and -march to the compiler commandline
which can result in invalid combinations for this pair in gcc's own
logic. This can then result in compiler warnings/errors reporting this
e.g.
aarch64-yoe-linux-gcc -mcpu=cortex-a72.cortex-a53 -march=armv8-a+crc+crypto -mbranch-protection=standard
...
cc1: error: switch '-mcpu=cortex-a72.cortex-a53' conflicts with '-march=armv8-a+crc+crypto' switch and resulted in options '+crc+crypto' being added [-Werror]
This is seen in lot of configure test results in glibc 2.39 and the
warning is promoted to errors by gcc in some of these checks especially
with gcc-14, the logs also show it as warning in other places in
configure checks.
mcpu option will compute relevant march implicitly as it specifies a cpu
implementation and this will be the right value to use, therefore do not
specify -march when -mcpu is already describing the cpu.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@arm.com> Cc: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Thu, 25 Jan 2024 21:03:54 +0000 (15:03 -0600)]
qemu: Allow native and nativesdk versions on Linux older then 4.17
Linux kernel 4.17 introduced two new mmap flags, MAP_FIXED_NOREPLACE and
MAP_SHARED_VALIDATE. Starting with QEMU 8.1, these flags are now used
and required for proper system operation. In order to build and run on a
system older then 4.17, we need to emulate this new behavior.
Not having a newer kernel could result in the mmap memory being allocated
in a way that will cause failures without QEMU checking for these
conditions. Note, memory allocation issues are rare in my experience so
this is more of a 'just-in-case' behavior.
SDK_OLDEST_KERNEL is currently set to 3.2.0, the only way this can claim
that qemu works in an SDK is by checking the return values to emulate
the expected behavior.
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Adrian Freihofer [Mon, 22 Jan 2024 13:58:25 +0000 (14:58 +0100)]
devtool: refactor deploy-target
Make the deploy function independent from d. This allows to call the
function also from Python code not running in bitbake.
This is needed to for the devtool ide plugin which will call the
do_install task and the code from devtool deploy-target independently
from a bitbake server. This allows a much quicker workflow.
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>
Adrian Freihofer [Mon, 22 Jan 2024 13:58:23 +0000 (14:58 +0100)]
devtool: refactor exec_fakeroot
Provide a function exec_fakeroot_no_d which does the same like
exec_fakeroot does, but is usable independenlty from bitbake. This
allows to use the fanction from scripts where the d variable is not
available.
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>
Adrian Freihofer [Mon, 22 Jan 2024 13:58:19 +0000 (14:58 +0100)]
cmake.bbclass: use --install
Since version 3.15 CMake provides a command-line signature to install an
already-generated project binary tree. This may be used after building a
project to run installation without using the generated build system or
the native build tool.
This is a small improvement, for regular bitbake calls. CMake does not
check the dependencies again which is expected to be faster.
The main motivation for this change is using CMake from an SDK context.
With this change it is possible to initiate the compile step from an
IDE and later on initiating the install step via bitbake which runs the
install step on pseudo.
This is also what the meson.bbclass already does with the --no-rebuild
option.
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>
** libgnutls: Fix assertion failure when verifying a certificate chain with a
cycle of cross signatures
[GNUTLS-SA-2024-01-09, CVSS: medium] [CVE-2024-0567]
** libgnutls: Fix regression in handling Ed25519 keys stored in PKCS#11 token
certtool was unable to handle Ed25519 keys generated on PKCS#11
with pkcs11-tool (OpenSC). This is a regression introduced in 3.8.2.
Martin Jansa [Tue, 30 Jan 2024 14:47:48 +0000 (15:47 +0100)]
qemu: fix target build with ccache enabled
* with ccache inheritted, the BUILD_CC is 'ccache gcc', but because of missing
quote it ends passing just ccache to host-cc which gets stripped and then
it calls compiler[0] on empty compiler variable and breaks meson as shown in:
http://errors.yoctoproject.org/Errors/Details/751436/
python version: Python 3.12.1
Traceback (most recent call last):
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/mesonmain.py", line 194, in run
return options.run_func(options)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 358, in run
app.generate()
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 181, in generate
return self._generate(env, capture, vslite_ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/msetup.py", line 203, in _generate
intr = interpreter.Interpreter(b, user_defined_options=user_defined_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 331, in __init__
self.parse_project()
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 132, in parse_project
self.evaluate_codeblock(self.ast, end=1)
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 198, in evaluate_codeblock
raise e
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 190, in evaluate_codeblock
self.evaluate_statement(cur)
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 204, in evaluate_statement
return self.function_call(cur)
^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/interpreterbase.py", line 530, in function_call
res = func(node, func_args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 260, in wrapper
return f(*nargs, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreterbase/decorators.py", line 579, in wrapper
return f(*wrapped_args, **wrapped_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1309, in func_project
self.add_languages(proj_langs, False, MachineChoice.BUILD)
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1476, in add_languages
success = self.add_languages_for(args, required, for_machine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/interpreter/interpreter.py", line 1519, in add_languages_for
comp = compilers.detect_compiler_for(self.environment, lang, for_machine, skip_sanity_check)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 115, in detect_compiler_for
comp = compiler_from_language(env, lang, for_machine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 112, in compiler_from_language
return lang_map[lang](env, for_machine) if lang in lang_map else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 614, in detect_c_compiler
return _detect_c_or_cpp_compiler(env, 'c', for_machine)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot-native/usr/lib/python3.12/site-packages/mesonbuild/compilers/detect.py", line 286, in _detect_c_or_cpp_compiler
compiler_name = os.path.basename(compiler[0])
~~~~~~~~^^^
IndexError: list index out of range
...
Project name: qemu
Project version: 8.2.0
C compiler for the host machine: ccache x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 (clang 17.0.6 "clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)")
C linker for the host machine: x86_64-oe-linux-clang -target x86_64-oe-linux -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -mlittle-endian --dyld-prefix=/usr -Qunused-arguments --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/qemu/8.2.0/recipe-sysroot -m64 -mcx16 ld.lld 17.0.6