]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/log
thirdparty/openembedded/openembedded-core-contrib.git
6 years agostaging: Drop clean_recipe_sysroot
Richard Purdie [Thu, 18 Jul 2019 11:46:12 +0000 (12:46 +0100)] 
staging: Drop clean_recipe_sysroot

With recent changes to runqueue, this fuction is unsafe as setscene tasks can run
at the same time as normal ones and doing things before do_fetch no longer
offers any guarantees.

There is other code which cleans out things from the sysroots as tasks rerun so
we should rely upon that instead.

(From OE-Core rev: 27ce69861edb7e52078b59ebf8fefc9201e9a228)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoconf/poky: add Fedora 30 and Opensuse Leap 15.1 to supported distributions
Ross Burton [Thu, 18 Jul 2019 11:53:51 +0000 (12:53 +0100)] 
conf/poky: add Fedora 30 and Opensuse Leap 15.1 to supported distributions

(From meta-yocto rev: a287de83c5d92492a6d2f88c1e86fc11f1b6f310)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoref-manual: Removed "python2" mention in example.
Scott Rifenbark [Tue, 2 Jul 2019 23:44:34 +0000 (16:44 -0700)] 
ref-manual: Removed "python2" mention in example.

We are not using Python2.  I removed this instance in the ref
manual. The variable "PYTHON_PN" referenced Python 2.  It no
longer does.

(From yocto-docs rev: bd2ed0c640e12e8010ebff0aaba77e8fe367d63e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoref-manual: Fixed typo for BBMULTICONFIG variable.
Scott Rifenbark [Tue, 2 Jul 2019 23:14:17 +0000 (16:14 -0700)] 
ref-manual: Fixed typo for BBMULTICONFIG variable.

There was a typo in the BBMULTICONFIG variable description.
It appeared as "BBMULTIFONFIG". I fixed it.

(From yocto-docs rev: c53b1bb6e588f9ee87cb8ab85fc8c3985257a37a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agodev-manual: Provided proper link title
Scott Rifenbark [Thu, 27 Jun 2019 21:03:59 +0000 (14:03 -0700)] 
dev-manual: Provided proper link title

In the "Enabling GObject Introspection Support" section, a link
existed to the "Known Issues" section further down in the
chapter.  The target of the link was missing and appeared as the
placeholder "xxx".  I put in the proper link.

(From yocto-docs rev: 8d0d1b2104f08e888075bc0ae0bed4f0ec2f4ea6)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agosdk-manual: Updated devtool to talk about oe-local-files.
Scott Rifenbark [Tue, 25 Jun 2019 19:50:14 +0000 (12:50 -0700)] 
sdk-manual: Updated devtool to talk about oe-local-files.

Fixes YOCTO #13079

Bug is about making sure the section on the devtool command
talks about oe-local-files.  Two devtool commands (modify
and upgrade) needed to mention the role of the oe-local-files
area and how it is used during these commands.  I updated the
appropriate sections:

 * Use devtool modify to Modify the Source of an Existing Component
 * Use devtool upgrade to Create a Version of the Recipe that
   Supports a Newer Version of the Software.

(From yocto-docs rev: 70ed68eca6dcb5b1f1b5638fd27a7b513b65661e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agooverview-manual: Fixed manual history table
Scott Rifenbark [Mon, 24 Jun 2019 22:03:37 +0000 (15:03 -0700)] 
overview-manual: Fixed manual history table

Missing information for some of the releases put back in.

(From yocto-docs rev: f4c09ab9eda925c16946d9d6cf58d1e40d8f6a07)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Fix non setscene tasks targets being lost
Richard Purdie [Wed, 17 Jul 2019 21:46:12 +0000 (22:46 +0100)] 
bitbake: runqueue: Fix non setscene tasks targets being lost

If you specify both setscene and non-setscene tasks on the commandline, the
non-setscene tasks could be missed, e.g. "bitbake X:do_patch X:do_populate_sysroot"
and do_patch would fail to run.

Fix the problem in runqueue and add a testcase.

(Bitbake rev: 75292fdec5d9c0b5b3c554c4b7474a63656f7e12)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agopkgconf: upgrade 1.6.1 -> 1.6.3
Ross Burton [Wed, 17 Jul 2019 20:54:32 +0000 (21:54 +0100)] 
pkgconf: upgrade 1.6.1 -> 1.6.3

(From OE-Core rev: 4a69bf5ae3328d124a7607a52333643ebf7ec0b3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agopiglit: upgrade to latest revision
Ross Burton [Wed, 17 Jul 2019 20:54:31 +0000 (21:54 +0100)] 
piglit: upgrade to latest revision

(From OE-Core rev: 6ee8d724bb7347a47395709df9d16e32abc9e06e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agopackage_manager: Ensure the base-feed directory exists
Alistair Francis [Wed, 17 Jul 2019 20:53:40 +0000 (13:53 -0700)] 
package_manager: Ensure the base-feed directory exists

Ensure that the /etc/opkg directory exists before we try to create a
file there.

(From OE-Core rev: 30ff50223cd0b79fd3b8aa393ea1e621282773ac)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoqemurunner.py: Be more verbose about problems
Alistair Francis [Wed, 17 Jul 2019 20:52:10 +0000 (13:52 -0700)] 
qemurunner.py: Be more verbose about problems

Instead of hiding problems in the debug log let's print them as warnings
instead.

(From OE-Core rev: 088f5d97001bd4b573f00cfca93b8d24e814fd64)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoopensbi: Fix installed-vs-shipped warning
Alistair Francis [Wed, 17 Jul 2019 20:51:49 +0000 (13:51 -0700)] 
opensbi: Fix installed-vs-shipped warning

Fix the following warning by just deleting the files:
WARNING: opensbi-0.4-r0 do_package: QA Issue: opensbi: Files/directories were installed but not shipped in any package:
  /lib
  /lib/libsbiutils.a
  /lib/libsbi.a

(From OE-Core rev: ecbf494b26db71076ad74902a75a3205c849d81e)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoxkeyboard-config: remove redundant intltool dependency
Ross Burton [Wed, 17 Jul 2019 20:09:49 +0000 (21:09 +0100)] 
xkeyboard-config: remove redundant intltool dependency

Upstream now uses plain gettext.

(From OE-Core rev: 0fd2b3318a7fb9bf8eeb760f82fe796f5b29643f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoltp: getrlimit03: adjust-a-bit-of-code-to-compatiable-with mips32
Hongzhi.Song [Wed, 17 Jul 2019 09:50:39 +0000 (02:50 -0700)] 
ltp: getrlimit03: adjust-a-bit-of-code-to-compatiable-with mips32

Error info:
getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff

According to kernel code: [arch/mips/include/uapi/asm/resource.h]
RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.

 /*
 * SuS says limits have to be unsigned.
 * Which makes a ton more sense anyway,
 * but we keep the old value on MIPS32,
 * for compatibility:
 */
 #ifndef __mips64
 # define RLIM_INFINITY      0x7fffffffUL
 #endif

Adding conditional statement about mips to fix this.

(From OE-Core rev: 6bb6de711631fb2d339c447c6f88c8e06c17b967)

Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agocve-update-db-native: use SQL placeholders instead of format strings
Ross Burton [Wed, 17 Jul 2019 10:45:38 +0000 (11:45 +0100)] 
cve-update-db-native: use SQL placeholders instead of format strings

(From OE-Core rev: 91770338f76ef35f3c4eeac216eb9d2b3188e575)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoflex: set CVE_PRODUCT to include vendor
Ross Burton [Wed, 17 Jul 2019 10:45:37 +0000 (11:45 +0100)] 
flex: set CVE_PRODUCT to include vendor

There are many projects called Flex and they have CVEs, so also set the vendor
to remove these false positives.

(From OE-Core rev: 0598ccdcb31e16f1d1227197591b10ba441fcfe2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agocve-check: allow comparison of Vendor as well as Product
Ross Burton [Wed, 17 Jul 2019 10:45:36 +0000 (11:45 +0100)] 
cve-check: allow comparison of Vendor as well as Product

Some product names are too vague to be searched without also matching the
vendor, for example Flex could be the parser compiler we ship, or Adobe Flex, or
Apache Flex, or IBM Flex.

If entries in CVE_PRODUCT contain a colon then split it as vendor:product to improve the search.

Also don't use .format() to construct SQL as that can lead to security
issues. Instead, use ? placeholders and lets sqlite3 handle the escaping.

(From OE-Core rev: e6bf90009877d00243417898700d2320fd87b39c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agofreetype: add --tag CC to libtool arguments
Mikko Rapeli [Wed, 17 Jul 2019 14:46:43 +0000 (17:46 +0300)] 
freetype: add --tag CC to libtool arguments

Fixes build failures on aarch64:

aarch64-poky-linux-libtool: compile: unable to infer tagged configuration

(From OE-Core rev: 2501fb402260d5d3929bffee78a1127dad2d538e)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agooe/copy_buildsystem: move layer into layers directory
Andrej Valek [Wed, 17 Jul 2019 13:25:44 +0000 (15:25 +0200)] 
oe/copy_buildsystem: move layer into layers directory

Layers could be located outside from poky but inside the build directory.
This case should be covered in eSDK.
meta-abc
meta-def/meta-ghi
meta-def/poky
meta-def/meta-oe/meta-oe
...

It should take all enabled layers and put them into 'layers' dir during
build-time with respecting new relative path to poky.
layers/meta-abc
layers/meta-ghi
layers/poky
layers/meta-oe/meta-oe
...

(From OE-Core rev: 55ecf6988d3e3c0935cb6324a6ad2c75f1191a1d)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agocve-check.bbclass: initialize to_append
Mikko Rapeli [Wed, 17 Jul 2019 09:08:37 +0000 (12:08 +0300)] 
cve-check.bbclass: initialize to_append

Fixes build failure with core-image-minimal:

Exception: UnboundLocalError: local variable 'to_append' referenced before assignment

(From OE-Core rev: 270ac00cb43d0614dfe1c95f960c76e9e5fa20d4)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobusybox: enable unicode support
Mikko Rapeli [Wed, 17 Jul 2019 09:08:36 +0000 (12:08 +0300)] 
busybox: enable unicode support

While creating and deleting files with unicode or other
encodings works, it's annoying when ls and other core utils
show questionmarks instead of the unicode characters.
In 2019, it's quite common that users of embedded devices
based on yocto need unicode support. Debugging a box with
unicode encoded file names is a bit annoying when core utils
from busybox don't support them.

The unicode config fragment has the same config as Debian in their
deb and udeb builds of version 1:1.30.1-4.

If developers do not want this or other default yocto features in busybox,
or optimize the configuration for size, then they likely run a completely
custom configuration. Thus I think it's safe to enable unicode support
by default.

(From OE-Core rev: a48438422dbe64095bdb379c20428ba87e2a0e99)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoed: set CVE vendor to avoid false positives
Ross Burton [Wed, 17 Jul 2019 11:03:24 +0000 (12:03 +0100)] 
ed: set CVE vendor to avoid false positives

(From OE-Core rev: 2c3d689e4f78d8ea00b1bd2239af80c8fe038074)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agogit: set CVE vendor to git-scm
Ross Burton [Wed, 17 Jul 2019 11:03:23 +0000 (12:03 +0100)] 
git: set CVE vendor to git-scm

There's a Jenkins plugin for Git.

(From OE-Core rev: f2adf5e4d3e9afc6d45665bbe728c69d195a46ef)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoboost: set CVE vendor to Boost
Ross Burton [Wed, 17 Jul 2019 11:03:22 +0000 (12:03 +0100)] 
boost: set CVE vendor to Boost

There's a Boost module for Drupal.

(From OE-Core rev: 30ff8bb6502d45549c698be052a1caf4cb5c611f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agosubversion: set CVE vendor to Apache
Ross Burton [Wed, 17 Jul 2019 11:03:21 +0000 (12:03 +0100)] 
subversion: set CVE vendor to Apache

There's a Jenkins plugin for Subversion.

(From OE-Core rev: ac115c3b5f1dcb95fb7d39537693fe0dcd330451)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agokernel-fitimage: uboot-sign: fix missing signature
Jun Nie [Wed, 10 Jul 2019 07:10:56 +0000 (15:10 +0800)] 
kernel-fitimage: uboot-sign: fix missing signature

u-boot.bin with dtb & signature should be placed in ${B} so that
it can be deployed by u-boot as expected. Otherwise, the version
without signature is installed.

(From OE-Core rev: bfc8c964a9760a2c4a1d1902918908a1e7361c17)

Signed-off-by: Jun Nie <jun.nie@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agopython3: upgrade 3.7.3 -> 3.7.4
Anuj Mittal [Wed, 17 Jul 2019 03:04:08 +0000 (11:04 +0800)] 
python3: upgrade 3.7.3 -> 3.7.4

Also fixes CVE-2019-9740, CVE-2019-9948. For details, see:

https://docs.python.org/3.7/whatsnew/changelog.html#python-3-7-4-final

(From OE-Core rev: 73579c846fe02fb14464869ed382faf8fe299636)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agopython: fix CVE-2019-9740
Anuj Mittal [Wed, 17 Jul 2019 03:04:07 +0000 (11:04 +0800)] 
python: fix CVE-2019-9740

(From OE-Core rev: 8eddac3305b7b428565103cde88cba444e3f0dd0)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agowic: add support for kernel with initramfs bundled
Chee Yang Lee [Wed, 17 Jul 2019 02:02:42 +0000 (10:02 +0800)] 
wic: add support for kernel with initramfs bundled

when INITRAMFS_IMAGE_BUNDLE and INITRAMFS_IMAGE are set, wic should
look for kernel with initramfs image bundled.

Include required variable MACHINE, INITRAMFS_IMAGE_BUNDLE,
INITRAMFS_IMAGE, INITRAMFS_LINK_NAME and KERNEL_IMAGETYPE in WICVARS.
No longer require default value for variable kernel as KERNEL_IMAGETYPE
is not optional variable and included in WICVARS.
image_types_wic to inherit kernel-artifact-names to obtain default
INITRAMFS_LINK_NAME when INITRAMFS_IMAGE_BUNDLE are set.

update wic.Wic2.test_image_env test case to filter optional
variable INITRAMFS_LINK_NAME, INITRAMFS_IMAGE and INITRAMFS_IMAGE_BUNDLE.

(From OE-Core rev: bac984fbb2d5ad5d13ba3275c8a3e878d8753c58)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agonasm: fix CVE-2018-19755
Anuj Mittal [Wed, 17 Jul 2019 00:49:37 +0000 (08:49 +0800)] 
nasm: fix CVE-2018-19755

(From OE-Core rev: 4a46516256c24cb30bc9629371816f893693b488)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoopkg/package/rootfs_ipk: allow overwriting OPKGLIBDIR
Adrian Ratiu [Tue, 16 Jul 2019 21:55:58 +0000 (00:55 +0300)] 
opkg/package/rootfs_ipk: allow overwriting OPKGLIBDIR

Some distributions for various reasons (like for example mounting a
tmpfs over /var at runtime) can't use /var/lib to store the opkg
metadata, so a different path is required to have a functioning
package manager.

${localstatedir} can't be modified to something other than the
hardcoded value in bitbake.conf because other recipes depending on it
will fail to install.

So the only recourse, which is also the least invasive, is to allow
distros to overwrite the OPKGLIBDIR variable just like they are also
allowed to overwrite OPKGBUILDCMD.

(From OE-Core rev: 81eae383c287ad2e74321345c5eba862d5704cc4)

Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agolibid3tag: handle unknown encodings (CVE-2017-11550)
Ross Burton [Tue, 16 Jul 2019 12:47:39 +0000 (13:47 +0100)] 
libid3tag: handle unknown encodings (CVE-2017-11550)

(From OE-Core rev: 5090afc1b07e62f70ebcf63a7abb75b8552f0a52)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agolibid3tag: CVE-2017-11551 is the same as CVE-2004-2779
Ross Burton [Tue, 16 Jul 2019 12:47:27 +0000 (13:47 +0100)] 
libid3tag: CVE-2017-11551 is the same as CVE-2004-2779

(From OE-Core rev: 0663e5f8f906803685f018061d51fd6277916e50)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoglibc: exclude child recipes from CVE scanning
Ross Burton [Tue, 16 Jul 2019 12:47:21 +0000 (13:47 +0100)] 
glibc: exclude child recipes from CVE scanning

As glibc will be scanned for CVEs, we don't need to scan glibc-locale,
glibc-mtrace, and glibc-scripts which are all separate recipes for technical
reasons.

Exclude the recipes by setting CVE_PRODUCT in the recipe, instead of using the
global whitelist.

(From OE-Core rev: 1f9a963b9ff7ebe052ba54b9fcbdf7d09478dd17)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agocve-check-tool: remove
Ross Burton [Tue, 16 Jul 2019 12:46:50 +0000 (13:46 +0100)] 
cve-check-tool: remove

(From OE-Core rev: 5388ed6d1378d647a65912dbd537f9ef3cb5760a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agocve-check: remove redundant readline CVE whitelisting
Ross Burton [Tue, 16 Jul 2019 12:46:43 +0000 (13:46 +0100)] 
cve-check: remove redundant readline CVE whitelisting

CVE-2014-2524 is a readline CVE that was fixed in 6.3patch3 onwards, but the
tooling wasn't able to detect this version.  As we now ship readline 8 we don't
need to manually whitelist it, and if we did then the whitelisting should be in
the readline recipe.

(From OE-Core rev: 07bb8b25e172aa5c8ae96b6e8eb4ac901b835219)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agosystemd: Fix interface bring-up on kernels >= 5.2
Ricardo Ribalda Delgado [Mon, 15 Jul 2019 14:32:52 +0000 (16:32 +0200)] 
systemd: Fix interface bring-up on kernels >= 5.2

With kernels >=5.2  systemd-networkd is unable to bring up the link.

eth0: Could not bring up interface: Invalid argument

This is already reported upstream and fixed on master:

https://github.com/systemd/systemd/issues/12784

They recommend Debian to backport two patches.

(From OE-Core rev: 536d54ab46708ef921dbdcb68d1cf644ec639be8)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agomdadm: make ptest output format align with common style
Changqing Li [Tue, 16 Jul 2019 03:48:42 +0000 (11:48 +0800)] 
mdadm: make ptest output format align with common style

(From OE-Core rev: 99176bce7a185c996ef892b4f9b2617825a607fb)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoopkg: make ptest output format align with common style
Changqing Li [Tue, 16 Jul 2019 03:48:41 +0000 (11:48 +0800)] 
opkg: make ptest output format align with common style

(From OE-Core rev: 333c2bd397ff3b0ec3e7812e04cb5e077fa59683)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoscripts/buildstats-diff: Add option to filter tasks
Joshua Watt [Mon, 15 Jul 2019 15:47:33 +0000 (10:47 -0500)] 
scripts/buildstats-diff: Add option to filter tasks

Adds a command line option to filter out the buildstats-diff report by
one more more tasks. e.g.:

 buildstats-diff --only-task do_compile A B

will only show the differences for do_compile tasks. The --only-task
option can be specified multiple times to filter out multiple tasks at
once.

(From OE-Core rev: a8c7960d24c48107fd3703e49c38f890e84e2226)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agonfs-mountd: Add missing dependency on systemd service
Ricardo Ribalda Delgado [Mon, 15 Jul 2019 14:14:58 +0000 (16:14 +0200)] 
nfs-mountd: Add missing dependency on systemd service

As described on: https://www.spinics.net/lists/linux-nfs/msg62022.html

mountd requires rpcbind, otherwise it can can fail to start, which can
lead to nfsroot not booting.

Upstream: http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=907426b00bdcd69d9a56ac1870990e8ae8c6fe9f

(From OE-Core rev: 1228dddfd11654e3b8830e1ef51f9ebeb152bd35)

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agowebkitgtk: set incomptible with tune mips
Kai Kang [Mon, 15 Jul 2019 10:20:16 +0000 (06:20 -0400)] 
webkitgtk: set incomptible with tune mips

It fails to compile webkit when default tune is 'mips':

| .../tmp-glibc/work/mips-wrs-linux/webkitgtk/2.24.2-r0/webkitgtk-2.24.2
| /Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h:418:23:
| error: static assertion failed: CLZ opcode is not available for this ISA

So don't build webkit when default tune is mips.

(From OE-Core rev: 23573d4e69f4316d5812b5dd35314b5a0aa592e9)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agodevtool: provide support for devtool menuconfig command
Sai Hari Chandana Kalluri [Wed, 10 Jul 2019 18:27:34 +0000 (11:27 -0700)] 
devtool: provide support for devtool menuconfig command

All packages that support the menuconfig task will be able to run
devtool menuconfig command. This would allow the user to modify the
current configure options and create a config fragment which can be
added to a recipe using devtool finish.

1. The patch checks if devtool menuconfig command is called for a valid
package.
2. It checks for oe-local-files dir within source and creates one if
needed, this directory is needed to store the final generated config
fragment so that devtool finish can update the recipe.
3. Menuconfig command is called for users to make necessary changes.
After saving the changes, diffconfig command is run to generate the
fragment.

Syntax:
devtool menuconfig <package name>
 Ex: devtool menuconfig linux-yocto

The config fragment is saved as devtool-fragment.cfg within
oe-local-files dir.

Ex:
<workspace_path>/sources/linux-yocto/oe-local-files/devtool-fragment.cfg

Run devtool finish to update the recipe by appending the config fragment
to SRC_URI and place a copy of the fragment within the layer where the
recipe resides.
Ex: devtool finish linux-yocto meta

[YOCTO #10416]

(From OE-Core rev: 417feb559a74b367315e8658d6ba868a4f8d1340)

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agodevtool/standard.py: Create a copy of kernel source within work-shared if not present
Sai Hari Chandana Kalluri [Wed, 10 Jul 2019 18:27:33 +0000 (11:27 -0700)] 
devtool/standard.py: Create a copy of kernel source within work-shared if not present

If kernel source is not already downloaded i.e staging kernel dir is
empty, place a copy of the source when the user runs devtool modify
linux-yocto.  This way the kernel source is available for other packages
that use it.

[YOCTO #10416]

(From OE-Core rev: bb42ab90835e8ec2f1dfbb35056c353784693266)

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agodevtool/standard.py: Update devtool modify to copy source from work-shared if its...
Sai Hari Chandana Kalluri [Wed, 10 Jul 2019 18:27:32 +0000 (11:27 -0700)] 
devtool/standard.py: Update devtool modify to copy source from work-shared if its already downloaded

In the regular devtool modify flow, the kernel source is fetched by
running do_fetch task. This is an overhead in time and space.

This patch updates modify command to check if the kernel source is
already downloaded. If so, then instead of calling do_fetch, copy the
source from work-shared to devtool workspace by creating hard links
else run the usual devtool modify flow and call do_fetch task.

[YOCTO #10416]

(From OE-Core rev: 3c3a9bae296f849dbfe03942282f44036e6fa1fb)

Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: fetch2/clearcase: Fix class import errors
CHerzig@Gauselmann.de [Tue, 16 Jul 2019 12:39:58 +0000 (14:39 +0200)] 
bitbake: fetch2/clearcase: Fix class import errors

(Bitbake rev: 9a5152fa4613a1164cbf2a0248460e75207b2624)

Signed-off-by: Christian Herzig <cherzig@gauselmann.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: tests/runqueue: Allow common sstate tasks to become valid
Richard Purdie [Fri, 12 Jul 2019 12:56:21 +0000 (13:56 +0100)] 
bitbake: tests/runqueue: Allow common sstate tasks to become valid

As the logic in bitbake improves, the logic in the tests needs to as well.

Afer we built a task for the first time, allow its setscene hash verification
status to change, mirroring what would happen in a multiconfig build.

(Bitbake rev: 27ec2e69ab3e32972caf8b072b2945736696d83d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Optimise multiconfig with overlapping setscene
Richard Purdie [Thu, 11 Jul 2019 16:05:19 +0000 (17:05 +0100)] 
bitbake: runqueue: Optimise multiconfig with overlapping setscene

Currently if a multiconfig build contains different configurations which
have overlapping sstate artefacts, it will build them multiple times.
This is clearly suboptimal and not what users want/expect.

This adds code to detect this and stall all but one of the setscne tasks
so that once its built, it can be found by the other tasks.

We take care to iterate the multiconfigs in order so try and avoid
dependency loops. We also match on PN+taskname+taskhash since this is
what we know sstate in OE-Core would use. There are some tasks even within
a multiconfig which match hashes (mostly do_populate_lic tasks) but those
have a much higher chance of circular dependency so aren't work attempting
to optimise.

If a deadlock does occur the build will be slower but there is code to
unbreak such a deadlock so it hopefully doens't break anything.

Comments are injected into the test tasks so they have different task
hashes and a new test for this optimisation is added.

(Bitbake rev: a75c5fd6d4ec56836de0be2fe679c81297a080ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Abstract hash verification function
Richard Purdie [Fri, 12 Jul 2019 12:59:30 +0000 (13:59 +0100)] 
bitbake: runqueue: Abstract hash verification function

Pull the common pieces of the hash verification code into a single function
and reduce code duplication.

(Bitbake rev: d0c39e05cef841c6f29cc6c919df6cbf271a9bda)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Whitespace fix
Richard Purdie [Thu, 11 Jul 2019 15:57:16 +0000 (16:57 +0100)] 
bitbake: runqueue: Whitespace fix

Fix some unwanted extra indentation.

(Bitbake rev: 460a5c2e3e1d72f2da16fbc96832fadc82e72c52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Simplify some convoluted logic
Richard Purdie [Thu, 11 Jul 2019 16:04:30 +0000 (17:04 +0100)] 
bitbake: runqueue: Simplify some convoluted logic

This was left from when task IDs complicated the code, simplify.

(Bitbake rev: ae36b5c693bb9f13c88199e78e3c31616852eafb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agotimezone: update to 2019b
Armin Kuster [Sun, 14 Jul 2019 16:53:45 +0000 (09:53 -0700)] 
timezone: update to 2019b

Briefly:
  Brazil no longer observes DST.
  'zic -b slim' outputs smaller TZif files; please try it out.
  Palestine's 2019 spring-forward transition was on 03-29, not 03-30.

Changes to future timestamps

  Brazil has canceled DST and will stay on standard time indefinitely.
  (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
  Oliveira.)

  Predictions for Morocco now go through 2087 instead of 2037, to
  work around a problem on newlib when using TZif files output by
  zic 2019a or earlier.  (Problem reported by David Gauchard.)

Changes to past and future timestamps

  Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
  at 01:00.  (Thanks to Sharef Mustafa and Even Scharning.)  Guess
  future transitions to be March's last Friday at 00:00.

Changes to past timestamps

  Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
  03:30.  Its 1945 transition from JST to HKT was on 11-18 at 02:00,
  not 09-15 at 00:00.  In 1946 its spring-forward transition was on
  04-21 at 00:00, not the previous day at 03:30.  From 1946 through
  1952 its fall-back transitions occurred at 04:30, not at 03:30.
  In 1947 its fall-back transition was on 11-30, not 12-30.
  (Thanks to P Chan.)

Changes to past time zone abbreviations

  Italy's 1866 transition to Rome Mean Time was on December 12, not
  September 22.  This affects only the time zone abbreviation for
  Europe/Rome between those dates.  (Thanks to Stephen Trainor and
  Luigi Rosa.)

Changes affecting metadata only

  Add info about the Crimea situation in zone1970.tab and zone.tab.
  (Problem reported by Serhii Demediuk.)

Changes to code

  zic's new -b option supports a way to control data bloat and to
  test for year-2038 bugs in software that reads TZif files.
  'zic -b fat' and 'zic -b slim' generate larger and smaller output;
  for example, changing from fat to slim shrinks the Europe/London
  file from 3648 to 1599 bytes, saving about 56%.  Fat and slim
  files represent the same set of timestamps and use the same TZif
  format as documented in tzfile(5) and in Internet RFC 8536.
  Fat format attempts to work around bugs or incompatibilities in
  older software, notably software that mishandles 64-bit TZif data
  or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
  Slim format is more efficient and does not work around 64-bit bugs
  or obsolete TZ strings.  Currently zic defaults to fat format
  unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
  out-of-the-box default is intended to change in future releases
  as the buggy software often mishandles timestamps anyway.

  zic no longer treats a set of rules ending in 2037 specially.
  Previously, zic assumed that such a ruleset meant that future
  timestamps could not be predicted, and therefore omitted a
  POSIX-like TZ string in the TZif output.  The old behavior is no
  longer needed for current tzdata, and caused problems with newlib
  when used with older tzdata (reported by David Gauchard).

  zic no longer generates some artifact transitions.  For example,
  Europe/London no longer has a no-op transition in January 1996.

Changes to build procedure

  tzdata.zi now assumes zic 2017c or later.  This shrinks tzdata.zi
  by a percent or so.

Changes to documentation and commentary

  The Makefile now documents the POSIXRULES macro as being obsolete,
  and similarly, zic's -p POSIXRULES option is now documented as
  being obsolete.  Although the POSIXRULES feature still exists and
  works as before, in practice it is rarely used for its intended
  purpose, and it does not work either in the default reference
  implementation (for timestamps after 2037) or in common
  implementations such as GNU/Linux (for contemporary timestamps).
  Since POSIXRULES was designed primarily as a temporary transition
  facility for System V platforms that died off decades ago, it is
  being decommissioned rather than institutionalized.

  New info on Bonin Islands and Marcus (thanks to Wakaba and Phake
  Nick).

(From OE-Core rev: bbbb985808e5c301cdb7fdb1ff677706e99b4785)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agosystemd: backport patch to fix sysctl warning on boot
Matthias Schiffer [Wed, 10 Jul 2019 12:13:53 +0000 (14:13 +0200)] 
systemd: backport patch to fix sysctl warning on boot

Due to improved validation of sysctl settings in recent kernels (5.2+, but
also stable kernels like 4.19.53), systemd will log an error message like

    systemd[1]: Failed to bump fs.file-max, ignoring: Invalid argument

during boot. Backport the bugfix from the systemd master.

(From OE-Core rev: 289a29fc687d1224097f553a6f8c7f1baf903cae)

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agorootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_test_data
Mike Crowe [Mon, 15 Jul 2019 12:51:00 +0000 (13:51 +0100)] 
rootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_test_data

Ensure that we don't create an image test data symlink named
".testdata.json" when IMAGE_LINK_NAME is empty.

(From OE-Core rev: 97e1af51814c63963dc6eee003e0cf0e4dead024)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agorootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_manifest
Mike Crowe [Mon, 15 Jul 2019 12:50:59 +0000 (13:50 +0100)] 
rootfs-postcommands: Cope with empty IMAGE_LINK_NAME in write_image_manifest

Ensure that we don't create a symlink named ".manifest" if IMAGE_LINK_NAME
is empty.

(From OE-Core rev: 267697f5e1c931e39fd81dd1b14691e364be64f3)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agonativesdk-meson: Remove some unused variables
Peter Kjellerstedt [Mon, 15 Jul 2019 11:25:49 +0000 (13:25 +0200)] 
nativesdk-meson: Remove some unused variables

(From OE-Core rev: 02b01280c0cc1e426d0cd9210c4bcd1f95977ab2)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agomeson.bbclass: Remove the MESON_*_ARGS variables
Peter Kjellerstedt [Mon, 15 Jul 2019 11:25:48 +0000 (13:25 +0200)] 
meson.bbclass: Remove the MESON_*_ARGS variables

The options in ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} are already passed
via ${CC}/${CXX} and there is no reason to pass them a second time. Thus
we can remove MESON_TOOLCHAIN_ARGS. And when it is removed, the other
MESON_*_ARGS variables revert to the standard CFLAGS, CXXFLAGS and
LDFLAGS, so just use them directly instead.

Apart from the obvious improvement with not passing a lot of options
twice, this also solves a problem where -pie would be passed on the
command line in a way that it would prevent building any dynamic
libraries using meson if using a toolchain that is not built with
--enable-default-pie and if security_flags.inc is used.

(From OE-Core rev: 300f4ac59d4b96fc25a40565b22441b51ab08ede)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agotiff: fix CVE-2019-7663
Ross Burton [Mon, 15 Jul 2019 11:04:13 +0000 (12:04 +0100)] 
tiff: fix CVE-2019-7663

(From OE-Core rev: d06d6910d1ec9374bb15e02809e64e81198731b6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agotiff: fix CVE-2019-6128
Ross Burton [Mon, 15 Jul 2019 11:04:12 +0000 (12:04 +0100)] 
tiff: fix CVE-2019-6128

(From OE-Core rev: 7293e417dd9bdd04fe0fec177a76c9286234ed46)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agotiff: remove redundant patch
Ross Burton [Mon, 15 Jul 2019 11:04:11 +0000 (12:04 +0100)] 
tiff: remove redundant patch

The patching to make the new libtool work (from 2008) is no longer needed.

(From OE-Core rev: 4210fafa851d011023f5a58ed3887148168f861c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoe2fsprogs: Remove patch that disabled 64bit for ext4 by default
Adrian Bunk [Sun, 14 Jul 2019 09:48:49 +0000 (12:48 +0300)] 
e2fsprogs: Remove patch that disabled 64bit for ext4 by default

OE no longer ships a git snapshot of e2fsprogs,
so use the new upstream default now.

(From OE-Core rev: f5edce401cfb31ebd0200adaba9a201caf7ea705)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoxauth:upgrade 1.0.10 -> 1.1
Zang Ruochen [Mon, 15 Jul 2019 06:23:28 +0000 (14:23 +0800)] 
xauth:upgrade 1.0.10 -> 1.1

-Upgrade from xauth_1.0.10.bb to xauth_1.1.bb.

(From OE-Core rev: abe86c04ab3f5fec851bc28841fe52e19f6550a7)

Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoiproute2: update to 5.2.0
Oleksandr Kravchuk [Mon, 15 Jul 2019 02:33:37 +0000 (04:33 +0200)] 
iproute2: update to 5.2.0

(From OE-Core rev: e7844826305000f61e80268b74bf9cb85a005d4b)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agomsmtp: use alternatives to manage /usr/lib/sendmail
Chen Qi [Mon, 15 Jul 2019 08:35:38 +0000 (16:35 +0800)] 
msmtp: use alternatives to manage /usr/lib/sendmail

There are several packages which all provide /usr/lib/sendmail
when lsb is enabled. So use alternative to manage it.

(From OE-Core rev: 0a433802a9b7a41ab6732bc1915571b7a190985f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agomdadm: fix ptest hang
Mingli Yu [Mon, 15 Jul 2019 08:56:18 +0000 (16:56 +0800)] 
mdadm: fix ptest hang

Before commit[80d17497b7 mdadm: improve the run-ptest],
the mdadm ptest just run some tests without
"--keep-going" option. After the option added in
commit 80d17497b7, all test cases have chance to
be called.

But the logic in mdadm upstream commit
[e2a8e9d tests: wait for complete rebuild in integrity checks]
will make the test enter infinite loop especially in
qemu env as commit e2a8e9d update the logic from
"check wait" to "check state 'U*'" for testcase
tests/01r5integ and tests/01raid6integ. Considering all
other cases still use "check wait" logic, so revert e2a8e9d
to make tests/01r5integ and tests/01raid6integ also use
"check wait" logic to avoid the infinite loop.

[YOCTO #13368]

(From OE-Core rev: b507793f4adde0c60588b06520d7d0b70acfd82a)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoconf/poky: add debian-10 to the supported distribution list
Ross Burton [Mon, 15 Jul 2019 10:23:51 +0000 (11:23 +0100)] 
conf/poky: add debian-10 to the supported distribution list

Debian 10 is the new stable release and is being tested on the autobuilder, so
add this to the supported distribution list.

[ YOCTO #13432 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: uihelper: No longer listen to scenequeue task started
Richard Purdie [Thu, 11 Jul 2019 11:29:50 +0000 (12:29 +0100)] 
bitbake: uihelper: No longer listen to scenequeue task started

With the merge of the scenequeue with real tasks, this now confuses the
statistics. The real tasks are the definitive progress so monitor only
those.

(Bitbake rev: 20956b508a082224139c8f56b68299edff6e0443)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: tests: Add initial scenario based test for runqueue
Richard Purdie [Wed, 10 Jul 2019 13:26:37 +0000 (14:26 +0100)] 
bitbake: tests: Add initial scenario based test for runqueue

We need some tests for runqueue, its been something which has been hard to test
for a long time. Add some dummy metadata to allow this, mirroring the OE
structure in spirit.

(Bitbake rev: 37564d7440c5d7aa05ec537f3b79026b1c83bb68)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Complete the merge of scenequeue and normal task execution
Richard Purdie [Sat, 6 Jul 2019 15:29:29 +0000 (16:29 +0100)] 
bitbake: runqueue: Complete the merge of scenequeue and normal task execution

This combines the scqenequeue and normal task execution into one function
and simplifies the state engine accordingly.

This is the final set of cleanup to fully merge things without adding the
extra noise to the previous commits.

(Bitbake rev: 56f3396d8c7cfbebd175877c9d773e4e35f8dea1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Alter setscenewhitelist handling
Richard Purdie [Sat, 6 Jul 2019 15:16:54 +0000 (16:16 +0100)] 
bitbake: runqueue: Alter setscenewhitelist handling

Since there is now parallel execution of setscene and normal tasks, the way
setscenewhitelist handling worked can't function the way it did. Paul and I
never liked its error output anyway.

This code tries a different approach, checking the task at execution time
but printing the uncovered task list.

This code may need improvement after real world usage but can
work with the new task flows.

(Bitbake rev: a08d8ba5f5194a09391b1904ee31c04c5f0b1e28)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Merge the queues and execute setscene and normal tasks in parallel
Richard Purdie [Wed, 3 Jul 2019 23:14:02 +0000 (00:14 +0100)] 
bitbake: runqueue: Merge the queues and execute setscene and normal tasks in parallel

This is the serious functionality change in this runqueue patch series of
changes.

Rather than two phases of execution, the scenequeue setscene phase, followed
by normal task exeuction, this change allows them to execute in parallel
together.

To do this we need to handle marking of tasks as covered/uncovered in a piecemeal
fashion on a task by task basis rather than in a single function.

The code will block normal task exeuction until any setcene task which could
cover that task is executed and its status is known. There is a slight
optimisation which could be possible here at the risk of races but that
doesn't seem worthwhile.

The state engine isn't entirely cleaned up in this commit (see FIXME) and
the setscenewhitelist functionality is broken by it (see following patches)
however its good enough to test with normal workflows.

(Bitbake rev: 58b3f0847cc2d47e76f74d59dcbbf78fe41b118b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Clarify scenequeue_covered vs. tasks_covered
Richard Purdie [Wed, 3 Jul 2019 22:12:19 +0000 (23:12 +0100)] 
bitbake: runqueue: Clarify scenequeue_covered vs. tasks_covered

It wasn't clear whether the variable contained just setscene covered
tasks or all covered tasks. We need both sets of data so lets just have
two clearly named variables.

(Bitbake rev: a9fb55627762e7c8b3df30b335ad0b2f1adc080e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Further scheduler buildable tasks cleanup
Richard Purdie [Wed, 3 Jul 2019 21:57:52 +0000 (22:57 +0100)] 
bitbake: runqueue: Further scheduler buildable tasks cleanup

The code for setting up buildable tasks can be simplified.

(Bitbake rev: ce3cd2df5b034f8dbdcf9834e8b9a393b6b01aad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Remove pointless variable
Richard Purdie [Sat, 6 Jul 2019 13:23:30 +0000 (14:23 +0100)] 
bitbake: runqueue: Remove pointless variable

Its now clear a variable is pointless, remove it and tweak the logic
so the data structure of the existing variable matches what we need.

(Bitbake rev: c257c7b93b86dd794d31307e820215301c7ccf3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Code simplification
Richard Purdie [Sat, 6 Jul 2019 13:21:26 +0000 (14:21 +0100)] 
bitbake: runqueue: Code simplification

Simplfy some looping code which no longer has any purpose.

(Bitbake rev: 01dfc37095e5c661f275917d22aa1c1ad7f24d8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Tweak comments and debug code
Richard Purdie [Sat, 6 Jul 2019 13:20:21 +0000 (14:20 +0100)] 
bitbake: runqueue: Tweak comments and debug code

Add some extra comments to build_scenequeue_data() and fix the debug code
so it actually works.

(Bitbake rev: 8ea6d8193fc89b4596da69e400fbc50e5a443f9f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Simplify scenequeue unskippable calculation
Richard Purdie [Sat, 6 Jul 2019 13:18:23 +0000 (14:18 +0100)] 
bitbake: runqueue: Simplify scenequeue unskippable calculation

The existing code to compute the 'unskippable' setscene task list is overcomlicated,
so replace it with something functionally equivalent but simpler and more efficient.

We don't need to process all chains, just the 'top' ones to the first setscene tasks.

This also makes the code more readable.

(Bitbake rev: 06982c82f10cbdbea0b601e5cf0450a2a99c14c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue data
Richard Purdie [Sat, 6 Jul 2019 13:16:12 +0000 (14:16 +0100)] 
bitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue data

Its useful to have a list of all the tasks a given setscene task covers
and we can easily generate this data whilst doing other data processing.

This is used in later changes to runqueue rather than trying to compute it
on the fly which is difficult.

(Bitbake rev: 63ddc2fec40bd1b456702b97091f9dc5ef70a941)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: event/runqueue: Drop StampUpdate event, its pointless/unused
Richard Purdie [Wed, 3 Jul 2019 17:34:07 +0000 (18:34 +0100)] 
bitbake: event/runqueue: Drop StampUpdate event, its pointless/unused

Whilst this class has existed for years, it doesn't have any
users and has a questionable interface. Drop it to allow for further
simplification and changes.

(Bitbake rev: 3ab51764f7965d696bb2c5a872bf161473df4289)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Fold remains of the scenequeue setup into RunQueueExecute
Richard Purdie [Wed, 10 Jul 2019 23:36:43 +0000 (00:36 +0100)] 
bitbake: runqueue: Fold remains of the scenequeue setup into RunQueueExecute

Also move the scheduler init over, apart for the builtable tasks part which need
to remain called later.

(Bitbake rev: ad30a16cd30f9eab0224eb271f98f9a24516b621)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Simplify _execute_runqueue logic
Richard Purdie [Wed, 3 Jul 2019 16:36:19 +0000 (17:36 +0100)] 
bitbake: runqueue: Simplify _execute_runqueue logic

Cleanup to the _execute_runqueue logic to reduce indentation, drop the
dummy executor class concept and prepare for further changes.

(Bitbake rev: 726e3c61a69fef16e605ba9b911a17cd99f1a2c3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Remove RunQueueExecuteScenequeue and RunQueueExecuteTasks
Richard Purdie [Wed, 3 Jul 2019 16:20:08 +0000 (17:20 +0100)] 
bitbake: runqueue: Remove RunQueueExecuteScenequeue and RunQueueExecuteTasks

Replace the remains of the Tasks and Scenequeue Tasks classes with simple
function calls. Also drop the dummy version of the execution class to
simplify further changes as its not needed.

(Bitbake rev: 33805394310046cd58c2194f6d063b3946811014)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Fix counter/task updating glitch
Richard Purdie [Wed, 10 Jul 2019 22:33:05 +0000 (23:33 +0100)] 
bitbake: runqueue: Fix counter/task updating glitch

Some tasks were not being marked as covered/notcovered since internal
calls were being made without using the external call points.

Fix the accounting issues by using the correct external call points.

(Bitbake rev: fe0a7be03e8baed22f6b0915cd5f7956ba3fbf83)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Merge scenequeue and real task queue code together
Richard Purdie [Wed, 3 Jul 2019 15:22:15 +0000 (16:22 +0100)] 
bitbake: runqueue: Merge scenequeue and real task queue code together

Merge the unique functions from the Tasks and Scenequeue Tasks classes
into the common base class.

(Bitbake rev: 7539fe22bc831bb835901e3aca77985ab4ebc4c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Merge stats handling together for setscene/real tasks
Richard Purdie [Wed, 3 Jul 2019 15:11:02 +0000 (16:11 +0100)] 
bitbake: runqueue: Merge stats handling together for setscene/real tasks

Use a seperate stats class for scenequeue tasks and move the setup
into the base class. Update references accordingly.

(Bitbake rev: 32f39bbd5d3b7394689da9ba05be2c15b4523b27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Uniquely namespace the scenequeue functions
Richard Purdie [Wed, 3 Jul 2019 14:39:29 +0000 (15:39 +0100)] 
bitbake: runqueue: Uniquely namespace the scenequeue functions

In preparation for merging the setscene and normal task execution,
uniquely namespace the scenequeue specific functions.

For the one shared function, add the "sq_live" variable so we know
which functions to send the results to.

(Bitbake rev: 2cbe9399902ba67dca566c7344b2247412cf4d5c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Factor out the process_setscene_whitelist checks
Richard Purdie [Wed, 3 Jul 2019 14:38:24 +0000 (15:38 +0100)] 
bitbake: runqueue: Factor out the process_setscene_whitelist checks

For ease of refactoring, move this code to its own separate function
until it becomes clear what we should do with it.

(Bitbake rev: 4b96b204f986dd62fba485876b7208665c14268d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Remove unused function parameter
Richard Purdie [Wed, 3 Jul 2019 11:07:30 +0000 (12:07 +0100)] 
bitbake: runqueue: Remove unused function parameter

The function is only used by setscene code so the parameter is pointless,
remove it.

(Bitbake rev: b52dbf5e9cb327f8434213d286ad333f5dbad1d3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Move scenequeue data generation to a separate function
Richard Purdie [Wed, 3 Jul 2019 11:06:36 +0000 (12:06 +0100)] 
bitbake: runqueue: Move scenequeue data generation to a separate function

Move the bulk of the scenequeue data generation to its own function
allowing for refactoring of the code.

Create the start of an object to represent this data.

(Bitbake rev: 68326e0426f25a1bbfd5ae3aa278656a3744053e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Remove now uneeded code
Richard Purdie [Sat, 6 Jul 2019 13:12:55 +0000 (14:12 +0100)] 
bitbake: runqueue: Remove now uneeded code

With the removal of the setcene verify code, this additional code block
is also now unneeded since tasks can't be forced at this point in the code
any move. This effectively reverts f21910157d873c030b149c4cdc5b57c5062ab5a6.

(Bitbake rev: 4514fe4f045d595cc9b938f9326f66f2b3e99f71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Drop unused BB_SETSCENE_VERIFY_FUNCTION2
Richard Purdie [Wed, 3 Jul 2019 09:41:18 +0000 (10:41 +0100)] 
bitbake: runqueue: Drop unused BB_SETSCENE_VERIFY_FUNCTION2

Nothing in OE-Core uses this and hasn't since 2017. It wasn't needed by core
metadata since the switch to recipe specific sysroots.

Since this function would be hard to implement with the planned changes to
runqueue, drop it which allows simplification and further code cleanup.

(Bitbake rev: 5deaa5df730a8a846f3192b4a639b7a2a72c1b71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: runqueue: Tweak buildable variable handling in scheduler
Richard Purdie [Wed, 10 Jul 2019 23:19:11 +0000 (00:19 +0100)] 
bitbake: runqueue: Tweak buildable variable handling in scheduler

Work off a copy of the 'buildable' class variable, allowing easier
future code changes.

(Bitbake rev: e851169acfebba404514135bf512e6f045739a13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: siggen: Use unique hashes for tasks
Richard Purdie [Thu, 11 Jul 2019 15:58:14 +0000 (16:58 +0100)] 
bitbake: siggen: Use unique hashes for tasks

Now that runqueue optimises based on task hash, we need to ensure
tasks have unique hashes even in the simplest siggen mode. Use
the task name to calculate a unique hash.

This fixes runqueue tests when hash optimisations are added.

(Bitbake rev: 8ede873ef4ef492fbaf01474685c1ca8b34d80d5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: siggen: Fix default handler
Richard Purdie [Tue, 9 Jul 2019 21:59:33 +0000 (22:59 +0100)] 
bitbake: siggen: Fix default handler

After the unihash changes the default signature handler didn't work. Tweak it
to adapt to those changes (allowing the runqueue tests to work).

(Bitbake rev: 7d486d3fb7176a3486f3f2484457724d7185df58)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: cache: Set packages for skipped recipes
Robert Yang [Fri, 12 Jul 2019 03:26:15 +0000 (11:26 +0800)] 
bitbake: cache: Set packages for skipped recipes

The provides and rprovides had been set for skipped recipes, packages are
similar to them (all of them provide something), so also set it. This makes it
easier to figure out the RDEPENDS issues, for example, lmsensors
(lmsensors_3.5.0.bb) RRECOMMENDS lmsensors-config-fancontrol
(lmsensors-config_1.0.bb), but lmsensors-config is skipped for some reasons,
then if we run:

$ bitbake lmsensors
ERROR: Nothing RPROVIDES 'lmsensors-config-fancontrol' (but /path/to/lmsensors_3.5.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'lmsensors-config-fancontrol' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['lmsensors-config-fancontrol']
ERROR: Required build target 'lmsensors' has no buildable providers.
Missing or unbuildable dependency chain was: ['lmsensors', 'lmsensors-config-fancontrol']

We had no way to know who rprovides lmsensors-config-fancontrol, we can figure
it out by bitbake/contrib/dump_cache.py after this patch.

(Bitbake rev: 9cf7a5e5a28e676427970a821893e9d930973969)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agobitbake: cache: Remove duplicated lines for provides and rprovides
Robert Yang [Fri, 12 Jul 2019 03:26:14 +0000 (11:26 +0800)] 
bitbake: cache: Remove duplicated lines for provides and rprovides

Whether skip or not, they are always set, so move the lines ahead to avoid
duplicated lines.

(Bitbake rev: c1a8ebb8f83e5108b667f291c924fc2fbd2ac769)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoclasses/icecc: Disable remote pre-processing by default
Joshua Watt [Fri, 12 Jul 2019 16:21:14 +0000 (11:21 -0500)] 
classes/icecc: Disable remote pre-processing by default

Unfortunately, GCC has a number of outstanding bugs related to using
-fdirectives-only, which causes a lot of errors when using Icecream.
See:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47254
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88475
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89658
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91152

Until many of these are addressed, it is better to disable remote
preprocessing.

(From OE-Core rev: 762528a66e5a6e3444f9c13c04ecac7f5bc8efd5)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoninja: use Python 3
Ross Burton [Thu, 11 Jul 2019 23:54:23 +0000 (00:54 +0100)] 
ninja: use Python 3

As part of the mission to remove the use of Python 2, explicitly bootstrap Ninja
with Python 3.

(From OE-Core rev: b6a84fff1fbdab49af626d221085f3c052c4021d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6 years agoqemu: use Python 3 to build
Ross Burton [Thu, 11 Jul 2019 23:54:31 +0000 (00:54 +0100)] 
qemu: use Python 3 to build

As part of the mission to remove the use of Python 2, explicitly use Python 3
when building qemu.

(From OE-Core rev: 9b3ed6f7ab8bf56a05a074162ed37ead12f248cf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>