python3-native: further tweak to sysconfig.py to find python includes correctly
Without this, sysconfig would report the target location, which is not
what we want in cross-builds. This is used in particular by
latest autoconf-archive m4 macros, which have migrated from
(removed in py 3.12) distutils to setuptools.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tcmode-default.inc: set LLVMVERSION to a major version wildcard
There is no longer need to be specific: none of the recipes
using this variable in core need to know the particular version
of llvm exactly when using the default one set via PREFERRED_VERSION
from LLVMVERSION.
This as well enables automated version updates of llvm
for minor releases.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* and switch from tar.gz to tar, because the tar.gz archives upstream are regular tar as well now
https://www.w3.org/XML/Test/ still has 3 separate URLs for .zip, .tar
and .tar.gz, but both tar links return the same file:
xmlts20130923.tar: POSIX tar archive (GNU)
xmlts20130923.tar.gz: POSIX tar archive (GNU)
xmlts20130923.zip: Zip archive data, at least v1.0 to extract, compression method=store
-rw-r--r-- 1 martin martin 5.7M Sep 23 2013 xmlts20130923.tar
-rw-r--r-- 1 martin martin 5.7M Sep 23 2013 xmlts20130923.tar.gz
-rw-r--r-- 1 martin martin 1.6M Sep 23 2013 xmlts20130923.zip
Luis [Sat, 24 Dec 2022 01:49:46 +0000 (01:49 +0000)]
rm_work.bbclass: use HOSTTOOLS 'rm' binary exclusively
The do_rm_work() task is using the first available 'rm' binary
available in PATH to remove files and folders.
However, depending on the PATH setup and RECIPE_SYSROOT_NATIVE
contents, the function can be using the 'rm' binary available
in RECIPE_SYSROOT_NATIVE, a folder that will get removed.
This causes a sporadic race-condition when trying to access the
'rm' binary of a folder already deleted.
Solve this by exclusively using the HOSTTOOLS 'rm' binary, as
this folder will not get removed.
Signed-off-by: Luis Martins <luis.pinto.martins@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Thu, 24 Nov 2022 02:55:28 +0000 (18:55 -0800)]
selftest: allow '-R' and '-r' be used together
For now, there's no easy way to skip some specified tests when
using 'oe-selftest -r'. This is because '-R' and '-r' are in the
mutually exclusive group. Looking at the codes, the codes have already
allowed running specified tests and skipping specified tests at
the same time. So move '-R' out of the mutually exclusive group
and change its help message.
After this change, the following command could be used.
oe-selftest -r A -R A.B.C
This does introduce a behavior regression.
Previous 'oe-selftest -R xxx' needs to now be changed to
'oe-selftest -a -R xxx'.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Wed, 21 Dec 2022 12:52:58 +0000 (12:52 +0000)]
libstd-rs: Move source directory to library/test
Building libstd-rs from library/std omits proc_macro from the sysroot.
Using library/test causes that to be installed which then allows cargo
to build (https://github.com/meta-rust/meta-rust/issues/266)
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Fri, 23 Dec 2022 03:38:40 +0000 (11:38 +0800)]
base.bbclass: Fix way to check ccache path
The previous code had 2 issues:
1. make hosttools/ccache always link to host's ccache (/usr/bin/ccache)
even we have one buildtools
2. make hosttools/gcc etc, link to host's gcc event we have one
buildtools when keyword ccache in buildtools's path, eg:
/mnt/ccache/bin/buildtools
This patch is for fix above issues.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 21 Dec 2022 23:20:23 +0000 (23:20 +0000)]
oeqa/concurrencytest: Add number of failures to summary output
When running oe-selftest and seeing the end of a running log, it is
extremely helpful to know if there have been failures or not to save
looking at the rest of the log. Add the number of failures to the summary
line so that people monitoring builds have an easier time before the end
totals are printed.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy MacLeod [Thu, 22 Dec 2022 19:17:53 +0000 (14:17 -0500)]
valgrind: skip the boost_thread test on arm
This test is failing on the arm workers only so skip there until the issue
can be worked on and resolved. The bug #14311 will remain open for tracking.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 21 Dec 2022 11:05:56 +0000 (19:05 +0800)]
gstreamer1.0: upgrade 1.20.4 -> 1.20.5
Changelog:
===========
systemclock waiting fixes for certain 32-bit platforms/libcs
alphacombine: robustness improvements for corner case scenarios
avfvideosrc: Report latency when doing screen capture
d3d11videosink: various thread-safety and stability fixes
decklink: fix performance issue when HDMI signal has been lost for a long time
flacparse: Fix handling of headers advertising 32 bits per sample
mpegts: Handle when iconv doesn't support ISO 6937 (e.g. musl libc)
opengl: fix automatic dispmanx detection for rpi4 and fix usage of eglCreate/DestroyImage
opusdec: Various channel-related fixes
textrender: event handling fixes, esp. for GAP event
subparse: Fix non-closed tag handling
videoscale: fix handling of unknown buffer metas
videosink: reverse playback handling fixes
qtmux: Prefill mode fixes, especially for raw audio
multiudpsink: allow binding to IPv6 address
rtspsrc: Fix usage of IPv6 connections in SETUP
rtspsrc: Only EOS on timeout if all streams are timed out/EOS
splitmuxsrc: fix playback stall if there are unlinked pads
v4l2: Fix SIGSEGV on state change during format changes
wavparse robustness fixes
Fix static linking on macOS (opengl, vulkan)
gstreamer-vaapi: fix headless build against mesa >= 22.3.0
GStreamer Editing Services library: Fix build with tools disabled
webrtc example/demo fixes
unit test fixes for aesdec and rtpjitterbuffer
Cerbero: Fix ios cross-compile with cmake on M1; some recipe updates and other build fixes
Binary packages: pkg-config file fixes for various recipes (ffmpeg, taglib, gstreamer)
Binary packages: Enable high bitdepth support for libvpx (VP8/VP9 encoding/decoding)
Binary packages: ship aes plugin
Miscellaneous bug fixes, memory leak fixes, and other stability and reliability improvements
Performance improvements
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Wang Mingyu [Wed, 21 Dec 2022 03:01:01 +0000 (11:01 +0800)]
psmisc: upgrade 23.5 -> 23.6
Changelog:
=========
* buildsys: Fix DEJAGNU work-around Debian #1015089
* killall: Use kill if pidfd_send_signal fails Debian #1015228
* fuser: Do not mention nonexistent - reset option #42
* fuser: Use modern statn where possible
* pstree: Better AppArmor support !30
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Tue, 20 Dec 2022 12:55:41 +0000 (12:55 +0000)]
gtk+3: fix reproducible builds
We can't drop the missing meson.build file into the build tree via SRC_URI
as then the timestamp of that file becomes the timestamp of the build,
which results in repeated builds having different timestamps.
Instead patch the file into the build, which doesn't change the SDE
every build.
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>
recipes: Enable nativesdk for gperf, unifdef, gi-docgen and its dependencies
I'm building a SDK (bitbake task: populate_sdk) for WPE/WebKit
development [1] and I need the tools below to be extended with the class
nativesdk. They work fine on the SDK after this change.
The needs are because:
1) gperf and unifdef are required by the WebKit build system at build
time.
2) gi-docgen is required by the WebKit build system when CMake option
'ENABLE_DOCUMENTATION' is enabled, and gi-docgen itself depends on
the following python modules that also need to enable nativesdk:
python3-markdown, python3-smartypants and python3-typogrify
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rust: Enable building rust from stable, beta and nightly channels
Rust follows the train release model via the stable, beta and nightly channels,
by default we build rust from the stable channel, however there are certain
features which are only available in the beta or nightly channels.
Make these channels available by setting a RUST_CHANNEL variable which defaults
to stable making this change transparent to the user.
The snapshot version used by rust during its compilation wont necessarily match
the version being built, specially if were building from an unstable channel,
to avoid confusion rename this to SNAPSHOT_VERSION and use RUST_VERSION for the
version to be built, which is automatically defined to PV.
Append -beta or -nightly to rusts PV for signature awareness.
It is important to note that this does not build rust from the beta/nightly
published tarball (which today build rust v1.67.0 and v1.68.0 respectively),
instead this builds rust from the current selected version (1.66.0) and enables
the beta/nightly features for that version.
Setting the variable RUST_CHANNEL=nightly results in the following:
Mikko Rapeli [Wed, 14 Dec 2022 08:54:25 +0000 (10:54 +0200)]
runqemu: add QB_SETUP_CMD and QB_CLEANUP_CMD
These enable running custom shell setup and cleanup commands
before and after qemu. Enables machine configurations to for
example run qemu with swtpm to emulate TPM devices.
Example config with meta-tpm2 based swtpm in machine config:
* image recipe depens on swtpm-native to get the native tools to PATH,
same handling as qemu itself
* in this case, swtpm daemon stops automatically with qemu machine, but
QB_CLEANUP_CMD could be used to kill a specific process and wipe
temporary files
Now runqemu and testimage.bbclass can be used with swtpm.
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 15 Dec 2022 08:45:42 +0000 (00:45 -0800)]
acl: Enable largefile support by default
This ensures right flags are passed so enable it. Musl and decoupled
these APIs from _GNU_SOURCE and now are only available when
_LARGEFILE64_SOURCE macro is enabled
ptest-packagelists.inc: correctly assign fast and slow tests
The execution times were checked from
https://autobuilder.yocto.io/pub/non-release/20221127-2/testresults/qemux86-64-ptest/core-image-ptest-all/log.do_testimage.40537.20221127010849
and ptests were moved both ways according to the same criteria:
more than 30 seconds or less.
openssl is dropped from fast tests, as it is also listed in slow
tests (which is correct).
With the rearrangement fast ptests altogether take about 420 seconds
on qemux86_64 with kvm.
m4 ptest was missing a depedency.
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>
devtool/upgrade: correctly handle recipes where S is a subdir of upstream tree
'devtool modify' writes additional settings to workspace .bbappend so that this
can be handled correctly, but 'devtool upgrade' does not. This adds the missing
settings.
In particular, local files should not anymore mysteriously disappear from
SRC_URIs on upgrades.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Khem Raj [Wed, 14 Dec 2022 03:20:29 +0000 (19:20 -0800)]
libpcre2: Upgrade to 10.42
10.41 regressed apps which were using pcre2posix.h without pcre2.h
mariadb is one such application in meta-oe which broke, this immediate
upgrade helps fixing these sort of apps. See [1] and [2]
Ross Burton [Tue, 13 Dec 2022 16:14:07 +0000 (16:14 +0000)]
meson: no need to rebuild on install
On install, Meson will rebuild targets which don't define their
dependencies, as it can't know if they need to be rebuilt or not.
This includes gtk-doc, which can be slow to run. As we control the
execution of meson we know that a rebuild isn't required, so we can pass
--no-rebuild and speed up the install task.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Marta Rybczynska [Wed, 14 Dec 2022 18:45:19 +0000 (19:45 +0100)]
efibootmgr: update compilation with musl
Since the commit 005b6aba89eaf1b79fdd7565dd028fdd9bbfcc7d
(efivar: add musl libc compatibility) efibootmgr compiles with
musl too. Update the variable to take that into account.
Signed-off-by: Marta Rybczynska <marta.rybczynska@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Upstream has added Unicode Terms of Use license
(Unicode-TOU). Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Fri, 16 Dec 2022 12:06:31 +0000 (12:06 +0000)]
rust: Install target.json for target rustc
As part of the merging builds, installation of target.json was lost
causing `rustc` to fail on startup with:
error: Error loading target specification: Could not find specification for target "aarch64-poky-linux-gnu". Run `rustc --print target-list` for a list of built-in targets
We know the full target specification, so just install it directly
rather than using the glob approach from previously.
Fixes: b9b0cd99cdc7 ("rust: Enable nativesdk and target builds + replace rust-tools-cross-canadian") Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
LICENSE for curl is set to MIT-open-group which is wrong and proper
license is 'curl'
I check below link and the line "Curl and libcurl are licensed under
the license below, which is inspired by MIT/X, but not identical." says
that the license is identical to MIT but actual license is identical
from the file "meta/files/common-licenses/curl" Link: https://curl.se/docs/copyright.html
Also, I do not find the MIT-open-group license text in the entire
source-code
Marek Vasut [Sat, 17 Dec 2022 04:57:38 +0000 (05:57 +0100)]
package_rpm: Fix Linux 6.1.0 perf 1.0 version mistranslation
With Linux 6.1.0 and perf 1.0-r9, a build which includes perf-dev fails due
to perf-dev depending on perf 6.6.1.0-r9 . This is because translate_vers()
operates on perf-dev and mangles its version. The following scenario occurs:
ver=6.1.0-r9
pv=1.0
pkgv=6.1.0
reppv=6.1.0
With Linux 6.1.0, a corner case is hit where pv is a substring of ver, which
yields this corrupted version 6.6.1.0-r9 . Example in python3:
Richard Purdie [Fri, 16 Dec 2022 11:15:26 +0000 (11:15 +0000)]
bitbake.conf: Add module function vardepsexclude entries
Now that bitbake can look into python module code variable and function
dependencies, there are a few extra basic variables we need to exclude.
This is done per function since it keeps the main exclusion list cleaner
and is also slightly faster.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patrick Williams [Mon, 12 Dec 2022 22:18:08 +0000 (16:18 -0600)]
kernel-fitimage: reduce dependency to the cpio
In order to build a fitimage, we don't need the image to be "complete"
but we need the cpio portion of it built since the cpio is what ends
up inside the FIT. By reducing the dependency to `do_image_cpio` we
are able to include an image's rootfs as the ramdisk for a FIT and
then bundle that FIT into a larger SPI flash layout.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Ross Burton [Mon, 12 Dec 2022 17:35:47 +0000 (17:35 +0000)]
gtk+3: upgrade 3.24.34 -> 3.24.35
The gtktypefuncs.c removal is obsolete as that file isn't in the tarball
anymore, so remove it.
However the wayland-scanner files are still in the tarball despite
efforts to stop this, so generalise the removal to ensure it covers all
files which may be affected. Further investigation will be needed to
see if this is still an issue.
Rebase 0003-Add-disable-opengl-configure-option.patch.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>