]> code.ossystems Code Review - openembedded-core.git/log
openembedded-core.git
5 years agokernel-fitimage: fix devicetree reproducibility
Alex Kiernan [Wed, 12 Feb 2020 11:33:36 +0000 (11:33 +0000)]
kernel-fitimage: fix devicetree reproducibility

Ensure that the order of dtb/dtbo files in the generated fitimage is
reproducible.

Fixes: 71bfa9838cbf ("kernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREE")
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolinux-yocto-dev: Add paravirt_kvm support for qemux86-64
He Zhe [Wed, 12 Feb 2020 07:35:57 +0000 (15:35 +0800)]
linux-yocto-dev: Add paravirt_kvm support for qemux86-64

This feature includes paravirtualized KVM guest support, including
KVMCLOCK for enhancing clock accuracy of guest OS. With it we can prevent
the following error.

"clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as
unstable because the skew is too large"

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython3: install _tkinter.*.so to python3-tkinter package
Yi Zhao [Wed, 12 Feb 2020 06:24:40 +0000 (14:24 +0800)]
python3: install _tkinter.*.so to python3-tkinter package

When enable PACKAGECONFIG[tk], we should install _tkinter.*.so to
python3-tkinter package rather than python3-misc package.

Fixes:
ERROR: python3-3.8.1-r0 do_package_qa: QA Issue:
/usr/lib/python3.8/lib-dynload/_tkinter.cpython-38-x86_64-linux-gnu.so
contained in package python3-misc requires libtk8.6.so()(64bit), but no
providers found in RDEPENDS_python3-misc? [file-rdeps]

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa: reproducible: Run diffoscope on saved output
Joshua Watt [Wed, 12 Feb 2020 03:14:35 +0000 (21:14 -0600)]
oeqa: reproducible: Run diffoscope on saved output

If there are differing packages and they are being saved for review,
automatically run diffoscope on them and include the output in the saved
output. The output is currently done in HTML format since these are
typically published on a webpage by the autobuilder.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agodiffoscope: Exclude from musl builds
Richard Purdie [Fri, 14 Feb 2020 08:25:18 +0000 (08:25 +0000)]
diffoscope: Exclude from musl builds

Various dependencies don't build for musl so exclude this recipe too, at
least for now until the issues are resolved to avoid build failures in
world builds.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agorecipes-support: Add diffoscope recipe
Joshua Watt [Wed, 12 Feb 2020 03:14:34 +0000 (21:14 -0600)]
recipes-support: Add diffoscope recipe

Diffoscope is the universal diff tool, capable of comparing many
different formats.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython: Add magic recipe
Joshua Watt [Wed, 12 Feb 2020 03:14:33 +0000 (21:14 -0600)]
python: Add magic recipe

The python-magic module is used by diffoscope tool to make
build comparisons.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython: Add libarchive-c recipe
Joshua Watt [Wed, 12 Feb 2020 03:14:32 +0000 (21:14 -0600)]
python: Add libarchive-c recipe

The libarchive python module is used by diffoscope tool to
make build comparisons.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agowayland: upgrade 1.17.0 -> 1.18.0
Denys Dmytriyenko [Thu, 13 Feb 2020 06:23:44 +0000 (01:23 -0500)]
wayland: upgrade 1.17.0 -> 1.18.0

This is the official release for Wayland 1.18. The main new features in
this release are:

- Add support for the Meson build system (autotools is still supported
  but will be removed in a future release)
- Add API to tag proxy objects to allow applications and toolkits to
  share the same Wayland connection
- Track wayland-server timers in user-space to prevent creating too
  many FDs
- Add wl_global_remove, a new function to mitigate race conditions with
  globals
https://lists.freedesktop.org/archives/wayland-devel/2020-February/041207.html

2 upstreamed patches are dropped.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoppp: Security fix CVE-2020-8597
Yi Zhao [Thu, 13 Feb 2020 08:55:01 +0000 (16:55 +0800)]
ppp: Security fix CVE-2020-8597

CVE-2020-8597: eap.c in pppd in ppp 2.4.2 through 2.4.8 has an rhostname
buffer overflow in the eap_request and eap_response functions.

References:
https://nvd.nist.gov/vuln/detail/CVE-2020-8597

Patch from:
https://github.com/paulusmack/ppp/commit/8d7970b8f3db727fe798b65f3377fe6787575426

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoicecc.bbclass: replace superfluous "+=" with "="
Robert P. J. Day [Thu, 13 Feb 2020 13:21:57 +0000 (08:21 -0500)]
icecc.bbclass: replace superfluous "+=" with "="

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoiputils: Fix systemd and ipv6 detection
Alex Kiernan [Thu, 13 Feb 2020 10:00:29 +0000 (10:00 +0000)]
iputils: Fix systemd and ipv6 detection

When systemd is enabled, ensure iputils detects it correctly. Split out
IPv6 only features based on ipv6 enabled in DISTRO_FEATURES.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobinutils: Bail out if gold is used on 32/64 bit RISC-V
Khem Raj [Thu, 13 Feb 2020 08:21:59 +0000 (00:21 -0800)]
binutils: Bail out if gold is used on 32/64 bit RISC-V

gold is not supporting risc-v yet and, this will cause subltle errors
during build e.g. autoconf not finding certain features like visibility
and it could take a while to unwind the problem. Its better to error out
early

Remove dwp and ld.gold for rv32 as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocrosssdk: Set nativesdk specific distro features
Khem Raj [Thu, 13 Feb 2020 08:21:58 +0000 (00:21 -0800)]
crosssdk: Set nativesdk specific distro features

Currently, normal distro features e.g. ld-is-gold is impacting
crosssdk recipes, which actually should not be the case, since
that feature is essentially intended for target packages and not
nativesdk packages

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoltp: Fix tescases with 64bit time_t using 32bit arches
Khem Raj [Thu, 13 Feb 2020 08:21:57 +0000 (00:21 -0800)]
ltp: Fix tescases with 64bit time_t using 32bit arches

This helps it compile on musl

Fixes
| tst_clocks.c:31:17: error: 'SYS_clock_getres' undeclared (first use in this function); did you mean 'tst_clock_getres

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa: Use --disable-maintainer-mode configure option
Khem Raj [Thu, 13 Feb 2020 08:21:51 +0000 (00:21 -0800)]
oeqa: Use --disable-maintainer-mode configure option

since the versions of autotools might differ on target and build host, plus difference in
timestamps for configure and system can result in reconfigure lets avoid
that by disabling maintainer mode

Avoids
error: newly created file is older than distributed files!

[YOCTO #13779]

Suggested-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoqemuarm: Disable highmem when QB_MACHINE is virt
Khem Raj [Thu, 13 Feb 2020 08:21:50 +0000 (00:21 -0800)]
qemuarm: Disable highmem when QB_MACHINE is virt

running ptests on qemuarm returns fails since it finds errors in kernel
logs like below

***********************
Central error: [    4.338465] pci-host-generic 4010000000.pcie: ECAM ioremap failed
***********************

Since its a 32bit kernel 4010000000 address is truncated to 10000000 and ends up
in conflicts with VIRT_PCIE_MMIO, which ranges from 0x10000000 to 0x3efeffff

This is happening because the linux-yocto kernel is not compiled with
LPAE support, however, virt machine for qemuarm assumes that by default

Should LPAE be enabled by default in kernel config is a separate
question

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopackage_ipk: Minor import tweak + ensure packages regenerated
Richard Purdie [Thu, 13 Feb 2020 14:06:49 +0000 (14:06 +0000)]
package_ipk: Minor import tweak + ensure packages regenerated

The recent opkg-utils change didn't update all the packages since its
marked as ABISAFE (and has to be due to update-alternatives).

Fix a minor import issue to avoid multiple imports of glob which
also causes packages to re-generate.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopkgconf: Remove pointless DEFAULT_PREFERENCE
Richard Purdie [Mon, 10 Feb 2020 15:58:45 +0000 (15:58 +0000)]
pkgconf: Remove pointless DEFAULT_PREFERENCE

There is no other version of pkgconfig to have a preference against,
remove the unneeded variable.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoscripts/lib/resulttool/report: Enable report selected test case result
Yeoh Ee Peng [Fri, 31 Jan 2020 05:47:42 +0000 (13:47 +0800)]
scripts/lib/resulttool/report: Enable report selected test case result

Enable reporting selected test case result given the user provided
the selected test case id. If both test result id and test case id
were provided, report the selected test case result from the
selected test result id.

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agometa/recipes-graphics/waffle: Add python3 dependency
Aníbal Limón [Tue, 14 Jan 2020 16:20:23 +0000 (10:20 -0600)]
meta/recipes-graphics/waffle: Add python3 dependency

The python3native.bbclass set PYTHON_{LIBRARY, INCLUDE_DIR} pointing to
python target build, a patch was add to use target _sysconfigdata too [1]
but is not available without python3 dependency.

Fixes waffle build when trying to find _sysconfigdata module,

...
| Program python3 found: YES (/home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3)
|
| meson.build:36:0: ERROR: <ExternalProgram 'python3' -> ['/home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3']> is not a valid python or it is missing setuptools
|
| A full log can be found at /home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/build/meson-logs/meson-log.txt
| WARNING: exit code 1 from a shell command.
...

[1] http://git.openembedded.org/openembedded-core/commit/?id=02714c105426b0d687620913c1a7401b386428b6

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibubootenv: Split binaries to a libubootenv-bin package
Otavio Salvador [Fri, 31 Jan 2020 13:33:23 +0000 (10:33 -0300)]
libubootenv: Split binaries to a libubootenv-bin package

The fw_setenv and fw_printenv binaries should be on a specific package
as some systems may require just the library.

The upgrade path was kept using the RPROVIDES for the -bin package.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopopulate_sdk_base: if the SDKIMAGE_FEATURES changes, refresh the SDK
Mark Hatle [Fri, 7 Feb 2020 17:43:37 +0000 (11:43 -0600)]
populate_sdk_base: if the SDKIMAGE_FEATURES changes, refresh the SDK

Since the features are processed by a python fragment, we need to explicitly
list the variables that should affect the resulting hash, and thus sstate
re-use.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREE
Alex Kiernan [Fri, 31 Jan 2020 16:24:42 +0000 (16:24 +0000)]
kernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREE

When using EXTERNAL_KERNEL_DEVICETREE, collect DTB overlays too (*.dtbo)
as well as iterating down into sub-directories so using the behaviour
for naming which matches KERNEL_DEVICETREE.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoxserver-nodm-init: Fix the start failure for non-root user
Kevin Hao [Sat, 8 Feb 2020 12:36:42 +0000 (20:36 +0800)]
xserver-nodm-init: Fix the start failure for non-root user

In order to start the xserver, a non-root user should have the
cap_sys_admin capability to set the drm master. We try to get
the cap_sys_admin capability by setting it in both the thread
and file inheritable set. The side effect of this is that we
would have to add the "pam" to the distro features if we want
use the xserver-nodm-init for a non-root user.

[Yocto #11526]

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agotestimage: Extend runtime testing infrastructure to allow unconventional booting...
Alejandro Hernandez Samaniego [Sat, 8 Feb 2020 10:32:02 +0000 (02:32 -0800)]
testimage: Extend runtime testing infrastructure to allow unconventional booting processes to be tested

The current runtime infrastructure contains hardcoded values which Ill refer to
as patterns, these patterns are either searched through or sent via the serial
terminal to communicate between HOST and TARGET.

These patterns are required since they allow us to check when a device has
finished booting, to log in, and to check whether a command sent from our tests
has returned, this way we are able to check both the status of the commands that
were sent along with its output.

The testing process goes somewhat as follows:
1. Launch QEMU and start booting.
2. Check when the device has booted by looking for the pattern login:.
3. Log in as the root user (default for our images).
4. Check that we were able to log in succesfully.
5. Start running the runtime test cases defined by TEST_SUITES.
6. One of such test cases could send a command to the QEMU target.
7. Check whether that command returned.
8. Check its output and status, return whether the test case passed or failed.

This patch allows this set of patterns to be defined instead of being hardcoded,
but it also automatically sets the defaults that we have been using in the past
if they have not been manually defined, for this reason, the patch is less
invasive and should not affect in any way how tests are currently being run.

Cases that can be enabled with this patch:
- A customized image that does not use the root user (or maybe we want to check
what happens if we dont use the root user).
- An image where the PS1 env variable has been modified, and the prompt pattern
wouldnt match the default.
- Baremetal applications, which do not follow the conventional way of booting
Linux and would probably not show a prompt for a user to log in, same applies
for testing bootloaders.
- poky-tiny: Using DISTRO=poky-tiny and an image such as the core-image-tiny
from meta-intel, which boots directly to RAM, and does not show a log in prompt
since it does not contain a conventional init process.

The code itself contains comments that should be self explanatory but here is an
example on how these patterns can be defined in a hypothetical case where we
want to run test cases as the webserver user instead:

TESTIMAGE_BOOT_PATTERNS = "send_login_user search_login_succeeded"
TESTIMAGE_BOOT_PATTERNS[send_login_user] = "webserver\n"
TESTIMAGE_BOOT_PATTERNS[search_login_succeeded] = "webserver@[a-zA-Z0-9\-]+:~#"

The variable TESTIMAGE_BOOT_PATTERNS defines which patterns to override when
used to communicate with the target when booting, anyone familiar with the
PACKAGECONFIG syntax should have no trouble setting these.

Other patterns would still be set up as default, e.g.
search_reached_prompt would still be login:

The accepted flags for TESTIMAGE_BOOT_PATTERNS are the following:
search_reached_prompt, send_login_user, search_login_succeeded,
search_cmd_finished.

They are prefixed with either search/send, to differentiate if the pattern is
meant to be sent or searched to/from the target terminal.

A working example of this code that falls under the baremetal case mentioned
above along with a test case is present on the meta-freertos layer, which tests
an RTOS image built with OpenEmbedded and automatically runs a test case on it
after booting such image:

As usual, INHERIT += "testimage" needs to be present on local.conf
$ bitbake freertos-demo -c testimage

RESULTS:
RESULTS - freertos_echo.FreeRTOSTest.test_freertos_echo: PASSED (2.00s)
SUMMARY:
freertos-demo () - Ran 1 test in 2.006s
freertos-demo - OK - All required tests passed (successes=1, skipped=0,
failures=0, errors=0)

Signed-off-by: Alejandro Hernandez Samaniego <aehs29@gmail.com>
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agotestimage: Allow testing on QEMU machines with a single serial port
Alejandro Hernandez Samaniego [Sat, 8 Feb 2020 10:30:04 +0000 (02:30 -0800)]
testimage: Allow testing on QEMU machines with a single serial port

commmit 6cde67d0a84 enables the use of qemurunner on machines that
only have a single serial port, but still sets the default value
as serial_ports=2 if not provided.

The testimage class does not call qemurunner with a serial_ports
argument, hence always defaulting to two.

Pass the serial_ports argument from the testimage class to allow
tests to run on QEMU machines with a single serial port.

Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopciutils: upgrade 3.6.2 -> 3.6.4
Wang Mingyu [Sat, 8 Feb 2020 17:00:55 +0000 (09:00 -0800)]
pciutils: upgrade 3.6.2 -> 3.6.4

refresh the following patch:
configure.patch

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: upgrade 243.4 -> 244.1
Alex Kiernan [Thu, 6 Feb 2020 16:48:13 +0000 (16:48 +0000)]
systemd: upgrade 243.4 -> 244.1

Drop 0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch a
variant on which was introduced in 2c1047310970 ("Upgrade to systemd
211+") in 2014. The oldest supported build machine is now CentOS 7 which
has --relative support in ln, so there no longer appears to be any need
for this change.

Rebase/refresh musl patches:

- replace missing.h with specific missing_... header
- fix additional WRITE_STRING_FILE_DISABLE_BUFFER
- fix more places that need netinet/if_ether.h

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agodhcp: upgrade 4.4.1 -> 4.4.2
Wang Mingyu [Thu, 6 Feb 2020 14:53:22 +0000 (06:53 -0800)]
dhcp: upgrade 4.4.1 -> 4.4.2

0001-Fix-a-NSUPDATE-compiling-issue.patch
0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch
Removed since they are included in 4.4.2.

refresh the following patch:
0004-Fix-out-of-tree-builds.patch

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolighttpd: upgrade 1.4.54 -> 1.4.55
Wang Mingyu [Thu, 6 Feb 2020 14:52:26 +0000 (06:52 -0800)]
lighttpd: upgrade 1.4.54 -> 1.4.55

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoprocps: upgrade 3.3.15 -> 3.3.16
Yi Zhao [Thu, 6 Feb 2020 11:18:12 +0000 (19:18 +0800)]
procps: upgrade 3.3.15 -> 3.3.16

Drop 0001-Fix-out-of-tree-builds.patch since it has been merged
upstream.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython3: Do not hardcode "lib" for distutils
Changqing Li [Fri, 7 Feb 2020 06:07:44 +0000 (14:07 +0800)]
python3: Do not hardcode "lib" for distutils

Get the sys.lib from python3 itself and do not use
hardcoded value of 'lib' for distutils.

Solve the error below that occurs when run "python3 setup.py
install"
on lib64 multilib platform:
[Errno 2] No such file or directory:
'/usr/lib/python3.7/site-packages/test-easy-install-1828.write-test'

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython3: fix the installation path of libpython3.7m.a for multilib
Changqing Li [Fri, 7 Feb 2020 06:07:43 +0000 (14:07 +0800)]
python3: fix the installation path of libpython3.7m.a for multilib

Fix the installation path of libpython3.7m.a on mulitlib lib64
platform to lib64 instead of lib

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomesa: upgrade 19.3.1 -> 19.3.3
Wang Mingyu [Thu, 6 Feb 2020 19:02:54 +0000 (11:02 -0800)]
mesa: upgrade 19.3.1 -> 19.3.3

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoxserver-xorg: upgrade 1.20.6 -> 1.20.7
Alexander Kanavin [Fri, 7 Feb 2020 19:45:58 +0000 (20:45 +0100)]
xserver-xorg: upgrade 1.20.6 -> 1.20.7

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobison: Upgrade to 3.5.1
Khem Raj [Wed, 5 Feb 2020 01:08:19 +0000 (17:08 -0800)]
bison: Upgrade to 3.5.1

Minor upgrade on 3.5 release series

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocryptodev: update to Jan.23, 2020
Scott Branden via Openembedded-core [Thu, 6 Feb 2020 20:57:43 +0000 (12:57 -0800)]
cryptodev: update to Jan.23, 2020

* Remove backported patches:
  0001-Fix-module-loading-with-Linux-v5.0-rc5.patch

Update to latest cryptodev dated Jan.23, 2020.
Fixes build on kernel v5.5+

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosstate.bbclass: fix issue while handling long sstate filenames
Jaewon Lee [Thu, 6 Feb 2020 21:45:11 +0000 (13:45 -0800)]
sstate.bbclass: fix issue while handling long sstate filenames

When moving to python3, divison using '/' now returns float instead of
an integer. In upstream commit b8025e972081b70960ffcbcbe43a7118041556a1
sstate filenames longer than the limit are changed to just include
necessary info + 3 fields just for information. The space left over
after the necessary info is divided into 3 for each of the fields.
Using '//' instead to do the division to solve the following error
message:

avail = (254 - len(hash + "_" + taskname + extension) -
len(components[0]) - len(components[1]) - len(components[5]) -
len(components[6]) - 7) / 3
    >        components[2] = components[2][:avail]
             components[3] = components[3][:avail]
TypeError: slice indices must be integers or None or have an __index__
method

Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopackage.bbclass: Support stripping and debug copy of static libraries
Mark Hatle [Fri, 7 Feb 2020 20:20:08 +0000 (14:20 -0600)]
package.bbclass: Support stripping and debug copy of static libraries

By default, we won't copy and strip static libraries.  However, this
functionality can be useful in some cases where people are doing
development on the target, and don't generally want the larger debug
capable static libraries.  To enable the new functionality set:

    PACKAGE_DEBUG_STATIC_SPLIT = '1'

Add a new function splitstaticdebuginfo.  Thus function will copy the
unmodified static library into the specific debug directory location.
By keeping an unmodified version, it is possible for a user trying
to debug something to use -L /usr/lib/.debug-static and their existing
build commands to switch from stripped to full debug versions.

The PACKAGE_DEBUG_SPLIT_STYLE will select between two different
approaches, /usr/lib/debug-static or <path>/.debug-static.

Additionally you can now choose to strip static libraries to conserve
space.  If either 'PACKAGE_DEBUG_STATIC_SPLIT' or 'PACKAGE_STRIP_STATIC'
is set to 1, the static library will be stripped.  (This is not on by
default, as it could make diagnosing static library usage difficult in
some cases.)

Add to insane.bbclass a skip to the staticdev warning for the specific
-dbg package versions.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopackage.bbclass: Allow INHIBIT_PACKAGE_STRIP_FILES to skip .ko and static libs
Mark Hatle [Fri, 7 Feb 2020 20:20:07 +0000 (14:20 -0600)]
package.bbclass: Allow INHIBIT_PACKAGE_STRIP_FILES to skip .ko and static libs

Change the order of the skip processing to happen before any .ko and static
library processing.  This will allow these types of files to be individually
skipped if necessary.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopackage.bbclass: Fix debug source processing for static libraries
Mark Hatle [Fri, 7 Feb 2020 20:20:06 +0000 (14:20 -0600)]
package.bbclass: Fix debug source processing for static libraries

Format of the sources list is the [ (file, [source, ...]), ... ] before
this change, the static libraries were processed but the items were
included incorrectly causing no sources for static libraries to be
included.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agochkconfig: remove the recipe
Alexander Kanavin [Fri, 7 Feb 2020 19:45:59 +0000 (20:45 +0100)]
chkconfig: remove the recipe

chkconfig is one of the options for virtual/update-alternatives,
however opkg-utils have been used as the default for a very long time,
while chkconfig isn't anymore tested in any way, and is stuck
at a very old version due to newer versions requiring selinux.

[YOCTO #11264]

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoqemurunner.py: add try/except for pid handling race
Trevor Gamblin [Fri, 7 Feb 2020 13:46:52 +0000 (08:46 -0500)]
qemurunner.py: add try/except for pid handling race

In some instances, attempts to remove the qemu pidfile within the
stop() method fail despite the os.path.exists() call immediately
before implying that the file is present. Add a try/except block
to log a warning if this occurs, rather than failing outright,
since the process simply appears to be exiting at an inconvenient
time.

[YOCTO #13675]

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa: Use cpio 2.13 as testcase
Khem Raj [Wed, 5 Feb 2020 05:41:19 +0000 (21:41 -0800)]
oeqa: Use cpio 2.13 as testcase

cpio 2.12 was released in 2015 and might have used older autotools
which could result in errors like

https://bugzilla.yoctoproject.org/show_bug.cgi?id=13779

Bumping to 2.13 will help in matching the tool versions
A good change on top would be to run

aclocal -I .; autoheader; autoconf; automake --add-missing -c

before running configure step perhaps

[YOCTO #13779]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokern-tools: fix merge_config when LD contains parameters
Bruce Ashfield [Fri, 7 Feb 2020 14:52:04 +0000 (09:52 -0500)]
kern-tools: fix merge_config when LD contains parameters

To ensure that the kernel linker is used when allno/mod/yes config
merge_config steps were executed, the call to make was tweaked to
explicitly pass LD.

But since the variable wasn't quoted, any parameters to LD (like
the sysroot) were mistakenly passed to make, and hence could trigger
an error on some architectures.

We also tweak the logging to hightlight errors like this in the
future and avoid losing it in the noise of merge configs sometimes
overly verbose output.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto: fix defconfig detection in find_sccs()
Gavin Li [Thu, 6 Feb 2020 17:35:52 +0000 (12:35 -0500)]
kernel-yocto: fix defconfig detection in find_sccs()

The current code would cause a file like "config.bin" to added to the
config sources list. I am sure the intention was to add any files with
defconfig in its name and not the other way around.

Signed-off-by: Gavin Li <gavinli@thegavinli.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto.bbclass: do_kernel_configme: don't use +errexit, merge_config_build...
Martin Jansa [Thu, 6 Feb 2020 17:35:51 +0000 (12:35 -0500)]
kernel-yocto.bbclass: do_kernel_configme: don't use +errexit, merge_config_build.log and fail when /.config wasn't created

* for whatever reason, instead of silently continuing to build default kernel config

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto.bbclass: set KERNEL_LD also for merge_config.sh
Martin Jansa [Thu, 6 Feb 2020 17:35:50 +0000 (12:35 -0500)]
kernel-yocto.bbclass: set KERNEL_LD also for merge_config.sh

* when ld-is-gold is used, merge_config.sh silently fails and doesn't generate anything
  useful in .config (and also include directory isn't created):

  tmp-glibc-bfd-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build:
  total 164K
  drwxr-xr-x 4 martin martin 4.0K Feb  5 02:27 .
  drwxrwxr-x 7 martin martin 4.0K Feb  5 02:27 ..
  -rw-rw-r-- 1 martin martin 133K Feb  5 02:28 .config
  -rw-rw-r-- 1 martin martin   39 Feb  5 02:27 .gitignore
  drwxr-xr-x 4 martin martin 4.0K Feb  5 02:27 include
  -rw-rw-r-- 1 martin martin  201 Feb  5 02:27 Makefile
  drwxrwxr-x 4 martin martin 4.0K Feb  5 02:27 scripts
  lrwxrwxrwx 1 martin martin   61 Feb  5 02:27 source -> /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source

  tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build:
  total 28K
  drwxr-xr-x 3 martin martin 4.0K Feb  5 02:26 .
  drwxrwxr-x 7 martin martin 4.0K Feb  5 02:26 ..
  -rw-rw-r-- 1 martin martin   74 Feb  5 02:26 .config
  -rw-rw-r-- 1 martin martin   39 Feb  5 02:26 .gitignore
  -rw-rw-r-- 1 martin martin  201 Feb  5 02:26 Makefile
  drwxrwxr-x 4 martin martin 4.0K Feb  5 02:26 scripts
  lrwxrwxrwx 1 martin martin   61 Feb  5 02:26 source -> /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source

  $ cat tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config
  CONFIG_LOCALVERSION="-yocto-standard"

* and because the failure is silent, it will happily start building
  kernel with default defconfig, which even builds OK for qemux86-64
  but on qemux86 I've noticed this issue, because incorrectly
  configured kernel build fails with:

  $ tail -n 20 tmp-glibc-gold-qemux86/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/log.do_compile
    LD       /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/libsubcmd-in.o
    AR       /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/libsubcmd.a
    HOSTCC  scripts/mod/mk_elfconfig
    CC      scripts/mod/devicetable-offsets.s
    CC      scripts/mod/empty.o
  cc1: error: code model 'kernel' not supported in the 32 bit mode
  cc1: sorry, unimplemented: 64-bit mode not compiled in
  make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/Makefile.build:99: scripts/mod/devicetable-offsets.s] Error 1
  make[2]: *** Waiting for unfinished jobs....
  cc1: error: code model 'kernel' not supported in the 32 bit mode
  cc1: sorry, unimplemented: 64-bit mode not compiled in
  make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/Makefile.build:266: scripts/mod/empty.o] Error 1
  make[1]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:1111: prepare0] Error 2
  make[1]: *** Waiting for unfinished jobs....
    LD       /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/objtool-in.o
  /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/tools/objtool
    LINK     /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/objtool
  make: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:179: sub-make] Error 2
  WARNING: exit code 1 from a shell command.

* the issue happens in log.do_kernel_configme, but the log is completely useless:

  cat tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/log.do_kernel_configme
  DEBUG: Executing python function extend_recipe_sysroot
  NOTE: Direct dependencies are ['virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/bison/bison_3.5.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb:do_populate_sysroot', 'virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-extended/bc/bc_1.07.1.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/binutils/binutils-cross_2.33.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_9.2.bb:do_populate_sysroot']
  NOTE: Installed into sysroot: ['bison-native', 'bc-native', 'binutils-cross-i686', 'gcc-cross-i686', 'autoconf-native', 'xz-native', 'flex-native', 'gnu-config-native', 'automake-native', 'libtool-native', 'texinfo-dummy-native', 'gettext-minimal-native', 'readline-native', 'zlib-native', 'gmp-native', 'libmpc-native', 'mpfr-native', 'linux-libc-headers', 'm4-native', 'ncurses-native', 'pkgconfig-native']
  NOTE: Skipping as already exists in sysroot: ['kern-tools-native', 'quilt-native']
  DEBUG: sed -e 's:^[^/]*/:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/:g' /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/bison-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gcc-cross-i686/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/autoconf-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gnu-config-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/automake-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/libtool-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gmp-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/ncurses-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/pkgconfig-native/fixmepath | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot:g; s:FIXMESTAGINGDIRHOST:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native:g' -e 's:FIXME_PSEUDO_SYSROOT:/OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/pseudo-native:g' -e 's:FIXME_HOSTTOOLS_DIR:/OE/build/oe-core/tmp-glibc/hosttools:g' -e 's:FIXME_PKGDATA_DIR:/OE/build/oe-core/tmp-glibc/pkgdata/qemux86:g' -e 's:FIXME_PSEUDO_LOCALSTATEDIR:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/pseudo/:g' -e 's:FIXME_LOGFIFO:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/fifo.10476:g'
  DEBUG: Python function extend_recipe_sysroot finished
  DEBUG: Executing shell function do_kernel_configme
  DEBUG: Shell function do_kernel_configme finished

  ]because merge_config.sh is redirected to work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log
  and bbfatal_log called in do_kernel_configme only when merge_config.sh fails which it should in this case
  but doesn't.

  The merge_config_build.log shows 5.4 specific error:
    scripts/Kconfig.include:39:  gold linker 'i686-oe-linux-ld' not supported
  but then it happily continues reporting what isn't applied in not created
  .config file

  --- tmp-glibc-bfd-qemux86-do_kernel_configme/work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log  2020-02-05 02:28:01.455520207 +0100
  +++ tmp-glibc-gold-qemux86-do_kernel_configme/work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log 2020-02-05 02:26:30.656470909 +0100
  @@ -171,586 +171,5113 @@
     HOSTCC  scripts/kconfig/symbol.o
     HOSTLD  scripts/kconfig/conf
   scripts/kconfig/conf  --alldefconfig Kconfig
  -./.tmp.config.jDjIEYi9Yq:2208:warning: unexpected data:  #
  -./.tmp.config.jDjIEYi9Yq:2209:warning: unexpected data:  # Generic Driver Options
  -./.tmp.config.jDjIEYi9Yq:2210:warning: unexpected data:  #
  -./.tmp.config.jDjIEYi9Yq:3102:warning: symbol value 'm' invalid for SAMPLE_SECCOMP
  -./.tmp.config.jDjIEYi9Yq:3119:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE
  -./.tmp.config.jDjIEYi9Yq:3120:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP
  -./.tmp.config.jDjIEYi9Yq:3121:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE
  -#
  -# configuration written to .config
  -#
  +scripts/Kconfig.include:39:  gold linker 'i686-oe-linux-ld' not supported
  +make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/kconfig/Makefile:73: alldefconfig] Error 1
  +make[1]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:567: alldefconfig] Error 2
   make[1]: Leaving directory '/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build'
  +make: *** [Makefile:179: sub-make] Error 2
  +grep: /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config: No such file or directory
  +Value requested for CONFIG_LOCALVERSION not in final .config
  +Requested value:  CONFIG_LOCALVERSION=""
  +Actual value:
  +
  +grep: /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config: No such file or directory
  +Value requested for CONFIG_LOCALVERSION_AUTO not in final .config
  +Requested value:  # CONFIG_LOCALVERSION_AUTO is not set
  +Actual value:

* I don't know why merge_config.sh uses separate more difficult to find merge_config_build.log
  instead of leaving the output to end in log.do_kernel_configme, I'll send it as separate
  commit so that it can be discussed there.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto: Only override CONFIG_LOCALVERSION if LINUX_VERSION_EXTENSION is set
Paul Barker [Thu, 6 Feb 2020 17:35:49 +0000 (12:35 -0500)]
kernel-yocto: Only override CONFIG_LOCALVERSION if LINUX_VERSION_EXTENSION is set

CONFIG_LOCALVERSION may already be set in a defconfig or config fragment
and this should not be unconditionally overridden.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto: Drop setting of unused variables in do_kernel_metadata
Paul Barker [Thu, 6 Feb 2020 17:35:48 +0000 (12:35 -0500)]
kernel-yocto: Drop setting of unused variables in do_kernel_metadata

The machine_branch and machine_srcrev variables were set but not used in
do_kernel_metadata.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto: Move defaults and tasks from linux-yocto.inc into bbclass
Paul Barker [Thu, 6 Feb 2020 17:35:47 +0000 (12:35 -0500)]
kernel-yocto: Move defaults and tasks from linux-yocto.inc into bbclass

This allows the kernel-yocto bbclass to be inherited in a recipe without
needing to include linux-yocto.inc. The bbclass should stand on its own
and linux-yocto.inc does a few things which may not be desired in other
kernel recipes (such as modifying KERNEL_FEATURES).

The LINUX_VERSION_EXTENSION default is not moved as other kernel recipes
may not want this setting in place.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokern-tools-native: use more common S value and oe_runmake
Martin Jansa [Thu, 6 Feb 2020 17:35:46 +0000 (12:35 -0500)]
kern-tools-native: use more common S value and oe_runmake

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokern-tools: integrate merge_config fix for gold linker
Bruce Ashfield [Thu, 6 Feb 2020 17:35:45 +0000 (12:35 -0500)]
kern-tools: integrate merge_config fix for gold linker

Bumping the SRCREV to pickup the following fix:

   Author: Martin Jansa <Martin.Jansa@gmail.com>
   Date:   Wed Feb 5 03:26:57 2020 +0100

       merge_config.sh: pass LD variable from shell environment to make

       * since 5.4 kernel Kconfig will fail immediately when it detects
         that LD points to gold linker:

         scripts/Kconfig.include:39:  gold linker 'i686-oe-linux-ld' not supported

       * in OE we already pass bfd linker in KERNEL_LD variable to merge_config.sh
         but we need to pass it also into the make call here

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokern-tools: tweak symbol_why to be python safe
Bruce Ashfield [Thu, 6 Feb 2020 17:35:44 +0000 (12:35 -0500)]
kern-tools: tweak symbol_why to be python safe

Updating the SRCREV to pickup tweaks to symbol_why.py to be
python3 safe:

  - we explicitly call /usr/bin/env python3
  - we full specifiy our symbols
  - do not assume that 'None' can be converted to a string

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoncurses: Fix reproducibility issue
Richard Purdie [Fri, 7 Feb 2020 15:09:48 +0000 (15:09 +0000)]
ncurses: Fix reproducibility issue

The build was deciding whether to rename manpages based upon the presence of
/etc/debian_version. Be explicit about the configuration instead and
ensure determinism.

[YOCTO #13781]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibevdev: Fix determinism issue
Richard Purdie [Fri, 7 Feb 2020 12:29:56 +0000 (12:29 +0000)]
libevdev: Fix determinism issue

We need to sort python dict output to be deterministic and generate consistent
header files.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosysvinit: Fix Reproducibility issue
Richard Purdie [Fri, 7 Feb 2020 14:33:30 +0000 (14:33 +0000)]
sysvinit: Fix Reproducibility issue

With a sequence like:

bitbake sysvinit
bitbake sysvinit -c clean
bitbake sysvinit -c package_write_ipk -f

then the resulting package has two files with group "root/70" rather
than "root/shutdown". The issue is that of do_package is a setscene
task, base-passwd isn't present. This patch fixes that dependency
but there may be other cases of this problem around.

[YOCTO #13776]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosudo: specify where target tools are
Ross Burton [Fri, 7 Feb 2020 14:29:28 +0000 (14:29 +0000)]
sudo: specify where target tools are

sudo uses AC_PATH_PROG to find target paths, which means at best
potential host-contamination (and reproducible issues) and at worst it
thinks sh is at /your/build/path/hosttools/sh.

Solve this by explicitly passing the correct paths to configure.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibgcrypt: Fix determinism issue
Richard Purdie [Thu, 6 Feb 2020 23:58:46 +0000 (23:58 +0000)]
libgcrypt: Fix determinism issue

The build was injection git information from the wrong git tree, stop this
to allow reproducible builds.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibinput: Fix determinism issue
Richard Purdie [Thu, 6 Feb 2020 23:57:28 +0000 (23:57 +0000)]
libinput: Fix determinism issue

The build was injection git information from the wrong git tree, stop this
to allow reproducible builds.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoiputils: Fix build determinism
Richard Purdie [Thu, 6 Feb 2020 23:34:46 +0000 (23:34 +0000)]
iputils: Fix build determinism

The suid/setcap code depends on whether setcap is on the host system or not
with suid as a fallback. Disable this functionality to be deterministic.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoopenssl: Fix reproducibility issue
Richard Purdie [Thu, 6 Feb 2020 22:47:07 +0000 (22:47 +0000)]
openssl: Fix reproducibility issue

There was a build architecture leaking into the target ptest which
could vary depending upon host. Remove it as its cosmetic.

[YOCTO #13770]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoperl: Fix various reproducibile build issues
Richard Purdie [Wed, 5 Feb 2020 23:54:02 +0000 (23:54 +0000)]
perl: Fix various reproducibile build issues

Add a patch which handles the following issues:

a) Remove the \n from configure_attr.sh since it gets quoted differently depending on
   whether the shell is bash or dash which can cause the test result to be incorrect.
   Reported upstream: https://github.com/arsv/perl-cross/issues/87

b) Sort the order of the module lists from configure_mods.sh since otherwise
   the result isn't the same leading to makefile differences.
   Reported upstream: https://github.com/arsv/perl-cross/issues/88

c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst
   there for good measure)
   This needs to go to upstream perl (not done)

d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash
   and "" with dash
   Reported upstream: https://github.com/arsv/perl-cross/issues/87

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoperl: do not install files that contain build host specific data
Alexander Kanavin [Thu, 6 Feb 2020 22:14:38 +0000 (23:14 +0100)]
perl: do not install files that contain build host specific data

This was breaking reproducibility, and the files aren't needed on
target.

[YOCTO #13772]

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomicroblaze: Adjust Linux items from microblazeeb to microblaze
Mark Hatle [Tue, 4 Feb 2020 21:06:30 +0000 (15:06 -0600)]
microblaze: Adjust Linux items from microblazeeb to microblaze

Due to recent changes to the tune, in order to match config.guess, the name
of the big-endian microblaze architecture was changes to 'microblaze'.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomicroblaze tune: cleanup +=
Mark Hatle [Tue, 4 Feb 2020 21:06:29 +0000 (15:06 -0600)]
microblaze tune: cleanup +=

Various += were used, refactor these to be either = or .= depending on
usuage.

CONFLICTS should be '=', as no leading space is required and they are not
amending any other conflict settings.

The TUNE_CCARGS should be .= so that if the feature does not define a CCARG
blank spaces are not added to the CFLAGS.  This is consistent to how the arm
tuning is implemented.

Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomicroblaze tune: Enable 64-bit
Mark Hatle [Tue, 4 Feb 2020 21:06:28 +0000 (15:06 -0600)]
microblaze tune: Enable 64-bit

64-bit is not yet available in Linux, but some non-Linux uses exist.

Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomicroblaze tune: Allow no version to be set
Mark Hatle [Tue, 4 Feb 2020 21:06:27 +0000 (15:06 -0600)]
microblaze tune: Allow no version to be set

We want to allow no version to be configured.  This should use the GCC default
which is the latest defined version, currently 11.0.

Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomicroblaze tune: change microblazeeb to microblaze
Mark Hatle [Tue, 4 Feb 2020 21:06:26 +0000 (15:06 -0600)]
microblaze tune: change microblazeeb to microblaze

Using microblazeeb breaks a number of autoconf recipes, including newlib
components.  'microblaze' is defined as the big-endian version, while
microblazeel is defined as the little-endian version.

config.sub: 2018-07-03

...
        | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
...
        | microblaze-* | microblazeel-* \
...
        microblaze*)
                basic_machine=microblaze-xilinx
...

Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agogtk+3: sort resources for reproducible binaries
Ross Burton [Wed, 5 Feb 2020 17:32:01 +0000 (17:32 +0000)]
gtk+3: sort resources for reproducible binaries

The list of resources is gathered with $(wildcard) in Make, which isn't
sorted. If this order changes then the generated libraries will differ.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibidn2: Fix reproducibility issue
Richard Purdie [Wed, 5 Feb 2020 15:55:16 +0000 (15:55 +0000)]
libidn2: Fix reproducibility issue

The previous tweak for reproducibility didn't handle the duplicate
whitepace left behind, fix this.

[YOCTO #13771]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agotar: Fix build determinism, disable rsh
Richard Purdie [Wed, 5 Feb 2020 15:37:19 +0000 (15:37 +0000)]
tar: Fix build determinism, disable rsh

rsh is insecure and obsolete but tar will enable support if the binary is
on the host system. Some systems point it at ssh. Lets explictly disable it
for now unless someone actually needs/uses this at which point it could
become a packageconfig.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoxserver-xorg: Fix reproducibility issue
Richard Purdie [Wed, 5 Feb 2020 10:27:59 +0000 (10:27 +0000)]
xserver-xorg: Fix reproducibility issue

The host kernel version was being encoded into the Xorg binary. Set
an appropriate configure option to avoid this and be deterministic.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopatch: Extend to native/nativesdk and depend upon
Richard Purdie [Tue, 4 Feb 2020 22:20:35 +0000 (22:20 +0000)]
patch: Extend to native/nativesdk and depend upon

There is a bug in patch 2.7.3 and earlier where index lines
in patches can change file modes when they shouldn't:
http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4

This leaks into debug sources in particular (e.g. tcp-wrappers where
source files are read-only). Add the dependency to target recipes
to avoid this problem until we can rely on 2.7.4 or later.

We could try and remove all index lines from patch files but it will be a
losing battle. We could try and identify all the recipes which change
modes on files in patches but again, its a losing battle.

Instead, compromise and have patch-native as a dependency
for target recipes. We use patch-replacement-native since patch-native
is in ASSUME_PROVIDED.

Also add nativesdk-patch to buildtools-tarball.

[YOCTO #13777]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomc: Fix manpage date indeterminism
Richard Purdie [Tue, 4 Feb 2020 18:12:15 +0000 (18:12 +0000)]
mc: Fix manpage date indeterminism

The man page date can vary depending upon the host perl, e.g. in Russian
some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
Rather than depend upon perl-native to fix this, just remove the date from
the manpages.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomc: Set zipinfo presence determinstically
Richard Purdie [Tue, 4 Feb 2020 13:59:26 +0000 (13:59 +0000)]
mc: Set zipinfo presence determinstically

This value was floating causing differences in generated files.
Set it determinstically.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa/reproducible: Improve test output and ensure deb+ipk compared
Richard Purdie [Mon, 3 Feb 2020 23:39:29 +0000 (23:39 +0000)]
oeqa/reproducible: Improve test output and ensure deb+ipk compared

Adding newline characters between the packages in the failure output
massively improves readability.

Also ensure to output ipk failures when there are deb failures by
calling self.fail() at the end, else sometimes only partial differences
are returned.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoopkg-utils: Fix reproducibility issues in opkg-build
Richard Purdie [Mon, 3 Feb 2020 20:39:14 +0000 (20:39 +0000)]
opkg-utils: Fix reproducibility issues in opkg-build

There is a sorting problem with opkg-build where the ipk generated is depending
upon the order of files on disk. The reason is the --sort option to tar only
influences the orders of files tar reads, not those passed by the -T option.

Add in a sort call to resolve this issue. To ensure consistent sorting we
also need to force to a specific locale (C) else the results are still not
deterministic.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosqlite3: upgrade 3.30.1 -> 3.31.1
Anuj Mittal [Tue, 4 Feb 2020 05:51:45 +0000 (13:51 +0800)]
sqlite3: upgrade 3.30.1 -> 3.31.1

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibxml2: fix CVE-2020-7595
Anuj Mittal [Tue, 4 Feb 2020 05:47:06 +0000 (13:47 +0800)]
libxml2: fix CVE-2020-7595

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoncurses: add CVE_VERSION
Anuj Mittal [Tue, 4 Feb 2020 05:47:05 +0000 (13:47 +0800)]
ncurses: add CVE_VERSION

Include the version number in a format that is comparable to what we get
from NVD.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agox264: upgrade to latest revision
Anuj Mittal [Tue, 4 Feb 2020 05:47:04 +0000 (13:47 +0800)]
x264: upgrade to latest revision

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agogcc-9.2: fix bug #91102 'aarch64 ICE on Linux kernel with -Os'
Taras Kondratiuk via Openembedded-core [Tue, 4 Feb 2020 02:20:06 +0000 (02:20 +0000)]
gcc-9.2: fix bug #91102 'aarch64 ICE on Linux kernel with -Os'

Linux kernel compilation for aarch64 triggers ICE if
CONFIG_CC_OPTIMIZE_FOR_SIZE=y.

The rootcause is GCC bug #91102 'aarch64 ICE on Linux kernel with -Os'.
Apply the fix to 9.2.

Signed-off-by: Taras Kondratiuk <takondra@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agowebkitgtk: Prefer -pthread over -lpthread
Khem Raj [Tue, 4 Feb 2020 01:45:36 +0000 (17:45 -0800)]
webkitgtk: Prefer -pthread over -lpthread

-pthread is compiler driver option which links in needed dependencies
for pthreads along with -lpthread, this aids in fixing build failures
on rv64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agologrotate.py: improve oeqa test implementation
Trevor Gamblin [Fri, 24 Jan 2020 01:29:28 +0000 (20:29 -0500)]
logrotate.py: improve oeqa test implementation

See bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=13632

Autobuilder tests occasionally fail, reporting that a new logfile
could not be created. While this failure did occur multiple times, it
could not be manually reproduced. However, there are issues with the
implementation of the logrotate.py script that can be fixed. These
changes will help make the failures clearer, should they continue to
occur.

Previously, the test_2_logrotate test would, after running the
logrotate tool, use "ls -al $HOME/logrotate_dir | wc -l" to count
the number of files in the rotation directory and determine if the
rotation was successful. The test to see if there are at least three
files is problematic, because depending on the version of ls used, it
may report the target value of 3 even when there are only hidden files
in the directory, potentially reporting a pass for the test when it
should actually fail. An example with coreutils:

root@qemux86-64:~# ls -al emptydir/
total 2
drwxr-xr-x 2 root root 1024 Jan 14 19:50 .
drwx------ 3 root root 1024 Jan 14 19:50 ..
root@qemux86-64:~#

Where "total" is the number of blocks used. Compare with busybox ls:

root@qemux86-64:~# ls -al emptydir/
drwxr-xr-x    2 root     root          1024 Jan 14 19:54 .
drwx------    3 root     root          1024 Jan 14 19:54 ..
root@qemux86-64:~#

Instead of using ls to verify that a certain number of files exists
in $HOME/logrotate_dir, the tests have been changed to rotate two
specific logs: the log for wtmp and a new logrotate_testfile created
during the second test. Both tests check that the logs are correctly
rotated into $HOME/logrotate_dir by using find and grep on the
expected filename (e.g. "wtmp" when rotated becomes "wtmp.1", so we
check to see that wtmp.1 is present in $HOME/logrotate_dir). In
addition, should the test fail, the output from logrotate -vf is
included in the test log to aid debugging. It has also been seen that
in some cases, the logrotate test fails because the /var/log/wtmp file
is not yet present. Since the objective of the test is to check the
logrotate functionality and not the presence of certain log files,
test_logrotate_wtmp uses the touch command to help ensure that the
file is present before the call to logrotate is issued.

Finally, note that while the autobuilder failures that this patch
addresses were only seen during core-image-full-cmdline tests, these
changes were successfully tested on core-image-minimal and
core-image-sato with the manual addition of logrotate and openssh-sshd
to the images.

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomusl: Update to latest on master
Khem Raj [Sun, 2 Feb 2020 18:34:59 +0000 (10:34 -0800)]
musl: Update to latest on master

Details on commit delta [1]

[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=83350eb17b9cb355e3f08b0340c4f1e8c437fac9..e6093b5a870a38ebfb3e54382acd48c698bde15d

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agonetbase: Upgrade to 6.0
Khem Raj [Sun, 2 Feb 2020 18:34:58 +0000 (10:34 -0800)]
netbase: Upgrade to 6.0

adjust install to pick new files from S

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobaremetal-helloworld: Create recipe for baremetal examples on QEMU
Alejandro Enedino Hernandez Samaniego [Fri, 31 Jan 2020 09:54:42 +0000 (01:54 -0800)]
baremetal-helloworld: Create recipe for baremetal examples on QEMU

Create HelloWorld examples that run on several of the QEMU architectures
supported by the build system.

This recipe can be used by anyone to understand how baremetal applications
can be built using OpenEmbedded and how the wiring to set them up could be.

This should also facilitate creating/extending the OE testing infrastructure
to allow baremetal applications or RTOSs to be tested in the same way that
Linux currently is.

This can easily be extended to work on other MACHINES in the future.

To run this example:

$ source oe-init-buildenv

$ bitbake-layers add-layer ../meta-skeleton

# TCLIBC="baremetal" would work as well
$ echo "TCLIBC = \"newlib\"" >> ./conf/local.conf

$ echo "MACHINE = \"qemuarm64\"" >> ./conf/local.conf

$ bitbake baremetal-helloworld

$ runqemu

runqemu - INFO - Running bitbake -e ...
runqemu - INFO - Continuing with the following parameters:
KERNEL: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]
MACHINE: [qemuarm64]
FSTYPE: [bin]
ROOTFS: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.bin]
CONFFILE: [tmp/deploy/images/qemuarm64/baremetal-helloworld-qemuarm64.qemuboot.conf]

Hello OpenEmbedded!

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel-yocto.bbclass: export LD in the environment used by kconf_check
Martin Jansa [Mon, 3 Feb 2020 22:44:20 +0000 (23:44 +0100)]
kernel-yocto.bbclass: export LD in the environment used by kconf_check

* resolves following exceptions in log.do_kernel_configcheck:
DEBUG: Executing python function do_kernel_configcheck
Traceback (most recent call last):
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2776, in _expand_macro
    res += args[int(new_args[0])]
ValueError: invalid literal for int() with base 10: 'error-if'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/symbol_why.py", line 295, in <module>
    conf = kconfiglib.Kconfig( kconf, show_errors, show_errors )
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 947, in __init__
    self._init(filename, warn, warn_to_stderr, encoding)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 1085, in _init
    self._parse_block(None, self.top_node, self.top_node).next = None
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2982, in _parse_block
    prev = self._parse_block(None, parent, prev)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2907, in _parse_block
    while self._next_line():
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2234, in _next_line
    self._tokens = self._tokenize(line)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2364, in _tokenize
    self._parse_assignment(s)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2604, in _parse_assignment
    s, i = self._expand_macro(s, i, ())
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2780, in _expand_macro
    res += self._fn_val(new_args)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2843, in _fn_val
    return py_fn(self, *args)
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 6769, in _error_if_fn
    kconf.filename, kconf.linenr, msg))
kconfiglib.KconfigError: scripts/Kconfig.include:39:  gold linker 'x86_64-oe-linux-ld --sysroot=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot  ' not supported
Traceback (most recent call last):
  File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2776, in _expand_macro
    res += args[int(new_args[0])]
ValueError: invalid literal for int() with base 10: 'error-if'

* there is still 291 mismatched options in default 5.4.15 builds,
  but at least the 11804 lines long log doesn't start with 9022 lines of above exceptions

  DEBUG: Executing python function do_kernel_configcheck
  [mismatch (291)]: /OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/.kernel-meta/cfg/mismatch.txt
     There were hardware options requested that do not
     have a corresponding value present in the final ".config" file.
     This probably means you aren't getting the config you wanted.

  WARNING: [kernel config]: specified values did not make it into the kernel's final configuration:
  ...

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Upgrade 243.2 -> 243.4-latest
Alex Kiernan [Mon, 3 Feb 2020 22:35:26 +0000 (22:35 +0000)]
systemd: Upgrade 243.2 -> 243.4-latest

Update to latest on the 243 stable branch. This includes (amongst other
fixes) seccomp filter changes which fix failures with glibc 2.31, e.g.

  systemd-journald[543]: Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at src/basic/time-util.c:55, function now(). Aborting.

Refresh:
  0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
  0001-do-not-disable-buffer-in-writing-files.patch

Drop 0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch,
fixed in 5c0224c7bf3c ("Handle d_type == DT_UNKNOWN correctly").

Drop 0001-seccomp-more-comprehensive-protection-against-libsec.patch,
fixed in 70e8c1978a9a ("seccomp: real syscall numbers are >= 0").

Drop 0004-rules-whitelist-hd-devices.patch and
0005-rules-watch-metadata-changes-in-ide-devices.patch which cause
ide-cd to flap with tray open messages (and don't appear to be required
any more)

Commits from v243-stable:

  70e8c1978a9a seccomp: real syscall numbers are >= 0
  a0a1977d9a5d seccomp: more comprehensive protection against libseccomp's __NR_xyz namespace invasion
  7f936c60d597 network: set ipv6 mtu after link-up or device mtu change
  b59d88cc62a4 man: fix typo in net-naming-scheme man page
  c5e5ac095821 man: fix typos (#14304)
  9a2f26564d5a ipv4ll: do not reset conflict counter on restart
  bc9e1ebfdd3b Fix typo (duplicate "or")
  c6cb71b7e741 network: if /sys is rw, then udev should be around
  67dcdfd95629 nspawn: do not fail if udev is not running
  a7938a1bc6d3 Create parent directories when creating systemd-private subdirs
  53aa44f8738a network: do not return error but return UINT64_MAX if speed meter is disabled
  65abf126744f core: swap priority can be negative
  b1cf452ff5f6 systemctl: enhance message about kexec missing kernel
  07a0e5b42523 man: use mkswap@ instead of makeswap@
  57dc017c6bac journald: don't ask for the machine ID if we don't need it
  ac392a57c08c journalctl: pager_close() calls fflush(stdout) anyway as first thing
  ee7dfadc8237 journald: remove unused field
  471073f1b52b journalctl: return EOPNOTSUPP if pcre is not enabled
  002ededb61a0 man: drop reference to machined, add one for journald instead
  fd3bd4be3bff pid1: make TimeoutAbortSec settable for transient units
  eb2ef4d6643e pid1: fix setting of DefaultTimeoutAbortSec
  1d75e29b2378 shared/ask-password-api: modify keyctl break value
  a16b1ee7e565 cryptsetup: reduce the chance that we will be OOM killed
  4836fb010ae8 core: write out correct field name when creating transient service units
  3e2c547f6d3c udevd: don't use monitor after manager_exit()
  d42f7d45a8e2 Revert "udevd: fix crash when workers time out after exit is signal caught"
  c9a287eee8fd man/systemd.link: Add missing verb *be*
  a67a3ae04b89 man: document all pager variables for systemctl and systemd
  3a8fce3f38b6 core.timer: fix "systemd-analyze dump" and docs syntax inconsistencies wrt OnTimezoneChange=
  fdffd284b682 core/service: downgrade "scheduling restart" message to debug
  733e7f19d3cf travis: add missing closing quote sign
  0d7b7817fc34 systemd-tmpfiles: don't install timer when service isn't installed either
  0e7f83cd2b31 pam_systemd: prolong method call timeout when allocating session
  e51d9bf9e5ac man: add entry about SpeedMeter=
  aa1fc791c7a1 udev: silence warning about PROGRAM+= or IMPORT+= rules
  b9a619bb6738 udevadm: ignore EROFS and return earlier
  1ec5b9f80cb5 basic: add vmware hypervisor detection from device-tree
  7fa7080248aa umount: be happy if /proc/swaps doesn't exist
  71ccd774bb33 shutdown: make logging more useful if NULL swap/mount table files are specified
  38453c6d42e4 man: share description of $SYSTEMD_COLORS in other tools
  b50ca0152681 core: do not propagate polkit error to caller
  99b72a66ca55 ask-password: don't hit assert() when we query pw which the user C-d and caching is enabled
  288edd686911 man: mention $RUNTIME_DIRECTORY & friends in environment list
  37aeadd433d3 cryptsetup-generator: guess whether the keyfile argument is two items or one
  a87e8fdc72d7 verify: fix segmentation fault
  3aea728cd2d2 timedated: it might be that tzinfo files are just not installed
  cc103c72abc1 timedated: handle UTC specially, when generating /etc/localtime
  f5a4caa5418b time-util: treat /etc/localtime missing as UTC
  2139d58652bb bpf: fix off-by-one in class whitelisting
  cb7693595db9 bpf: fix device type filter
  56e1ba304b00 core: constify bpf program arrays
  b06b7ace92c1 run: propagate return code/status from the child
  5db454b8031c udevd: fix crash when workers time out after exit is signal caught
  b774282a855e udev: ignore error caused by device disconnection
  8d88a2ecd7ce udev: fix error code in the log message
  c41484a2f3d7 udev: ignore ENOENT when chmod_and_chown() device node
  f218b65b3246 udev: do not append newline when write attributes
  ce4d17ddbc16 time-util: uniquify timezone list, in case UTC is listed in timezone1970.tab, too
  28f0b34c57bc time-util: always accept UTC as valid timezone
  8b888d236007 seccomp: add all *time64 syscalls
  53d8feeb2334 libblkid: open device in nonblock mode.
  b9478046b03d man: describe ordering in case of Conflicts=
  fa3e5bd2bbb4 man: put description of Wants= above Requires=
  bdebd2c325fc meson: remove strange dep that causes meson to enter infinite loop
  26bc77d8e5af man: fix option typo in pam_systemd man page
  9c12127e3d2e man: save pull-raw example file without underscores
  4c106cbcf1af man: small grammatical/word choice fixes to crypttab man page
  03cc374fca74 shared/format-table: disable ellipsization when piped
  0a5497d3fa4b sd-device-enumerator: do not return error when a device is removed
  7b0d0331d051 bootctl: create leading dirs when "bootctl random-seed" is called if needed
  5aab35aac9db core, job: fix breakage of ordering dependencies by systemctl reload command
  cd86ae937305 journalctl: allow running vacuum on remote journals, too
  fc0451bc0a3f allow an empty DefaultInstance= in configuration files
  587266c24aae man/systemd.net-naming-scheme: fix typo
  e0e63f0f9bb9 nspawn: respect quiet on capabilities warning
  37e50c05b564 nspawn: mangle slice name
  4fefc493541e mkosi: Find hostname command on Arch Linux
  c430e8affba4 Fix mkosi on Arch Linux
  1765b8d803dd Update to Fedora31
  0b9a2a9a9868 sd-boot: Silence compiler warning when building with -O2
  24e02f8d49b6 sd-boot: Don't loudly complain if RNG protocol isn't available
  14e377ef3519 sd-boot: Only disable optimization on debug builds
  a39008ddecb9 meson: correct man page deps
  4c1dcc06fa30 sd-event: don't invalidate source type on disconnect
  fb89ee34cedc analyze: fix minor memleak
  a449299bc087 analyze: sort list of unknown syscalls kernel implements
  51ea58a04b18 seccomp: add new Linux 5.3 syscalls to syscall filter lists
  819695c8b027 resolved: check for IP in certificate when using DoT with GnuTLS
  37f817e21097 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS
  32056809baa2 coverity: replace python with jq
  d2b4d7ee17de network-generator: Add missing help for --root
  f1b18c206208 modules-load: do not fail service if modules are not present
  606de6626714 pid1: order .automount units after local-fs-pre.target
  1366b81f2bc5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error()
  84d5cd699e25 shared/install: fix error codes returned by install_context_apply()
  417779c58a86 man: alias names can't be used with enable command
  00af6c447f25 resolved: set stream type during DnsStream creation
  66dd9d7d25fd sd-device: allow sd_device_get_devtype to be called with NULL arg and do not assert
  048f9da1a4b3 Remove unused plymouth_running() function
  34fa67bbe732 machine-id-setup: avoid unexpected aborting
  24c99fa2ef3d test-socket-util: avoid writing past the defined buffer
  ce82233f99b3 test: drop duplicated 's'
  75a0e7209114 nspawn: fix handling of --console=help
  f41a282875fc Revert "sysusers: properly mark generated accounts as locked"
  fc2dceac6172 Remove unprintable non-ASCII char from special glyph ASCII fallback table
  dedf5b511e6f logind: fix emission of PropertiesChanged for users
  6e3cfe2e58f5 logind: fix emission of PropertiesChanged on seats
  a9152084d7e9 resolved: fix connection failures with TLS 1.3 and GnuTLS
  961879ed9ddb udev: tag any display devices as master-of-seat when nomodeset is used
  8aa7bafa1295 systemd-fsck: fix systemd-fsck/fsck pipe bad closure
  19590e289ace ceph is a network filesystem
  339606ad9e99 portabled: allow to detach an image with a unit in linked-runtime state
  bd9692734ac5 network: ndisc: do not drop all prefixes when a prefix matches a blacklist
  5e6d4f8b79e0 systemctl: fix memleak caused by wrong cleanup func
  47d0e23d26af udev: fix memleak caused by wrong cleanup function
  a6fb0542c5ef parse_hwdb: fix compatibility with pyparsing 2.4.*
  cb1d892f1780 parse_hwdb: process files in order
  ef677436aa20 test: Pass personality test even when i686 userland runs on x86_64 kernel
  3f6398c450b8 docs: fix inadvertent change in uid range
  25bb377a73e7 cgroup: fix typo in BPF firewall support warning message
  6d97aca0d503 fix build with compilers with default stack-protector enabled
  fbad077cec34 nspawn: surrender controlling terminal to PID2 when using the PID1 stub
  0553c3c66889 pid1: fix DefaultTasksMax initialization
  f406a691a722 src/core/automount: use DirectoryMode when calling mkdir -p
  20438f96c326 udevadm trigger: do not propagate EACCES and ENODEV
  6480630bc397 hwdb: Correct WWWW Pattern In Documentation Comment
  9d8e889810b5 nspawn: consistenly fail if parsing the environment fails
  40e169b30423 nspawn: default to unified hierarchy if --as-pid2 is used
  b5df1037a0c0 cgroup: Mark memory protections as explicitly set in transient units
  f14e3e02cca7 cgroup: Respect DefaultMemoryMin when setting memory.min
  ea248e53bf76 cgroup: Check ancestor memory min for unified memory config
  de1d25a506db cgroup: docs: memory.high doc fixups
  2ab45f38d8c4 cgroup: docs: Mention unbounded protection for memory.{low,min}
  19a43dc38a13 Consider smb3 as remote filesystem
  5c0224c7bf3c Handle d_type == DT_UNKNOWN correctly
  8282bc61df10 util-lib: Don't propagate EACCES from find_binary PATH lookup to caller
  9d0ae987a634 network: drop noisy log message
  f67f0e4ec45a Updated log message when the timesync happens for the first time (#13624)
  e151bf467494 units: make systemd-binfmt.service easier to work with no autofs
  2b8e574d8242 Corect man page reference in systemd-nologin.conf comments
  a0577353f191 man: Add a missing space in machinectl(1)
  693e98398869 log: Add missing "%" in "%m" log format strings
  ea7151b8c435 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist
  b90549290e33 man: fix typo

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython3-six: Move src_uri checks to recipe main
Khem Raj [Mon, 3 Feb 2020 20:50:49 +0000 (12:50 -0800)]
python3-six: Move src_uri checks to recipe main

.inc is used by other versions of recipe as well, therefore putting
checksums in .inc will break them unless the version is same as in
oe-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agokernel.bbclass: set LD in KERNEL_CONFIG_COMMAND to fix 5.4+ builds when gold is enabled
Martin Jansa [Mon, 3 Feb 2020 18:11:50 +0000 (19:11 +0100)]
kernel.bbclass: set LD in KERNEL_CONFIG_COMMAND to fix 5.4+ builds when gold is enabled

* with 5.4 kernel the do_configure fails when gold is enabled (with ld-is-gold in DISTRO_FEATURES)
* bfd is already being set in KERNEL_LD:
  kernel-arch.bbclass:KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
  but KERNEL_LD is currently respected only by do_compile and do_compile_kernel modules
  and new kernel which contains a check for gold in Kbuild:
  https://lore.kernel.org/lkml/alpine.DEB.2.21.1907161434260.1767@nanos.tec.linutronix.de/
  more details:
  https://lore.kernel.org/r/CAMe9rOqMqkQ0LNpm25yE_Yt0FKp05WmHOrwc0aRDb53miFKM+w@mail.gmail.com
  will fail during the configuration even when gold wouldn't be used to
  build it in the end, add LD setting to KERNEL_CONFIG_COMMAND to prevent
  premature error when configuring

  scripts/kconfig/conf  --olddefconfig Kconfig
  scripts/Kconfig.include:39:  gold linker 'x86_64-oe-linux-ld' not supported
  make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/scripts/kconfig/Makefile:73: olddefconfig] Error 1

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agort-tests: modernise subprocess: preexec_fn=os.setsid -> start_new_session=True
André Draszik [Mon, 3 Feb 2020 17:28:13 +0000 (17:28 +0000)]
rt-tests: modernise subprocess: preexec_fn=os.setsid -> start_new_session=True

start_new_session was added to python3 subprocess in v3.2 and
is meant to take the place of the common use of preexec_fn to
call os.setsid() in the child - as done here.

Update to use the new equivalent.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa: modernise subprocess: preexec_fn=os.setsid -> start_new_session=True
André Draszik [Mon, 3 Feb 2020 17:28:12 +0000 (17:28 +0000)]
oeqa: modernise subprocess: preexec_fn=os.setsid -> start_new_session=True

start_new_session was added to python3 subprocess in v3.2 and
is meant to take the place of the common use of preexec_fn to
call os.setsid() in the child - as done here.

Update to use the new equivalent.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopiglit: don't stage the test suite
Ross Burton [Mon, 3 Feb 2020 12:32:25 +0000 (12:32 +0000)]
piglit: don't stage the test suite

The Piglit test suite is approximately 2GB and because it's installed into
$libdir is added to the sysroot archive.  Nothing links against Piglit so
there's no reason for this, so remove $libdir from Piglit's sysroot.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopodfix: remove
Ross Burton [Mon, 3 Feb 2020 10:19:55 +0000 (10:19 +0000)]
podfix: remove

Now that we don't use the host pod2man (oe-core deda455) the podfix
class is redundant and can be removed.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoifupdown: add ptest
Kai Kang [Mon, 3 Feb 2020 09:33:11 +0000 (17:33 +0800)]
ifupdown: add ptest

Add ptest for ifupdown with its own test cases.

[Yocto #13736]

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolttng-modules: update to 2.11.1
He Zhe [Mon, 3 Feb 2020 07:47:42 +0000 (15:47 +0800)]
lttng-modules: update to 2.11.1

Fix build failure with kernel v5.5.
Remove patches as issues fixed upstream.

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agorsync: whitelist CVE-2017-16548
Lee Chee Yang [Tue, 21 Jan 2020 05:26:47 +0000 (13:26 +0800)]
rsync: whitelist CVE-2017-16548

patch for this CVE applies to v3.1.3pre1 not for v3.1.3.
patch already in v3.1.3.
see
https://git.samba.org/rsync.git/?p=rsync.git;a=commitdiff;h=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1;hp=bc112b0e7feece62ce98708092306639a8a53cce

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>