Swrast has been removed from dri drivers, so as we need at least one
driver to enable dri in native/nativesdk, replace it with nouveau
(which does not take long to build).
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 19 Mar 2021 13:30:36 +0000 (13:30 +0000)]
selftest/wic: Fix dependency issue in rawcopy test
The current test code contains a subtle race. It is building an ext4,
then trying to reuse that image in a wic build for the same recipe.
Whilst this happened to work, the code is within its rights to clean
up the output before the wic code runs.
Avoid this by using separate image targets instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Li Wang [Fri, 12 Mar 2021 09:52:50 +0000 (17:52 +0800)]
linux-dummy: add empty dependent packages
some kernel includes kernel-image-image and kernel-devicetree packages.
these patckages are defined in kernel.bbclass
but, when use linux-dummy, these packages are not defined.
so, define them as empty packages for avoiding compile error:
ERROR: Nothing RPROVIDES 'kernel-devicetree'
Signed-off-by: Li Wang <li.wang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dorinda Bassey [Thu, 18 Mar 2021 15:49:40 +0000 (16:49 +0100)]
devshell.bbclass: Exceptions displayed within devpyshell
If you type something into devpyshell, an exception should be triggered,
but that exception isn't printed out because it is not being flushed out
of the buffer. This patch fixes that issue.
[YOCTO #12156]
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ming Liu [Thu, 18 Mar 2021 12:47:58 +0000 (13:47 +0100)]
kernel-fitimage.bbclass: support both KERNEL_DEVICETREE/EXTERNAL_KERNEL_DEVICETREE
There are user cases that a developer wants to add both in-tree and
out-of-tree devicetrees to fitimage, and this is quite normal, for
instance, a developer might need the devicetrees from kernel source
meanwhile maintaining his/her own devicetree overlays to be applied
on top of them.
To support that, we now allow KERNEL_DEVICETREE and
EXTERNAL_KERNEL_DEVICETREE to be both set in configuration files, and
the devicetrees in EXTERNAL_KERNEL_DEVICETREE have higher priority to
override the same names in KERNEL_DEVICETREE.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adrian [Mon, 15 Mar 2021 15:01:10 +0000 (16:01 +0100)]
weston-init: Set $HOME variable for SysVinit manager
SysVinit sets by default the $HOME directory to "/" for the init scripts.
It's picked then by the weston-launcher and make weston-terminal to have
wrongly set $HOME environment variable for the root user.
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Douglas Royds [Wed, 17 Mar 2021 23:25:14 +0000 (12:25 +1300)]
cmake: Fully-qualified path to ar
We (correctly enough) pass in our AR to cmake via the toolchain file,
but unlike the other cross-compilation tools (CC, CXX, ranlib, etc),
cmake does not then do its own search in the PATH for our AR.
By using cmake's own find_program() to search the PATH,
make works as expected from the commandline, outside of bitbake.
Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Lee Chee Yang [Thu, 4 Mar 2021 14:44:06 +0000 (22:44 +0800)]
cve-update-db-native: consider version suffix when update CVE db
some record from NVD can merge or split suffix from version, for
example:
CVE-2017-15906
"cpe23Uri" : "cpe:2.3:a:openbsd:openssh:5.0:p1:*:*:*:*:*:*"
"cpe23Uri" : "cpe:2.3:a:openbsd:openssh:4.7p1:*:*:*:*:*:*:*"
in such case include the suffix into version when update local CVE db.
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 17 Mar 2021 20:24:58 +0000 (13:24 -0700)]
webkitgtk: Add packageconfig to chose between size and speed
This packageconfig when selected will use -Os -DNDEBUG instead of -O2
-DNDEBUG, which should generate smaller binaries and libs but perhaps at
the expense of some runtime performance, defaults are kept as it is
Awais Belal [Wed, 17 Mar 2021 14:06:44 +0000 (19:06 +0500)]
libsdl2: disable shared memory for native builds
libsdl2 currently does not handle the failures that
occur due to shared memory in case of remote hosts
where it should ideally switch to socket based writing
when a failure is seen with shared memory.
Consider a scenario where a qemu build is done with
graphics support on a build machine and then accessed
remotely using ssh. If the remote host's X presents
MIT-SHM as an extension, launching qemu fails with
runqemu - ERROR - Failed to run qemu: X Error: BadValue
Request Major code 130 (MIT-SHM)
Request Minor code 3 ()
This is most often seen when the remote machine doing
ssh is a Ubuntu 20.04. The libsdl2 native are mainly
used for qemu at this time so it is a major usecase.
A report of such a failure was also presented at
https://lists.yoctoproject.org/g/poky/topic/78854857
Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Mar 2021 19:38:02 +0000 (19:38 +0000)]
ovmf: make output binaries reproducible
OVMF is mostly reproducible, but the final .efi binaries have a 'NM10'
segment in that references the original input file, and this input file
has the build path in.
This can be solved by passing --zero to GenFw so that this segment is
zero'd out in release builds.
[ YOCTO #14264 ]
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Michael Trensch [Tue, 16 Mar 2021 20:26:38 +0000 (20:26 +0000)]
linux-firmware: Fix packaging
Upstream directory layout has changed after update in commit 3c2f8b750ab9c53773fb5a9a1a874e475740b4ee, resulting in some package to pull in linux-firmware base package.
This may cause an image size increase of approximately 700MB.
See log.do_packaging:
DEBUG: linux-firmware-bcm43340 contains dangling link /lib/firmware/cypress/cyfmac43340-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43362 contains dangling link /lib/firmware/cypress/cyfmac43362-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4339 contains dangling link /lib/firmware/cypress/cyfmac4339-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43430 contains dangling link /lib/firmware/cypress/cyfmac43430-sdio.clm_blob
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43430 contains dangling link /lib/firmware/cypress/cyfmac43430-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43455 contains dangling link /lib/firmware/cypress/cyfmac43455-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43455 contains dangling link /lib/firmware/cypress/cyfmac43455-sdio.clm_blob
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4354 contains dangling link /lib/firmware/cypress/cyfmac4354-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4356 contains dangling link /lib/firmware/cypress/cyfmac4356-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4356-pcie contains dangling link /lib/firmware/cypress/cyfmac4356-pcie.clm_blob
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4356-pcie contains dangling link /lib/firmware/cypress/cyfmac4356-pcie.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm43570 contains dangling link /lib/firmware/cypress/cyfmac43570-pcie.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-bcm4373 contains dangling link /lib/firmware/cypress/cyfmac4373-sdio.bin
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0099-0001_2x10.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0099-0001_2x25.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0081-0001_4x10.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0097-0001_8x10.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0099-0001_1x10_1x25.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0097-0001_2x40.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0096-0001_2x10.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0097-0001_4x10_1x40.nffw
DEBUG: target found in linux-firmware
DEBUG: linux-firmware-netronome contains dangling link /lib/firmware/netronome/nic/nic_AMDA0081-0001_1x40.nffw
DEBUG: target found in linux-firmware
Signed-off-by: Michael Trensch <mtrensch@hilscher.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Luca Boccassi [Tue, 16 Mar 2021 11:38:36 +0000 (11:38 +0000)]
util-linux: backport patch to skip build of unused objects
util-linux-uuid does not need libtcolors.a and libcommon.a but
they get build regardless. Backport a patch from upstream to
skip them and save some compilation time.
Richard Purdie [Mon, 15 Mar 2021 23:48:34 +0000 (23:48 +0000)]
meson: Work around determinism issue
The meson determinism issue is the same frozenset issue we encountered with
python itself. Remove the problematic pyc file until upstream work out the
best way to address the issue (as with core python).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Thu, 11 Mar 2021 08:46:22 +0000 (00:46 -0800)]
image.bbclass: deltask do_packagedata
This can fix a do_package error when compile with meta-secure-core layer:
http://layers.openembedded.org/layerindex/branch/master/layer/meta-secure-core/
$ bitbake kernel-initramfs
[snip]
WARNING:kernel-initramfs-1.0-r0 do_package: Manifest
build/tmp-glibc/sstate-control/manifest-x86_64_x86_64-nativesdk-secure-core-image-initramfs.packagedata
not found in intel_x86_64 corei7-64 core2-64 x86_64 allarch x86_64_x86_64-nativesdk (variant '')?
[snip]
This is because kernel-initramfs wants to pack an initramfs image into
kernel-initramfs.rpm which adds a dependency in kernel-initramfs.bb to do this:
This causes kernel-initramfs' do_package depends on
${INITRAMFS_IMAGE}:do_image_complete's do_packagedata, then we will get the
error. Delete do_packagedata as other do_package relelated tasks for the image
recipe will fix the error.
RP: There is a side effect from this change which means that image
tasks will no longer run their fetch/unpack/configure/compile/install
tasks as these become detached from the dependency chain. The standard
tasks are noexec or deleted anyway already so this shouldn't be a
significant change.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dorinda Bassey [Sun, 14 Mar 2021 12:58:03 +0000 (13:58 +0100)]
distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTION
This test is to keep track of recipes that do not have a HOMEPAGE or DESCRIPTION,
with exceptions to recipes whose SRC_URI are not linked to external sources.
Results of this test: it take about 2 to 3 minutes for this test to complete execution
depending on the laptop used, Recipes that didn't have a homepage or description were found,
and using list data structure instead of set() returned an ordered list of recipes that
didn't have a homepage. Hence it's easier to view recipes with missing homepage and description.
[YOCTO #13471]
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 12 Mar 2021 07:26:25 +0000 (23:26 -0800)]
libunwind: Link with libucontext on musl
Functions like unw_getcontext in libunwind call getcontext() which are
not part of musl C library like glibc, however there is a supplimental
library providing these functions called libucontext, therefore link
libunwind with a static version of this library to resolve such symbols,
this inturn helps packages needing libunwind, who look for certain
APIs in libunwind during configure e.g. heaptrack
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 12 Mar 2021 06:21:07 +0000 (22:21 -0800)]
go-dep: Remove
go-dep was an effort for dependency management before go modules, which
since 2020 has been deprecated in favor of go modules. Since its not
developed any longer and go mdules is officially supported, this should
be retired from OE-core as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Otavio Salvador <otavio.salvador@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi [Fri, 5 Mar 2021 10:10:40 +0000 (18:10 +0800)]
populate_sdk_ext: record METADATA_REVISION
As we delete the .git/ directory, it's impossible to get METADATA_REVISION
inside eSDK. Because of this, we meet the following warning when installing eSDK.
license.bbclass: Improve parsing time when INCOMPATIBLE_LICENSES is big
The commit 08cbf1748 (licenses: Update INCOMPATIBLE_LICENSE for
'or-later' handling) increased the parsing time considerably if there
are many licenses in INCOMPATIBLE_LICENSE. Reorganize the code to get
almost all the time back.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The do_kernel_configme task is no longer part of SRCTREECOVEREDTASKS,
its been removed from the kernel-yocto.bbclass since b72dbb2e4, but
there wasnt a matching patch for devtool for those changes.
This patch enables us to invoke the do_kernel_configme task when
using a devtool workspace, it also prepends a check for an existing
.config file in the source directory and moves it if thats the case,
since when using devtool modify a .config is created and
do_kernel_configme complains about it, this is not the case when
using bitbake since the .config file would be on B instead.
Alowing do_kernel_configme to run also fixes the flow where testing a
new config fragment from devtool workspace isnt added properly
(config queue shows it as ///frg.cfg) and as a side effect it never
gets merged into the final config.
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alhe@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Fri, 12 Mar 2021 14:33:18 +0000 (15:33 +0100)]
iso-codes: fix protocol in SRC_URI
* it doesn't listen on http and the redirect sometimes doesn't work
WARNING: iso-codes-4.6.0-r0 do_fetch: Failed to fetch URL git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http;branch=main;, attempting MIRRORS if available
The protocol should be changed to https, like all other salsa.debian.org pulls are, so that it doesn't depend on mirrors.bbclass to resolve this.
meta/classes/mirrors.bbclass:git://salsa.debian.org/.* git://salsa.debian.org/PATH;protocol=https \n \
from log.do_fetch:
DEBUG: Fetcher accessed the network with the command LANG=C git -c core.fsyncobjectfiles=0 fetch -f --progress http://salsa.debian.org/iso-codes-team/iso-codes.git refs/*:refs/*
fatal: unable to access 'http://salsa.debian.org/iso-codes-team/iso-codes.git/': Couldn't connect to server
WARNING: Failed to fetch URL git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http;branch=main;, attempting MIRRORS if available
...
warning: redirecting to https://salsa.debian.org/iso-codes-team/iso-codes.git/
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
uninative-tarball: Add a dependency on nativesdk-glibc-dbg
This adds the debug symbols for the binaries included in the uninative
tar ball. These are needed if one wants to run valgrind on a native
binary when uninative is used. Or get complete backtraces using gdb.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Luca Boccassi [Thu, 11 Mar 2021 15:09:59 +0000 (15:09 +0000)]
util-linux: split uuid in separate recipe to allow bootstrapping
Recently util-linux gained an (optional) build dependency on libcryptsetup.
But libcryptsetup build-depends on util-linux for blkid (optional, can be disabled)
and uuid (mandatory).
Split out util-linux-uuid in a different recipe to break the cycle.
https://github.com/karelzak/util-linux/pull/898
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Thu, 11 Mar 2021 01:52:14 +0000 (20:52 -0500)]
perf: reproducibility fixes for pmu-events.c
perf generates pmu-events.c as part of the build process. The
code that generates the events is doing tree walks and potentially
other non-determinstic things.
We'd rather not mess with that implementation, so we add a script
that knows how to read the pmu-events.c, sort the entries and then
copy it over the generated one.
With this, we should always have events in the same order, improving
reproducibility.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Mon, 1 Mar 2021 14:16:33 +0000 (22:16 +0800)]
toolchain-scripts.bbclass: customize prompt string for SDKs
Introduce a new variable SDK_PS1 to customize prompt string for SDKs
when source script environment-setup-script. If variable SDK_PS1 is not
set or empty, nothing changed. Otherwise new PS1 with the value of
SDK_PS1 is used after source the sdk environment file.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jon Mason [Wed, 10 Mar 2021 23:05:33 +0000 (18:05 -0500)]
runqemu: modify novga to conform to documentation
Passing 'novga' only adds '-vga none' to the qemu commandline and does
not prevent other vga devices from being added, contrary to the
documentation/help. Clean-up the vga logic and add the ability to
prevent other vga devices from being added.
Signed-off-by: Jon Mason <jon.mason@arm.com>
Change-Id: I7ff8f9f3e419ce8bae3f3847d75f9275ca30406a Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jon Mason [Wed, 10 Mar 2021 23:05:32 +0000 (18:05 -0500)]
runqemu: correct forcing of ttyS0
Some platforms do not use ttyS* for their serial consoles (e.g., qemuarm
and qemuarm64). The hardcoding of this can cause issues. Modify
runqemu to use the serial consoles defined in SERIAL_CONSOLES instead of
hardcoding.
Signed-off-by: Jon Mason <jon.mason@arm.com>
Change-Id: I746d56de5669c955c5e29d3ded70c0a4d3171f17 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jon Mason [Wed, 10 Mar 2021 23:05:31 +0000 (18:05 -0500)]
runqemu: add QB_GRAPHICS
Add a new runqemu field for VGA devices. Currently, these are being set
in QB_OPT_APPEND, which can make them difficult to override if importing
the config file into another one.
Signed-off-by: Jon Mason <jon.mason@arm.com>
Change-Id: I8cb9527954c5b06c083c42fe2466cb3338584b7d Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>