Compare commits

..

492 Commits

Author SHA1 Message Date
Adrian Bunk
8f1c60d4bf webkitgtk: Remove obsolete woff2 comment
woff2 is now available in meta-webkit.

(From OE-Core rev: a5beb977a57e7b1941a2a1c5c130881b74da3b6b)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Adrian Bunk
3e5b34b48d webkitgtk: Remove unnecessary REQUIRED_DISTRO_FEATURES requirements
x11 can be replaced with wayland.
opengl is mandatory only with wayland.
Without x11, use gles2 for opengl.

(From OE-Core rev: 1408c00d619d862d4da63882a86ff096a891ad5d)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Adrian Bunk
20ad8fd118 webkitgtk: Move X library DEPENDS to the x11 PACKAGECONFIG
Also adjust them to what OptionsGTK currently checks.

(From OE-Core rev: 082ccd85589a230810621425ddbf438a03df437e)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Tim Orling
e772987739 maintainers.inc: add self for atk, at-spi2-core, at-spi2-atk
For GUI automation purposes, strong motivation for accessibility (a11y)
via python3-dogtail and python3-pyatspi2, so taking over from Anuj.

(From OE-Core rev: fb0a7ab133434febc78ce4f4d00f1192935ad95e)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Khem Raj
12477b74e5 go: Update to 1.14 release series
(From OE-Core rev: 3daa9684e458b9c926e1a07acd9b1c0fe8bd2e86)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Khem Raj
cfd6414580 systemd: Drop local time64 patch in favour of upstreamed patches
9e7c8f64cf
601f91bec5

Fixed this issue upstream and they are present in 244 release

(From OE-Core rev: d0f00610edf4e4f2d4e49213b160bafe329aaa87)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Khem Raj
82b79df079 systemd: Do not force removing resolved from PACKAGECONFIG
This needs __UAPI_DEF_ETHHDR to be set to 0 which now
taken care by CFLAGS

(From OE-Core rev: fc0593839f9bec7e0c21665ab6d9d742252f4210)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Khem Raj
c439e56673 linux-libc-headers: Drop patches manipulating __UAPI_DEF_ETHHDR
__UAPI_DEF_ETHHDR has been defined in kernel UAPI [1]

and musl already defined it to 0 via [2]

So these patches can now be dropped.

[1] https://patchwork.ozlabs.org/patch/872502/
[2] https://git.musl-libc.org/cgit/musl/commit/?id=b583c5d3b4cc2c54c68eef5eb7855ecfacee8bfc

(From OE-Core rev: 6da3239b73fa3ebf8c62c7f38b5b4a3795d502b5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Jaewon Lee
f5803c5ee2 tune-cortexa72-cortexa53.inc: Adding missing TUNE_FEATURES
Without the proper default tune in TUNE_FEATURES, certain variables
won't expand correctly. MACHINEOVERRIDES won't add cortexa72-cortexa53:
TUNE_CCARGS won't add -mtune=cortexa72.cortexa-53, generating the toolchain
incorrectly.
Adding missing 'cortexa72-cortexa53' to both
TUNE_FEATURES_tune-cortexa72-cortexa53 and
TUNE_FEATURES_tune-cortexa72-cortexa53-crypto

(From OE-Core rev: eee65bed5ee39051541a0a3f2a311396d6e7326c)

Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Jeremy A. Puhlman
520fa7ee18 lsb-release: fix likely reproducabilty timestamp
Remove timestamp from gzipped manpage.

(From OE-Core rev: bd0236d1b35831b23882e1f1af86504d62e5d0b9)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:29 +00:00
Jeremy Puhlman
09a5b4e65c rt-tests: make manpages reproducible
add -n to gzip call

(From OE-Core rev: baebf24a73044ffc4c8ec1210f4866b978c923ea)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Jeremy Puhlman
2b13a79b34 sysvinit: remove logsave.8
logsave is a duplicate from e2fsprogs, which was already removed,
but the man page remained which is also a duplicate. However it
does not get modifed on install so it conflicts with the e2fsprogs
version.

(From OE-Core rev: 90ee5557c0e1d7088b5d9b7e66d70ff7fccac9a3)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Jeremy A. Puhlman
14921e9e9a libedit/readline: Correct package alternatives link for manpage
(From OE-Core rev: 2db36468c98d67fe49fd71609721aa59f0bfffc8)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Khem Raj
b41a29dac8 layer.conf: Consider shared-mime-info and desktop-file-utils siggen safe
These are added as dependencies by mime class, which could be inherited
along with allarch and dependencies silently go into target specific
recipes and which then can result in sstate hash signature mismatches
when the allarch recipes are reused for another arch

[YOCTO #13805]

(From OE-Core rev: 510015ac81df969f690d6c8661b00bebe73b7fca)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Mark Hatle
208b07a040 sysvinit: Fix install order/dependency
It is possible for sysvinit to be installed before the passwd/group
files are installed from base-passwd.  This results in an warning that
the shutdown group can't be found.

Adding a dependeny on base-passwd will resolve this issue.

This has similar symptoms to the problem that oe-core commit
0227e929021263c51d2e7db36224000fecb01f1c fixed.  The fix is simular in that
it ensures that base-passwd is installed first, just at runtime vs setscene
time.

(From OE-Core rev: c4fb899b19a905a2b027f33947b6ec56f55b81a6)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Khem Raj
1033abb95f webkitgtk: Disable GI data for musl/arm
qemu-arm hangs forever when running gobject introspection

(From OE-Core rev: 7a9d9a4b5fb80a4b22b711c50ddcbd526c0955fb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
71e4aa4580 ncurses: upgrade 6.1+20191019 -> 6.2
License-Update: copyright years and holders
(From OE-Core rev: f59334e70313676c7ab3216cb9583eefb27835e6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
2ce0f84a5f gst-validate: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 62019c0255512790eb201c1e9f6cd3e771485a7d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
9bb919de2d acpica: upgrade 20191213 -> 20200214
License-Update: copyright years
(From OE-Core rev: c971258a932820d990d1b5c6c85b98f9086e2d43)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
61160dacc6 python3-setuptools: upgrade 45.0.0 -> 45.2.0
(From OE-Core rev: 9c256927141deadebb0cf3e6c83e6a76b9f0c4b0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
743b43ec1d gnutls: upgrade 3.6.11.1 -> 3.6.12
(From OE-Core rev: 8652c95ceb505dd7386166842486c833ea5a7ee7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
41fb22c0ba unifdef: upgrade 2.11 -> 2.12
License-Update: copyright years
(From OE-Core rev: 1e6a1f13d799d85d463edf259e3fbc13365ed5d0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
edd7b4c3bc python3-mako: upgrade 1.1.0 -> 1.1.1
License-Update: copyright years
(From OE-Core rev: 3a6bc80f46ea790c319d25cc67cb1e0ed32c3631)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
b6567bbaea python3-docutils: upgrade 0.15 -> 0.16
License-Update: formatting
(From OE-Core rev: 855d0b8a36dd88e92d0a51c5797ef4a91a9f9c5a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
95dfc6f150 libpcre: upgrade 8.43 -> 8.44
License-Update: copyright years
(From OE-Core rev: 09f6639ed599f71a4ec58305b9d684ccc8983ba0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alexander Kanavin
9d716ccf47 libarchive: upgrade 3.4.1 -> 3.4.2
(From OE-Core rev: addfcefecf64de99c098cd1d4fba1c778ed0d4fb)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Lee Chee Yang
5c53d63d4c qemu: Fix CVE-2020-1711
see https://git.qemu.org/?p=qemu.git;a=commit;h=693fd2acdf14dd86c0bf852610f1c2cca80a74dc

(From OE-Core rev: 66289b3ba800c1b9e74b35fd1af2f4825c698550)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Robert Yang
7d5a0e2558 weston: PACKAGECONFIG clients requires wayland
Fixed:
DISTRO_FEATURES_remove = "wayland"
$ bitbake weston

clients/meson.build:141:4: ERROR: Problem encountered: weston-simple-dmabuf-egl
requires option renderer-gl which is not enabled. If you rather not build this,
drop "dmabuf-egl" from simple-clients option.

WARNING: exit code 1 from a shell command.

(From OE-Core rev: 9b1d30810eeecb46b977c8eed68be69aef891312)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Alistair Francis
dd3568a37f opensbi: Update to v0.6
(From OE-Core rev: 20e9ca7745fc8f2392c37c5e5e8d5b0a5f72c06c)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Mingde (Matthew) Zeng
c9426ff8e4 perl: fix lib/warnings test on core-image-sato
Fixes [YOCTO #13296]

    The lib/warnings test fails on certain images such as
    core-image-sato. The upstream has already fixed this issue, thus
    submitting the relevent backport patch.

(From OE-Core rev: 5198aa954ad0bffb7d6609e5118f642a59595b18)

Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com>

--
Mingde (Matthew) Zeng

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Anuj Mittal
9cd9c0d5bb libevdev: fix upstream check
Ignore the ones ending in .90x as they are -rc releases.

(From OE-Core rev: db02bd43d84d7ece3ed214a25e114e04c966e6c5)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Tim Orling
8bc346da03 python3-scons{-native}: upgrade 3.1.1 -> 3.1.2
THis release is a mix of improvements and fixes:
https://github.com/SCons/scons/blob/3.1.2/src/RELEASE.txt

* Changed to inherit pypi rather than relying on SOURCEFORGE_MIRROR.
* Add SRC_URI for LICENSE file (not included in pypi tarball).
* Make it more obvious that RDEPENDS are for class-target and
  drop empty RDEPENDS from -native
* python3-scons-native now DEPENDS on python3-setuptools-native

* Tested with core-image-base + packagegroup-core-buildessential
  with "scons" oe-selftest via testimage.
* Tested build of "serf" (which uses python3-scons-native via the
  scons.bbclass).

License-Update: Added "MIT License" text, updated copyright years

(From OE-Core rev: 44b46ae6c65448901477def57a45d5a4ecc2d246)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Scott Branden
035ca9ea65 ffmpeg: add PACKAGECONFIG support for fdk-aac
Add PACKAGECONFIG support for fdk-aac in ffmpeg.

(From OE-Core rev: c616731ed90f5b20ae9d59165140ecd242cf44b2)

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Kai Kang
7c29dbdf84 ruby: install required files for ptest
After update to 2.7.0, it fails to start ptest of ruby with errors:

| ./test/runner.rb:11:in `require_relative': cannot load such file --
    /usr/lib64/ruby/ptest/tool/test/runner (LoadError)

and

| test/rdoc/test_rdoc_attr.rb: cannot load such file -- rdoc/version
| test/did_you_mean/spell_checking/test_key_name_check.rb: cannot load
    such file -- /usr/lib64/ruby/ptest/lib/did_you_mean

Install the required files for the ptest.

(From OE-Core rev: be161be40c88fbac8ac17776daf3bf178a2e8f5e)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Bartosz Golaszewski
aff2e8531f hosttools: add utilities for all supported checksums
Only md5sum and sha256sum are currently provided by HOSTTOOLS. Trying
to use any other checksum conversion will result in a build failure.
Fix it by adding other supported checksum utilities to HOSTTOOLS.

(From OE-Core rev: 78155e5fcff9362049b576d20e31c3519c48485b)

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Richard Purdie
fee9be0f65 abi_version/sstatesig: Introduce HASHEQUIV_HASH_VERSION
We've found we need a way to cause a change in signatures and move
to a new hash 'namespace' with hashequiv. This introduces a variable
which allows us to do this.

(From OE-Core rev: 1c2d5aeae2fa2dfc16bc60b6cf0b310f826337fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-28 23:11:28 +00:00
Jeremy Puhlman
21f43cf89e readline/ediline: Fix conflicting manpages
file /usr/share/man/man3/history.3 conflicts between attempted installs of libedit-doc-20191231+3.1-r0.corei7_64 and readline-doc-8.0-r0.corei7_64

(From OE-Core rev: 23ad05b98a2e1ced47aac3b1d7689c7146ff8c91)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Alexander Kanavin
c43423cd28 ptest: add an option to enforce a failure (e.g. ptests are required to pass)
This can be useful with a more specific, targeted and robust set of ptest
packages; the benefit is that ptest regressions are caught as they happen
and can be more easily traced to changes that caused them.

The existing AB ptest image continues to be expected to fail, my observation
of the AB runs is that the full set of ptests is not robust enough
(particularly around socket/network related tests) and sporadically fails
in random places. This can probably be addressed by making ptests exclusive
to a worker (e.g. there is no other workload happening at the same time as
ptests).

(From OE-Core rev: 102afcc7ea7d7673183f272a29ab233084ad168b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Alexander Kanavin
63304e8d4e libinput: update 1.14.3 -> 1.15.2
(From OE-Core rev: 4abb2f270ba61e99993e53d292bcf5310a59dc19)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Alexander Kanavin
44c4d3d76f lttng-tools: exclude one more test that sporadically fails
(From OE-Core rev: d06ea31f51de19056713377a2f0e9bdcccbd96d5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
2de1c973d1 libcap: Upgrade 2.31 -> 2.32
(From OE-Core rev: 8ad1e843d178e62001147cf3c84bce8797b76b4b)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
8dab53f552 linux-firmware: Upgrade 20200117 -> 20200122
Switch to using the tarballs of tagged releases.

WHENCE changed due to firmware filename changes.

(From OE-Core rev: 746438e5e75d9fd4ccb461f92887a7b02a1c27d1)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
c14357cb13 bison: Upgrade 3.5.1 -> 3.5.2
(From OE-Core rev: dfd39d51cf712206e86060c5ff20ff35fd1dac80)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
d193c123e1 apt: Inherit upstream-version-is-even
Even versions are shipped in Ubuntu LTS and Debian releases.

(From OE-Core rev: e190bf44ed2aef03ce8922dfbb0bb90a762bb41d)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Alexander Kanavin
5766996130 wayland: add ptest
Sadly, meson makes it very difficult to install tests: the test
configuration is written into host-specific binary files, which
can't be transferred to the target. (unlike autotools where
at least everything happens via Makefiles which can be patched
and tweaked via sed and env vars)

So the configuration has to be entirely recreated in shell.
I managed this for wayland, but weston proved too difficult.

I had filed bugs asking upstream to make the tests installable:
https://gitlab.freedesktop.org/wayland/wayland/issues/146
https://gitlab.freedesktop.org/wayland/weston/issues/368

(From OE-Core rev: 296ee10bb8491278f050fb9d55f42b0bcf663382)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Alistair Francis
1a5a9d2f03 clutter: Build cluter with the GDK backend
ClutterActors can crash with strange segfaults when built without the GDK
backend but run ontop of GDK. To fix this let's add a PACKAGECONFIG to
enable/disable GDK backend support and enable it by default.

(From OE-Core rev: cb03ccec2926eae6d8eaf1606a7d11fcc54f1820)

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
5ba5aad01c Revert "psmisc: Fix dependency for USE_NLS=no"
This reverts commit 52971eeaaf.

The original problem was later fix by
  psmisc: revert to default autopoint exclusion

(From OE-Core rev: 007df9bba56f885dd847b2f8b24fb250bcdd386f)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
5c9021fc62 libidn: Move to meta-oe
There are no users left in OE-core.

(From OE-Core rev: 2c5d140a8a2b794b36ed9535afc278cec2ef306f)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
f348b0c2ee systemd: Add a PACKAGECONFIG for libidn2
(From OE-Core rev: 08fa3d84fa2bd9ba0904419b2d3d6b0a2492b468)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
32b32b2ff0 webkitgtk: Remove the unused DEPENDS on libidn
(From OE-Core rev: f29baac5297446495fd61ab4ce7d4d24eb0ba3bb)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
ce0c47af07 webkitgtk: Remove obsolete gtk2 packageconfig
Upstream no longer supports GTK2 plugins.

(From OE-Core rev: 1c16d4a210e89eb679b4b044c8f6f6fae96e1919)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Adrian Bunk
13fdb1c9a7 webkitgtk: Remove unused DEPENDS on pulseaudio
(From OE-Core rev: 33f24afdaa0cf94a6f1029ad919570de15354f51)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Upgrade Helper
8ec01ed68a ninja: upgrade 1.9.0 -> 1.10.0
(From OE-Core rev: d1cd957cea29f3ab111ae752bc9ad75a1324c255)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Richard Purdie
950615f34d psplash: Fix systemd service dependencies
Avoid:
qemux86-64 psplash-systemd[135]: Error unable to open fifo

by adding the missing dependency on /run/ where the fifo resides.

Also, psplash-systemd requires psplash-start, not the other way around
as the splash creates the fifo which the other then needs to open.

(From OE-Core rev: e31ad1b58e8dbac2e299bc0cb872c3a82db14717)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Stefan Agner
9ae26cfeea psplash: add systemd support
Make use of the recently added systemd support in psplash. The utility
psplash-systemd communicates boot progress to the splash screen. The
splash is disabled once systemd consideres the system fully booted
(progress is at 1.0). Note that this can take a while if systemd is
stuck on a failing unit.

This change adds two systemd services. One service starts psplash itself
(psplash-start.service) and the second service starts the helper utility
psplash-systemd (psplash-systemd.service). The units are written such
that psplash-systemd.service can be used indepenendenly. This is useful
when starting psplash in initramfs (not using systemd).

(From OE-Core rev: b4063b16082604554c7c19b369ebddd27061f372)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-25 10:41:22 +00:00
Richard Purdie
6c43f76248 package_ipk: Add missing variables to the task hash
Several variables used by the task are not included in the hash, as highlighted
by recent changes to MAINTAINERS not causing rebuilds. Fix this.

(From OE-Core rev: 0bfb2e984062e2a00f8989d26aebb89b112d81d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Richard Purdie
5281e3f101 package: Correct variable dependecies
Ensure that the plain variable X is also added to the dependencies
as well as X_<pkg>.

Allow the funciton to be called with a different variable list too.

(From OE-Core rev: c392401e10ff43d10b7e57c9d552522a02c91878)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Alexander Kanavin
b096bb9399 mdadm: drop from PTESTS_SLOW
There are two primary reasons for this:

1. mdadm test suite tends to work like this

do_action
sleep arbitrary_amount
check_result

This is unreliable, and arbitrary_amount may or may not be enough.
I have confirmed this by increasing the amount, and seeing more tests
pass than before.

2. The test suite aborts half way through because one of the mdadm binaries
segfaults. This indicates that upstream isn't actually running the suite
anymore, and in this situation we shouldn't be relying on it either.

(From OE-Core rev: e21021dc00ec76c76cc361e15bc83a89083c9e72)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Alexander Kanavin
a6879f527e mdadm: fix more ptests
Particularly:
1. set $dir, so supplementary utilities can be found
2. disable integrity checks as they take more time than any other test

(From OE-Core rev: a8983d659b27219a0d70e56882727ceddd0f4331)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Alexander Kanavin
949b064215 valgrind: exclude one more failing test for arm64
valgrind's test suite isn't generally run by upstream on arm64,
so let's simply disable the failing test and establish a set
that works.

(From OE-Core rev: f9c953295a44f74c6394d155dfa080384f637806)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Alexander Kanavin
7374afee9d valgrind: replace a submitted patch with one that was merged
This addresses a ptest failure in particular that the submitted
patch caused.

(From OE-Core rev: 4e9d46a570f7d7d1981a24f90c5e919b1f73c8b5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 23:33:48 +00:00
Bruce Ashfield
3d2004884f linux-yocto: drop 4.19 recipes
5.4 is the next LTS kernel, so we drop the 4.19 recipes from master.

(From OE-Core rev: bb5c2b8d6a875a773271d7cae08f55f0fd8e9156)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-23 10:08:06 +00:00
Richard Purdie
b9e965a219 linux-yocto: Fix the kernel verison to match the kernel revisions
This avoids warnings due to kernel version mismatches

(From meta-yocto rev: 4d8122bca9e5a8788521537610411fe59b1ba8a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
fff16d4755 yocto-bsps: update to v5.4.20
Updating the SRCREVs for the h/w references to v5.4.20, which includes
the binutils fix for perf.

(From meta-yocto rev: 9fcac872e5f2cc05409cb06640c0f625bea6e8ba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
f34a99e2dd yocto-bsp: drop 4.19 bbappend
5.4 is the new LTS kernel, so we drop the 4.19 bbappens as the 4.19
kernel will be removed.

(From meta-yocto rev: 36e7756b89a2adb0df470e862a71fbfda98a8682)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
e91900c0bc poky-alt: bump LTS kernel to v5.4
We move from 4.19 to 5.4 as the LTS kernel.

(From meta-yocto rev: db7ed0a35a9822ba2ffe629c08bc5056be1cccc0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
072f23a0cb poky: bump preferred kernel to v5.4
Ensure that the 5.4 LTS kernel is the preferred version for all poky
boards.

(From meta-yocto rev: 966faa29f0540f9262704621b9f639fb1129a781)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Martin Jansa
680cba0bbe libwpe, wpebackend-fdo: add opengl to required DISTRO_FEATURES
* requires virtual/egl which isn't available without opengl in DISTRO_FEATURES
  as shown in world builds without it:
  ERROR: Nothing PROVIDES 'virtual/egl' (but openembedded-core/meta/recipes-sato/webkit/libwpe_1.4.0.1.bb, openembedded-core/meta/recipes-sato/webkit/wpebackend-fdo_1.4.1.bb DEPENDS on or otherwise requires it)

$ bitbake libwpe
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'virtual/egl' (but /OE/build/oe-core/openembedded-core/meta/recipes-sato/webkit/libwpe_1.4.0.1.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/kernel
  virtual/make
  virtual/perf
ERROR: Required build target 'libwpe' has no buildable providers.
Missing or unbuildable dependency chain was: ['libwpe', 'virtual/egl']

$ bitbake wpebackend-fdo
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'virtual/egl' (but /OE/build/oe-core/openembedded-core/meta/recipes-sato/webkit/wpebackend-fdo_1.4.1.bb DEPENDS on or otherwise requires it). Close matches:
  virtual/kernel
  virtual/make
  virtual/perf
ERROR: Required build target 'wpebackend-fdo' has no buildable providers.
Missing or unbuildable dependency chain was: ['wpebackend-fdo', 'virtual/egl']

$ bitbake webkitgtk
ERROR: Nothing PROVIDES 'webkitgtk'
webkitgtk was skipped: missing required distro feature 'opengl' (not in DISTRO_FEATURES)

(From OE-Core rev: 7214af1d8ed9082cb4646951df8b5d97591a4876)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Alexander Kanavin
a7d8e290b3 wayland: add a patch to address build errors due to incorrect deps
(From OE-Core rev: fb1f1a1e6461b5d3c51fbae0b893debb88bfa8d5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Andreas Müller
26e23b8262 webkitgtk: enable gobject-introspection for armv7a
Tested with cortex-a9 machine

* before this patch -> no gir
* after: gir was built without issues

(From OE-Core rev: 0f4f69d1b238b2c22c30ef306358a055d3aa39cb)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
He Zhe
3a1a18ba9d perf: Correct the substitution of python shebangs
To make the native python3 always used,

- Use sed one-liner instead
- Add substitution for ${S}/scripts/bpf_helpers_doc.py to fix the
  following warning.

File "/usr/lib/python3.6/sysconfig.py", line 421, in _init_posix
_temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
ModuleNotFoundError: No module named '_sysconfigdata'

This issue is first reported by Joel Stanley <joel@jms.id.au>
The sed one-liner is credited to Anuj Mittal <anuj.mittal@intel.com>

(From OE-Core rev: 3f93173130a94310255389cfc62c67102a4fb21b)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Richard Purdie
28333a851f binutils: Fix x86_64 override usage
This override was applying to binutils-native meaning it would behave differently
depending upon the host it was building on. This is not a good idea and we have
tests to detect it which failed:

oe-selftest -r sstatetests.SStateTests.test_sstate_32_64_same_hash

binutils-native already enables all targets so we can avoid issues by not setting this
option in the native case.

(From OE-Core rev: bbf9e8ae5e0ce2968e4fef071d3de3ddfdc7463c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Khem Raj
fd0e3e1708 binutils: Upgrade to 2.34 release
Details of changelog [1]

Removing bfd/ld patch to enable PE targets, instead use
specific emulations via --enable-targets for x86_64

Re-arrange/forward-port patches and upgrade libctf configure to libtool 2.4 patch

rpaths are no longer emitted into elfedit/readelf therefore no need of
chrpath anymore

Instead of pre-generating configure scripts and house them in libtool
patch, generate them during configure. This also ensures that we do not
patch configure directly but rather the sources which generate it

Package newly added libctf library

[1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00000.html

(From OE-Core rev: 82f7d5cfc2ab02f39b69c0f8697d660936422d4a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Khem Raj
746f277acc gmp: Upgrade to 6.2.0
Drop amd64 patch, the bsfq has been replaced with bsfl for count_trailing_zeros
Forward port rest of patches to 6.2.0

(From OE-Core rev: 35c052db4e081d363bcca350383adb0ac8c321d3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Khem Raj
2eed027552 go: Upgrade to 1.13.8 minor release
(From OE-Core rev: d052940cb5964053a7efd0f828f4114b647d98b7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Khem Raj
e790242216 libxcrypt: Upgrade to 4.4.14 release
(From OE-Core rev: f0c50a5bebe593dd3b5ffbe4c84688ae7e84e4fe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Jeremy Puhlman
aebfb930cc toolchain-shar-extract: ignore timestamp on decompress
Installing on centos7, which the extended version of the
buildtools tarball is supposed to fix and with reproducable
builds turned on, all the time stamps are for epoch. This
results in the following output for every file:

tar: ./sysroots/x86_64-pokysdk-linux/usr/include/c++/9.2.0/cstdalign: implausibly old time stamp 1969-12-31 16:00:00
tar: ./sysroots/x86_64-pokysdk-linux/usr/lib/libstdc++.so.6: implausibly old time stamp 1969-12-31 16:00:00

Ignore the timestamps during the uncompession step.

(From OE-Core rev: 319ca22ea4465c56c63730847378a7aee4f5935a)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Alexander Kanavin
ff952280c8 oeqa/logparser: correctly set test result markers
I spotted this by noticing ptests started to unexpectedly pass,
which shouldn't happen yet.

(From OE-Core rev: 1cd6e9a8fdfef927916c6cea2371fc0430b1ffdf)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Alexander Kanavin
d9d815852c jquery: fix upstream version check
(From OE-Core rev: 28ad55f3cee1446c368e03f1853de46ba4ee4983)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Khem Raj
05e0e8a576 musl: Update to final 1.2.0 release
Detailed log [1]
[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=a662220df547e5c2446518e74440a7d834f9ebe6..040c1d16b468c50c04fc94edff521f1637708328

(From OE-Core rev: 732cac03632fee312e8a43aa091d056d4a3900f0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
57a6948fea qemu: bump default reference kernel to v5.4
Now that the 5.4 recipes are available, we bump the default versions
to use them.

(From OE-Core rev: c250dbd2a68048f83837e7cbdfb53bc38623e4a2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
f10a4ade99 linux-yocto/5.4: update to -rt11
Integrating the -rt11 changes into the linux-yocto-rt branches:

    e3a0470f1ebe (HEAD -> v5.4/standard/preempt-rt/base, origin/v5.4/standard/preempt-rt/base) v5.4.19-rt11
    2748be173948 bpf/stackmap: Don't trylock mmap_sem with PREEMPT_RT and interrupts disabled
    d721d73cb752 bpf, lpm: Make locking RT friendly
    dc53d4c7fad3 bpf: Prepare hashtab locking for PREEMPT_RT
    a13a53a8ae75 bpf: Factor out hashtab bucket lock operations
    96a25d8a5a2d bpf: Use migrate_disable() in sys_bpf()
    bb8a96d7e701 bpf: Use migrate_disable() in hashtab code
    615cc5998661 bpf: Use migrate_disable/enable in array macros and cgroup/lirc code.
    c3a06a1ab3d4 bpf/tests: Use migrate disable instead of preempt disable
    0717741a61e6 trace/bpf: Use migrate disable in trace_call_bpf()
    b528161bf4e0 bpf: Use BPF_PROG_RUN_PIN_ON_CPU() at simple call sites.
    a3b5b903f04f bpf: Replace cant_sleep() with cant_migrate()
    dd708fd4fb18 bpf: Provide BPF_PROG_RUN_PIN_ON_CPU() macro
    6ccad68939c7 bpf: Don't iterate over possible CPUs with interrupts disabled
    055b62ad0b2c perf/bpf: Remove preempt disable around BPF invocation
    7848f4a45054 bpf/tracing: Remove redundant preempt_disable() in __bpf_trace_run()
    caf8a5d6b42f bpf: Update locking comment in hashtab code
    2ddd1653369d sched: Provide cant_migrate()
    37b6c8361d28 sched: Provide migrate_disable/enable() inlines
    2a1c4980a1e6 drm/i915/gt: use a LOCAL_IRQ_LOCK in __timeline_mark_lock()
    84a119be5c68 v5.4.19-rt10
    bb5e8418fb66 v5.4.17-rt9
    bf976f5d86e7 locallock: Include header for the `current' macro
    7a00b04683bd mm/memcontrol: Move misplaced local_unlock_irqrestore()
    b647f8807169 sched: migrate_enable: Remove __schedule() call
    2b321530c794 sched: migrate_enable: Use per-cpu cpu_stop_work
    22b448083286 locking: Percpu-rwsem rewrite
    f5d550cc9950 v5.4.17-rt8

(From OE-Core rev: dd407673d7091cb49ed41bef750c33bbcb53a1c3)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:27 +00:00
Bruce Ashfield
b44f3d0d70 linux-yocto: perf: Make perf able to build with latest libbfd
Khem pointed out that we need to backport the following change to get
perf building with the latest binutils:

commit 0ada120c883d4f1f6 upstream:

[
    Subject: perf: Make perf able to build with latest libbfd

    libbfd has changed the bfd_section_* macros to inline functions
    bfd_section_<field> since 2019-09-18. See below two commits:
      o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
      o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html

    This fix make perf able to build with both old and new libbfd.

    Signed-off-by: Changbin Du <changbin.du@gmail.com>
    Acked-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
]

Reported-by: Khem Raj <raj.khem@gmail.com>
(From OE-Core rev: 16e943690bdbdf2e60a2fe33950697278018c7d1)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
f55a12702b linux-yocto/5.4: integrate mips64 multlib/32bit VDSO fix
Bumping the SRCREVs to pickup the VDSO fix by Victor Kamensky. We
need it to avoid segfaults in SDK testing as well as the standard
mips image test cases.

(From OE-Core rev: 8dfaf1abe9f2292b5c357a62d6fa4c0660a5c47c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
a8fa7a3f40 devsrc: fix objtool generation for v5.4+
commit 6ec14aa7a58a1c2fb303692f8cb1ff82d9abd10a [objtool: Silence build output]
was added to -stable in v5.4.19.

This change was meant to ensure that build output was truly silent when required.
But the trailing "cd -" in the tools script was ensuring that a success return
code was always returned from the sync script. As such, some missing files for
x86 were being masked.

We add those files to ensure that objtool can be regenerated as required

(From OE-Core rev: 3009e82f65bcf0988b4400552afd554ff91f024b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
57bab0ecca linux-yocto: fix PV
For whatever reason, the creation of the 5.4 recipes missed the
PV that we've always had in linux-yocto. PV follows the LINUX_VERSION
variable and clearly indicates that we have git commits in our tree
above the -stable releases.

(From OE-Core rev: e597fe76a710cc6bb833ee50c235c5c565eb23fa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
4656149d10 linux-yocto/5.2: update to v5.2.29
Updating linux-yocto/5.2 to the latest korg -stable release that comprises
the following commits:

    928ea9c56927 Linux 5.2.29
    4e41907620bc slip: Fix use-after-free Read in slip_open
    d11814f97a05 can: slcan: Fix use-after-free Read in slcan_open
    01313dcf66e7 can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices
    7f006e58efc2 scsi: libsas: stop discovering if oob mode is disconnected
    0e5c48d6b011 staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error
    d8b3d5fb8765 USB: serial: option: add support for Foxconn T77W968 LTE modules
    c4fe1d495f9c USB: serial: option: add support for DW5821e with eSIM support
    4ac031b15d86 USB: serial: mos7840: fix remote wakeup
    4d44a218aea6 USB: serial: mos7720: fix remote wakeup
    3561f4d3242f USB: serial: mos7840: add USB ID to support Moxa UPort 2210
    13a33fb9debe appledisplay: fix error handling in the scheduled work
    0cd437d7c16b USB: chaoskey: fix error case of a timeout
    2136119fde46 usb-serial: cp201x: support Mark-10 digital force gauge
    3a71173a4a45 usbip: tools: fix fd leakage in the function of read_attr_usbip_status
    726510907c68 USBIP: add config dependency for SGL_ALLOC
    7dd553573bc5 media: mceusb: fix out of bounds read in MCE receiver buffer
    1e4921f684ca media: imon: invalid dereference in imon_touch_event
    d482dfe2776a media: cxusb: detect cxusb_ctrl_msg error in query
    ab4952849dd8 media: b2c2-flexcop-usb: add sanity checking
    e2aa61cda115 media: uvcvideo: Fix error path in control parsing failure
    115fa3afd4d1 cpufreq: Add NULL checks to show() and store() methods of cpufreq
    767facdefa23 media: usbvision: Fix races among open, close, and disconnect
    ba90b62cb0bd media: usbvision: Fix invalid accesses after device disconnect
    829b703e9706 media: vivid: Set vid_cap_streaming and vid_out_streaming to true
    57f2b5c44f02 nfc: port100: handle command failure cleanly
    5fc4dc967e06 ALSA: usb-audio: Fix NULL dereference at parsing BADD
    c938307a439a futex: Prevent robust futex exit race
    8b0f13ee2b7b nbd: prevent memory leak
    1bfd67a1c47b ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
    a634776bcd5e md/raid10: prevent access of uninitialized resync_pages offset
    40c0b4538c8b Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues"
    53eaf5993eea ath9k_hw: fix uninitialized variable data
    5a1b959a78ea ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe
    8b16c7096bc9 ath10k: Fix HOST capability QMI incompatibility
    ceee3b64b0b5 ath10k: restore QCA9880-AR1A (v1) detection
    08c0402ed497 Bluetooth: Fix invalid-free in bcsp_close()
    c1ed057fbe33 drm/i915/userptr: Try to acquire the page lock around set_page_dirty()
    5ec5ba44bd85 drm/i915/pmu: "Frequency" is reported as accumulated cycles
    c7ceeaf80706 drm/amd/powerplay: issue no PPSMC_MSG_GetCurrPkgPwr on unsupported ASICs
    1c3fb0c8357e drm/amdgpu: disable gfxoff on original raven
    ccd9d21f783e drm/amdgpu: disable gfxoff when using register read interface
    6e745cbc5051 mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
    79194b4a342c mm/memory_hotplug: don't access uninitialized memmaps in shrink_zone_span()
    01d151b7e74e virtio_balloon: fix shrinker count
    caae62219805 virtio_ring: fix return code on DMA mapping fails
    272ed6b7ca4a virtio_console: allocate inbufs in add_port() only if it is needed
    abce58c3af15 nbd:fix memory leak in nbd_get_socket()
    2601193dc253 tools: gpio: Correctly add make dependencies for gpio_utils
    3608aa07bac2 gpio: max77620: Fixup debounce delays
    c6bf6af12a68 vhost/vsock: split packets to send using multiple buffers
    95a617d1f70c net/mlx5: Update the list of the PCI supported devices
    febceda6db3f net/mlx5e: Do not use non-EXT link modes in EXT mode
    f8bddf0e192a net/mlx5e: Fix error flow cleanup in mlx5e_tc_tun_create_header_ipv4/6
    e049e3c43308 taprio: don't reject same mqprio settings
    8345d40b83bf ipv6/route: return if there is no fib_nh_gw_family
    1edfc6649c92 net/tls: enable sk_msg redirect to tls socket egress
    27845a1dd06b net/mlx5: Fix auto group size calculation
    ec6d299939c3 net/mlx5e: Fix set vf link state error flow
    bab144f2a957 net/mlxfw: Verify FSM error code translation doesn't exceed array size
    3eb4c2e70dce sfc: Only cancel the PPS workqueue if it exists
    a03585b724bc net: sched: ensure opts_len <= IP_TUNNEL_OPTS_MAX in act_tunnel_key
    285a19d8dde0 net/sched: act_pedit: fix WARN() in the traffic path
    8e40158af458 net: rtnetlink: prevent underflows in do_setvfinfo()
    1afad75b2dba net/mlx4_en: Fix wrong limitation for number of TX rings
    ce1291041c39 net/mlx4_en: fix mlx4 ethtool -N insertion
    2a7ad86813a4 mlxsw: spectrum_router: Fix determining underlay for a GRE tunnel
    da957117e731 fbdev: Ditch fb_edid_add_monspecs
    1f043415c4f5 arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault
    0063e9b69796 mm/memory_hotplug: fix updating the node span
    d27074543286 mm/memory_hotplug: don't access uninitialized memmaps in shrink_pgdat_span()
    62ca688436d3 block, bfq: deschedule empty bfq_queues not referred by any process
    045a481acd16 slcan: Fix memory leak in error path
    22bc38eae704 mmc: sdhci-of-at91: fix quirk2 overwrite
    8505966cdc7e mm/page_io.c: do not free shared swap slots
    349d5ccf8971 mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup()
    cb4df7d810ac mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm()
    eec30082ea78 mm: mempolicy: fix the wrong return value and potential pages leak of mbind
    c4b3eaf0585b iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros
    5a705e36d350 net: ethernet: dwmac-sun8i: Use the correct function in exit path
    50d4170ffddd ntp/y2038: Remove incorrect time_t truncation
    f701a893aba0 ecryptfs_lookup_interpose(): lower_dentry->d_parent is not stable either
    97dd5923ba23 ecryptfs_lookup_interpose(): lower_dentry->d_inode is not stable
    3c130e6cddae x86/quirks: Disable HPET on Intel Coffe Lake platforms
    a0f63a47ab13 i2c: acpi: Force bus speed to 400KHz if a Silead touchscreen is present
    ca7d1676d537 IB/hfi1: Use a common pad buffer for 9B and 16B packets
    b8b6479e3cc9 IB/hfi1: Ensure full Gen3 speed in a Gen4 system
    72ff837e69c5 IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR
    3c1db8a639ac IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA
    d2f5dd2fd992 IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet
    e88f0707f216 KVM: MMU: Do not treat ZONE_DEVICE pages as being reserved
    9e35e5bc4a04 Input: synaptics-rmi4 - destroy F54 poller workqueue when removing
    2eaf311ccd38 Input: synaptics-rmi4 - clear IRQ enables for F54
    f05aacf5a7b9 Input: synaptics-rmi4 - do not consume more data than we have (F11, F12)
    7e649c757a1a Input: synaptics-rmi4 - disable the relative position IRQ in the F12 driver
    4b482d7281a6 Input: synaptics-rmi4 - fix video buffer size
    74e0752ee79e cgroup: freezer: call cgroup_enter_frozen() with preemption disabled in ptrace_stop()
    a9cae67b7a20 Btrfs: fix log context list corruption after rename exchange operation
    011e452b4d84 ALSA: usb-audio: not submit urb for stopped endpoint
    c7801593d92a ALSA: usb-audio: Fix missing error check at mixer resolution test
    ff24b83d0f73 dpaa2-eth: free already allocated channels on probe defer
    21790068a579 tcp: remove redundant new line from tcp_event_sk_skb
    364436976763 slip: Fix memory leak in slip_open error path
    b75c75d36816 net: usb: qmi_wwan: add support for Foxconn T77W968 LTE modules
    c8a648ae5f96 net/smc: fix fastopen for non-blocking connect()
    b392b2d28e58 net: gemini: add missed free_netdev
    612aeedfe77d ipmr: Fix skb headroom in ipmr_get_route().
    5fa89b3526c5 ax88172a: fix information leak on short answers
    609d02229b16 scsi: core: Handle drivers which set sg_tablesize to zero
    efa2c8c477dd x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3
    a0f6ee27e686 x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make the CPU_ENTRY_AREA_PAGES assert precise
    60418beeefd7 selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel
    777b0ee4fd79 selftests/x86/mov_ss_trap: Fix the SYSENTER test
    07b7c6191853 x86/entry/32: Fix NMI vs ESPFIX
    62433c16a282 x86/entry/32: Unwind the ESPFIX stack earlier on exception entry
    4a2364594599 x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL
    0593a806b430 x86/entry/32: Use %ss segment where required
    26ce03ac3327 x86/entry/32: Fix IRET exception
    f74d7e9547de x86/cpu_entry_area: Add guard page for entry stack on 32bit
    41cb303e1436 x86/pti/32: Size initial_page_table correctly
    2d2e7fe408eb x86/doublefault/32: Fix stack canaries in the double fault handler
    1fd0ff871abe x86/xen/32: Simplify ring check in xen_iret_crit_fixup()
    68ef02e30623 x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout
    ef15170227e2 x86/stackframe/32: Repair 32-bit Xen PV
    37880a369c68 x86/speculation: Fix redundant MDS mitigation message
    459c71f82b48 x86/speculation: Fix incorrect MDS/TAA mitigation status
    c77d64c158c6 x86/insn: Fix awk regexp warnings
    41bbdde13b43 x86: Use CONFIG_PREEMPTION
    217d051d8efd x86/entry/32: Pass cr2 to do_async_page_fault()
    1ecceee4c859 x86/entry/64: Prevent clobbering of saved CR2 value
    8ccce28352fe x86/mm, tracing: Fix CR2 corruption
    8873fea5f2d4 x86/entry/64: Update comments and sanity tests for create_gap
    7801660649a0 x86/entry/64: Simplify idtentry a little
    5d305a697f40 x86/entry/32: Simplify common_exception
    216401f82bef x86/paravirt: Make read_cr2() CALLEE_SAVE
    bf8b9dd0d0bf x86/asm: Move native_write_cr0/4() out of line
    222093f0acfd x86/pgtable/32: Fix LOWMEM_PAGES constant
    7998b2c4801a x86/alternatives: Fix int3_emulate_call() selftest stack corruption
    e4a8155be9bd x86/ldt: Initialize the context lock for init_mm
    f07a9a3a9ad4 x86/alternatives: Add int3_emulate_call() selftest
    29b042bbfab8 x86/stackframe/32: Allow int3_emulate_push()
    22334402db00 x86/stackframe/32: Provide consistent pt_regs
    ed6c118e4451 x86/stackframe, x86/ftrace: Add pt_regs frame annotations
    7159ebba55a4 x86/stackframe, x86/kprobes: Fix frame pointer annotations
    ba09efb8b35b x86/stackframe: Move ENCODE_FRAME_POINTER to asm/frame.h
    c2f632a32c05 x86/entry/32: Clean up return from interrupt preemption path
    ce394d5e28c6 x86/asm: Pin sensitive CR0 bits
    b3327106585c x86/asm: Pin sensitive CR4 bits
    e3534ce1de0c Documentation/x86: Fix path to entry_32.S
    487a6cb63d71 x86/asm: Remove unused TASK_TI_flags from asm-offsets.c
    2bd8a406516b x86/entry/64: Don't compile ignore_sysret if 32-bit emulation is enabled

(From OE-Core rev: d320a03b697679dfe223883b23480b70f89ad649)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
b584bacd6c linux-yocto/5.4: update to v5.4.20
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    27dfbcc2f53d Linux 5.4.20
    2d8fdc5744ff selinux: fall back to ref-walk if audit is required
    ae7f404d9227 libertas: make lbs_ibss_join_existing() return error code on rates overflow
    61087dce64a5 libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held
    3c822e1f3118 mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv()
    c5b071e3f44d mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()
    2cf2b620af7b dmaengine: axi-dmac: add a check for devm_regmap_init_mmio
    eada328f7f9b clk: meson: g12a: fix missing uart2 in regmap table
    3cfb0b360b37 mfd: max77650: Select REGMAP_IRQ in Kconfig
    3b9586e82c90 regmap: fix writes to non incrementing registers
    4eb12ef7491d pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B
    7b07d15aa5b4 pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control
    875e01dd8a97 selinux: fix regression introduced by move_mount(2) syscall
    3b2e595dfe2b selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link"
    837c36e0451f bcache: avoid unnecessary btree nodes flushing in btree_flush_write()
    7c71d438e7e5 dt-bindings: iio: adc: ad7606: Fix wrong maxItems value
    d15a2930f6d7 media: i2c: adv748x: Fix unsafe macros
    30dd20c6d0e3 drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe
    8dfa11837606 crypto: caam/qi2 - fix typo in algorithm's driver name
    1f42c6de7b94 crypto: atmel-sha - fix error handling when setting hmac key
    fb42d3f4ec86 crypto: artpec6 - return correct error code for failed setkey()
    ee1c6b1aa9dc crypto: testmgr - don't try to decrypt uninitialized buffers
    771fd0b2e8bf mtd: sharpslpart: Fix unsigned comparison to zero
    1765aaef1753 mtd: onenand_base: Adjust indentation in onenand_read_ops_nolock
    7df80a021f66 arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly
    0ec337059d71 KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer
    a17d21640453 KVM: arm64: pmu: Fix chained SW_INCR counters
    a6229d1b5c22 KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset
    93a509cf1182 KVM: arm: Make inject_abt32() inject an external abort instead
    9cce31930ad3 KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests
    48f9ec2020b3 KVM: arm/arm64: Fix young bit from mmu notifier
    537493f1460a arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations
    37014cee458c arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly
    1a2b07a2c3dd arm64: cpufeature: Fix the type of no FP/SIMD capability
    ba95651cefe1 sched/uclamp: Fix a bug in propagating uclamp value in new cgroups
    5d42957c9045 ARM: 8949/1: mm: mark free_memmap as __init
    199808393ef7 KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections
    c406e5352155 ARM: at91: pm: use of_device_id array to find the proper shdwc node
    69f08f44b4c1 ARM: at91: pm: use SAM9X60 PMC's compatible
    451b91d88a1d iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA
    c4faf627c76e powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW
    cff30edec932 powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning
    5ca556d5edfd powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths
    05a23f436471 powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX
    17f37249d7db powerpc/ptdump: Fix W+X verification call in mark_rodata_ro()
    6d7edac1469e Revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests"
    45c764da005a soc: qcom: rpmhpd: Set 'active_only' for active only power domains
    0bf48acf4338 tools/power/acpi: fix compilation error
    5d3453a5660b ARM: dts: at91: sama5d3: define clock rate range for tcb1
    581a5fbf4f6d ARM: dts: at91: sama5d3: fix maximum peripheral clock rates
    8e8802c93509 ARM: dts: meson8b: use the actual frequency for the GPU's 364MHz OPP
    16665fffafee ARM: dts: meson8: use the actual frequency for the GPU's 182.1MHz OPP
    3d2d8cd29c1b arm64: dts: marvell: clearfog-gt-8k: fix switch cpu port node
    c44134c2a287 arm64: dts: renesas: r8a77990: ebisu: Remove clkout-lr-synchronous from sound
    6f9da85057c1 ARM: dts: am43xx: add support for clkout1 clock
    bd13285419b9 ARM: dts: at91: Reenable UART TX pull-ups
    d01521db86ac arm64: dts: uDPU: fix broken ethernet
    5ee40005f420 arm64: dts: qcom: msm8998: Fix tcsr syscon size
    bc684844e7e0 platform/x86: intel_mid_powerbtn: Take a copy of ddata
    b09e3d3e79cf ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
    2de1af2bcba0 watchdog: qcom: Use platform_get_irq_optional() for bark irq
    f599ae7529e6 rtc: cmos: Stop using shared IRQ
    7a3aa58c0e02 rtc: hym8563: Return -EINVAL if the time is known to be invalid
    ffad5982ce58 x86/boot: Handle malformed SRAT tables during early ACPI parsing
    f4818129947c NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals
    cf360732f811 NFSv4: try lease recovery on NFS4ERR_EXPIRED
    5d0a6d77b69c NFSv4: pnfs_roc() must use cred_fscmp() to compare creds
    86065de0eb0a NFS: Fix fix of show_nfs_errors
    5d7030939d22 NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes()
    1ef47a06d2d4 NFS: Revalidate the file size on a fatal write error
    b7560b5b72a2 nfs: NFS_SWAP should depend on SWAP
    7842c7b30d75 bpf, sockmap: Check update requirements after locking
    45d7b0e316d9 bpf: Improve bucket_log calculation logic
    cb675fde4c44 selftests/bpf: Test freeing sockmap/sockhash with a socket in it
    1098f9696152 bpf, sockhash: Synchronize_rcu before free'ing map
    657a17ce530e bpf, sockmap: Don't sleep while holding RCU lock on tear-down
    1dfc34bd009a bpftool: Don't crash on missing xlated program instructions
    ec81471a70d1 iwlwifi: mvm: avoid use after free for pmsr request
    b706a4986382 PCI/AER: Initialize aer_fifo
    b51ac6e721d5 PCI: Don't disable bridge BARs when assigning bus resources
    67016624a0be PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30
    df26f04f23bd PCI/switchtec: Fix vep_vector_number ioread width
    b72b8d0725b0 PCI/switchtec: Use dma_set_mask_and_coherent()
    15818c08ca79 ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe
    4f0e6425a2da PCI/IOV: Fix memory leak in pci_iov_add_virtfn()
    da268240fb0a scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails
    21702236f352 RDMA/umem: Fix ib_umem_find_best_pgsz()
    56b22525ab80 RDMA/cma: Fix unbalanced cm_id reference count during address resolve
    b73401025a14 RDMA/uverbs: Verify MR access flags
    78923675151e RDMA/core: Fix locking in ib_uverbs_event_read
    33daaea78a1f RDMA/i40iw: fix a potential NULL pointer dereference
    b1f90d263a3b RDMA/netlink: Do not always generate an ACK for some netlink operations
    839fb9e04cd7 IB/mlx4: Fix leak in id_map_find_del
    996dc3d50add IB/srp: Never use immediate data if it is disabled by a user
    56f5f41e80b3 IB/mlx4: Fix memory leak in add_gid error flow
    b96c27b1891b hv_sock: Remove the accept port restriction
    f7775193b643 ASoC: pcm: update FE/BE trigger order based on the command
    d6591ea2dd1a Linux 5.4.19
    866323ccc138 powerpc/kuap: Fix set direction in allow/prevent_user_access()
    3556d66be3f1 regulator fix for "regulator: core: Add regulator_is_equal() helper"
    0f51165c22e4 rxrpc: Fix service call disconnection
    743823969080 perf/core: Fix mlock accounting in perf_mmap()
    d1318034e9e9 clocksource: Prevent double add_timer_on() for watchdog_timer
    d15b033e9603 x86/apic/msi: Plug non-maskable MSI affinity race
    b64d7f7af8f9 cifs: fail i/o on soft mounts if sessionsetup errors out
    3e3e8551a5a2 KVM: Play nice with read-only memslots when querying host page size
    7426ddf01f16 KVM: Use vcpu-specific gva->hva translation when querying host page size
    09bd0033df05 KVM: nVMX: vmread should not set rflags to specify success in case of #PF
    1d6cfa003c21 KVM: x86: fix overlap between SPTE_MMIO_MASK and generation
    8a1cd01bee30 KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM
    fc46f8a115e5 KVM: x86: use CPUID to locate host page table reserved bits
    f805ec37828b KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM
    59593aed7e9e drm/dp_mst: Remove VCPI while disabling topology mgr
    498742625716 btrfs: free block groups after free'ing fs trees
    26ca39ac5593 btrfs: use bool argument in free_root_pointers()
    d0d327fe37cc x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode
    8fbabd15bdbc mfd: bd70528: Fix hour register mask
    555b3025e8fa mfd: rn5t618: Mark ADC control register volatile
    3cf5733a2db7 mfd: da9062: Fix watchdog compatible string
    9af68afd832f ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug
    207014751cd1 net/mlx5: Deprecate usage of generic TLS HW capability bit
    70b68add8d65 net/mlx5: Fix deadlock in fs_core
    0fea83e06f12 drop_monitor: Do not cancel uninitialized work item
    2b2de489c823 qed: Fix timestamping issue for L2 unicast ptp packets.
    036ecba2eb99 ipv6/addrconf: fix potential NULL deref in inet6_set_link_af()
    7fd6c4da37d4 taprio: Fix dropping packets when using taprio + ETF offloading
    a5b959885c45 taprio: Use taprio_reset_tc() to reset Traffic Classes configuration
    ee6adcf2c318 taprio: Add missing policy validation for flags
    d544302521af taprio: Fix still allowing changing the flags during runtime
    47578c894979 taprio: Fix enabling offload with wrong number of traffic classes
    4c4153375b67 net: macb: Limit maximum GEM TX length in TSO
    96ad794892e7 net: macb: Remove unnecessary alignment check for TSO
    9211b26dcfee net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx
    0be678f179e0 net/mlx5: IPsec, Fix esp modify function attribute
    74888191bb13 net: systemport: Avoid RBUF stuck in Wake-on-LAN mode
    8526c3b6e753 net: stmmac: fix a possible endless loop
    ebf9cdfbcd38 net_sched: fix a resource leak in tcindex_set_parms()
    6994d92ed59a net: mvneta: move rx_dropped and rx_errors in per-cpu stats
    76e828ceafee net: dsa: microchip: enable module autoprobe
    07d7fcb1dd29 net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port
    84e4db766fc6 net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan()
    fddb5a50801a dpaa_eth: support all modes with rate adapting PHYs
    3f90dce11916 devlink: report 0 after hitting end in region read
    6978e2935c74 bonding/alb: properly access headers in bond_alb_xmit()
    0a56a2e1624a ASoC: sgtl5000: Fix VDDA and VDDIO comparison
    67d5b7a1f971 regulator: core: Add regulator_is_equal() helper
    c533cf50fdf6 ubifs: Fix memory leak from c->sup_node
    fa70d4f7f8e0 ubi: Fix an error pointer dereference in error handling code
    6f362620793b ubi: fastmap: Fix inverted logic in seen selfcheck
    c6d07f6e50e4 virtio_balloon: Fix memory leaks on errors in virtballoon_probe()
    3ac13462f55a virtio-balloon: Fix memory leak when unloading while hinting is in progress
    7eece787ed82 nfsd: Return the correct number of bytes written to the file
    e94829641e69 nfsd: fix jiffies/time_t mixup in LRU list
    9f3fa8bea96d nfsd: fix delay timer on 32-bit architectures
    0d1dacfda0e5 IB/core: Fix ODP get user pages flow
    320a24fae280 IB/mlx5: Fix outstanding_pi index for GSI qps
    b4d104ce6dfe net: tulip: Adjust indentation in {dmfe, uli526x}_init_module
    9b14bd934ce3 net: smc911x: Adjust indentation in smc911x_phy_configure
    761b51409246 ppp: Adjust indentation into ppp_async_input
    bd1bac782d92 NFC: pn544: Adjust indentation in pn544_hci_check_presence
    da535ca18ef5 drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable
    bf45386cef7e powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize
    0a7473b27eb9 ext2: Adjust indentation in ext2_fill_super
    421b77ae26f4 phy: qualcomm: Adjust indentation in read_poll_timeout
    55a268cf341f mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two
    3c9edf55817a scsi: ufs: Recheck bkops level if bkops is disabled
    5f8c02d32223 scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free
    bdc7651e6164 scsi: csiostor: Adjust indentation in csio_device_reset
    454db8d6163b scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type
    05dceb5a62ce ASoC: meson: axg-fifo: fix fifo threshold setup
    7c662f69fa05 percpu: Separate decrypted varaibles anytime encryption can be enabled
    59c458d51099 broken ping to ipv6 linklocal addresses on debian buster
    07fbef9a6e18 fix up iter on short count in fuse_direct_io()
    e0fc65ef8a60 virtio-pci: check name when counting MSI-X vectors
    f603b3714e4e virtio-balloon: initialize all vq callbacks
    fe84d084b2e9 drm/amd/dm/mst: Ignore payload update failures
    f4bda8b61e7c clk: tegra: Mark fuse clock as critical
    806cabd3117f mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
    091c96151279 arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode
    ed53278ee834 mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section
    03c03090c3aa ocfs2: fix oops when writing cloned file
    6e41b5499960 KVM: s390: do not clobber registers during guest reset/store status
    b1f9f9b84374 KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest"
    58e1e7514f06 KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation
    a6ff6e0546d0 KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu()
    e3a37628c46d KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails
    9d9933f7f3f4 KVM: x86: Don't let userspace set host-reserved cr4 bits
    715f9f9a0768 KVM: VMX: Add non-canonical check on writes to RTIT address MSRs
    2aebc6ed84ef x86/KVM: Clean up host's steal time structure
    f7c1a6c67ff3 x86/kvm: Cache gfn to pfn translation
    d71eef9fcc0b x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed
    a3db2949904b x86/kvm: Introduce kvm_(un)map_gfn()
    68460ceba319 x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit
    d0671151c2b9 kvm/svm: PKU not currently supported
    9213699efd1f KVM: PPC: Book3S PR: Free shared page if mmu initialization fails
    b2301deda8ce KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails
    0718e2d3dc54 KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform
    72324a1db6a1 KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks
    2fb35312c070 KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks
    f2a514318263 KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c
    a07fdd5fcb30 KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks
    c09be769b48d KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks
    2f8a13754e05 KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks
    c8a6b5918942 KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks
    bf13472e5c05 KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks
    8b73ccf4b475 KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks
    c2b02d093a08 KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks
    79777eb82c23 KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks
    443fd0049dcf KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks
    8dcbf26833cc aio: prevent potential eventfd recursion on poll
    844d2025b68d eventfd: track eventfd_signal() recursion depth
    d5d6b5887241 bcache: add readahead cache policy options via sysfs interface
    f158399c1fe9 watchdog: fix UAF in reboot notifier handling in watchdog core code
    c157da57304e xen/balloon: Support xend-based toolstack take two
    726599c63799 tools/kvm_stat: Fix kvm_exit filter name
    7a19bd6fe21b media: rc: ensure lirc is initialized before registering input device
    fd52d88c1dd8 media: iguanair: fix endpoint sanity check
    ae116f21b24a drm/rect: Avoid division by zero
    5b442859ab80 drm: atmel-hlcdc: prefer a lower pixel-clock than requested
    d065ae83dff8 drm: atmel-hlcdc: enable clock before configuring timing engine
    6421785d17e1 drm: atmel-hlcdc: use double rate for pixel clock only if supported
    ae35ac3c4b08 gfs2: fix O_SYNC write handling
    637348690865 gfs2: move setting current->backing_dev_info
    c61b93fae603 gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0
    65afa6958134 sunrpc: expiry_time should be seconds not timeval
    301763168c5f mwifiex: fix unbalanced locking in mwifiex_process_country_ie()
    535a755d6e6d iwlwifi: don't throw error when trying to remove IGTK
    cbe53807a14d ARM: tegra: Enable PLLP bypass during Tegra124 LP1
    9e78c0e74261 btrfs: Correctly handle empty trees in find_first_clear_extent_bit
    d82ff2d6406d btrfs: flush write bio if we loop in extent_write_cache_pages
    5e7a9ad78d56 Btrfs: fix race between adding and putting tree mod seq elements and nodes
    ce066845584a btrfs: drop log root for dropped roots
    7baf8f665b77 btrfs: set trans->drity in btrfs_commit_transaction
    78748f249199 Btrfs: fix infinite loop during fsync after rename operations
    79a29dee9024 Btrfs: make deduplication with range including the last block work
    ddb36ab79b11 Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES
    f0edd3abee0d ext4: fix race conditions in ->d_compare() and ->d_hash()
    d44fa04f0864 ext4: fix deadlock allocating crypto bounce page from mempool
    b19f130269c0 jbd2_seq_info_next should increase position index
    6282102dbcbf nfsd: fix filecache lookup
    4544a6912416 NFS: Directory page cache pages need to be locked when read
    293cdcd89b6c NFS: Fix memory leaks and corruption in readdir
    8d313c04b425 scsi: qla2xxx: Fix unbound NVME response length
    246a54895ac6 powerpc/futex: Fix incorrect user access blocking
    eee7a67c0391 crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill
    e057d64f86d4 crypto: api - Fix race condition in crypto_spawn_alg
    12a15e1c544e crypto: atmel-aes - Fix counter overflow in CTR mode
    2c4d8203ff0c crypto: pcrypt - Do not clear MAY_SLEEP flag in original request
    ded7c73a2b8c crypto: arm64/ghash-neon - bump priority to 150
    3a35871603a6 crypto: ccp - set max RSA modulus size for v3 platform devices as well
    58d8f2dec6ab crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists
    a791fc62a574 crypto: api - fix unexpectedly getting generic implementation
    1f5f3f65f956 selftests: bpf: Ignore FIN packets for reuseport tests
    44a522bf5edc selftests: bpf: Use a temporary file in test_sockmap
    da43712a7262 selftests/bpf: Skip perf hw events test if the setup disabled it
    49437ecf9f30 selftests/bpf: Fix test_attach_probe
    c0ada6ad3ec5 samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach
    a69af866bd35 samples/bpf: Don't try to remove user's homedir on clean
    fbee8f61747f tc-testing: fix eBPF tests failure on linux fresh clones
    f7a2ccc00a36 libbpf: Fix realloc usage in bpf_core_find_cands
    ab48c14a444b bpf, devmap: Pass lockdep expression to RCU lists
    77bb53cb0948 selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs
    5b0e9b563c01 riscv, bpf: Fix broken BPF tail calls
    f3107a3c9b84 btrfs: Handle another split brain scenario with metadata uuid feature
    dd9837259de0 btrfs: fix improper setting of scanned for range cyclic write cache pages
    b4c8ed0bf977 crypto: pcrypt - Avoid deadlock by using per-instance padata queues
    c8e9dafe668d ftrace: Protect ftrace_graph_hash with ftrace_sync
    6a652ed941aa ftrace: Add comment to why rcu_dereference_sched() is open coded
    c9dc142b39a8 tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu
    024537c7548f tracing: Annotate ftrace_graph_hash pointer with __rcu
    df57920d6e18 ASoC: SOF: core: release resources on errors in probe_continue
    3145862d8f9e ASoC: SOF: Introduce state machine for FW boot
    0b84591fdd5e scsi: qla2xxx: Fix stuck login session using prli_pend_timer
    78cbd2c397bf dm: fix potential for q->make_request_fn NULL pointer
    1426201af047 dm thin metadata: use pool locking at end of dm_pool_metadata_close
    40d3d8d6eb64 dm crypt: fix benbi IV constructor crash if used in authenticated mode
    b805ec7d089f dm crypt: fix GFP flags passed to skcipher_request_alloc()
    1781fa54a4ea dm writecache: fix incorrect flush sequence when doing SSD mode commit
    a8d99d630117 dm space map common: fix to ensure new block isn't already in use
    188f9b710ff1 dm zoned: support zone sizes smaller than 128MiB
    ad7c38abe8ba ARM: dma-api: fix max_pfn off-by-one error in __dma_supported()
    bae74e7ac842 of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc
    f5f68d165dc0 cpufreq: Avoid creating excessively large stack frames
    7dce99d3182a PM: core: Fix handling of devices deleted during system-wide resume
    e9116299ffac f2fs: fix race conditions in ->d_compare() and ->d_hash()
    6d722cd2e387 f2fs: fix dcache lookup of !casefolded directories
    f4803553aae6 f2fs: code cleanup for f2fs_statfs_project()
    b1de9ec0e788 f2fs: fix miscounted block limit in f2fs_statfs_project()
    ae2cb41583a9 f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()
    08846286bf28 ovl: fix lseek overflow on 32bit
    809e16a6eeb3 ovl: fix wrong WARN_ON() in ovl_cache_update_ino()
    03572189d61c power: supply: ltc2941-battery-gauge: fix use-after-free
    6f33d59ae165 power: supply: axp20x_ac_power: Fix reporting online status
    4eed5d3bb14a cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e
    2b27acfde9b2 scsi: qla2xxx: Fix mtcp dump collection failure
    edd15b154653 scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state
    3728834fff19 erofs: fix out-of-bound read for shifted uncompressed block
    3ebbfdf41d26 scripts/find-unused-docs: Fix massive false positives
    a421f513779c fs: allow deduplication of eof block into the end of the destination file
    5fefc9b3e358 padata: Remove broken queue flushing
    5f63963669ec crypto: ccree - fix PM race condition
    5e33535cf13c crypto: ccree - fix FDE descriptor sequence
    d8760030e701 crypto: ccree - fix pm wrongful error reporting
    70439e8b7ccf crypto: ccree - fix AEAD decrypt auth fail
    80c660892c24 crypto: ccree - fix backlog memory leak
    d2b1dcd5430f crypto: api - Check spawn->alg under lock in crypto_drop_spawn
    0ed43162f578 nvmem: core: fix memory abort in cleanup path
    6bdd1a0ed111 mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile
    385c61a41cf9 hv_balloon: Balloon up according to request page number
    570a29b1f75b ASoC: SOF: core: free trace on errors
    84c9efd2f855 mmc: sdhci-of-at91: fix memleak on clk_get failure
    65e6f63ebfb9 ubifs: Fix deadlock in concurrent bulk-read and writepage
    e3a561aa5376 ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag
    91f96a9cdd82 ubifs: Fix wrong memory allocation
    0119c617ebb6 ubifs: don't trigger assertion on invalid no-key filename
    9220bf17ae18 fscrypt: don't print name of busy file when removing key
    ad270734193e alarmtimer: Unregister wakeup source when module get fails
    05b147599f9d ACPI / battery: Deal better with neither design nor full capacity not being reported
    7b86d05d1b02 ACPI / battery: Use design-cap for capacity calculations if full-cap is not available
    93bba324c28a ACPI / battery: Deal with design or full capacity being reported as -1
    832d6f76f268 ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards
    44f6e43924f8 mmc: spi: Toggle SPI polarity, do not hardcode it
    47bdd025b921 PCI: keystone: Fix error handling when "num-viewport" DT property is not populated
    a8b56e222300 PCI: keystone: Fix link training retries initiation
    6700c0d9ae92 PCI: keystone: Fix outbound region mapping
    05d56da81d94 PCI: tegra: Fix return value check of pm_runtime_get_sync()
    38b67e60b6b5 tracing: Fix now invalid var_ref_vals assumption in trace action
    5b92f86c8492 powerpc/32s: Fix CPU wake-up from sleep mode
    4135a03fdf2e powerpc/32s: Fix bad_kuap_fault()
    1bd3b871af57 powerpc/pseries: Advance pfn if section is not present in lmb_is_removable()
    02c4699fb664 powerpc/xmon: don't access ASDR in VMs
    796085dbe323 powerpc/ptdump: Fix W+X verification
    2cabe61ab8ae powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case
    63098a93063a s390/mm: fix dynamic pagetable upgrade for hugetlbfs
    e25f00c69039 MIPS: boot: fix typo in 'vmlinux.lzma.its' target
    bd9abdfd68b2 MIPS: fix indentation of the 'RELOCS' message
    6b29d4a1f832 MIPS: syscalls: fix indentation of the 'SYSNR' message
    6cca9100db90 KVM: arm64: Only sign-extend MMIO up to register width
    4dd5c62d2e4c KVM: arm/arm64: Correct AArch32 SPSR on exception entry
    b0e01e9d2353 KVM: arm/arm64: Correct CPSR on exception entry
    cc7931dc766f KVM: arm64: Correct PSTATE on exception entry
    5222ded5c72c arm64: acpi: fix DAIF manipulation with pNMI
    79c56db06547 ALSA: hda: Add JasperLake PCI ID and codec vid
    3d938d9febd1 ALSA: hda: Add Clevo W65_67SB the power_save blacklist
    6cb7581f5702 ALSA: hda: Apply aligned MMIO access only conditionally
    68efc422c547 platform/x86: intel_scu_ipc: Fix interrupt support
    5bf25f3828a2 x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR
    146f086a409b irqdomain: Fix a memory leak in irq_domain_push_irq()
    db165906cad5 lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
    9cbcbfc67b25 media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments
    965ccdedf1bf media: v4l2-core: compat: ignore native command codes
    d2db1cbc751f media/v4l2-core: set pages dirty upon releasing DMA buffers
    d364e9b37cc9 mm: move_pages: report the number of non-attempted pages
    95419e7ef266 mm: thp: don't need care deferred split queue in memcg charge move path
    aab4189dfdb1 mm/memory_hotplug: fix remove_memory() lockdep splat
    cb33e477a50b utimes: Clamp the timestamps in notify_change()
    73031a617ac3 mmc: sdhci-pci: Make function amd_sdhci_reset static
    af823232b018 mm/sparse.c: reset section's mem_map when fully deactivated
    c2c814fc9aee memcg: fix a crash in wb_workfn when a device disappears
    39fac95159b4 ALSA: dummy: Fix PCM format loop in proc output
    6edf790e9e51 ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk
    85dbab63b461 ALSA: usb-audio: Fix endianess in descriptor validation
    2068fbb20b9f usb: gadget: f_ecm: Use atomic_t to track in-flight request
    a7d00597e0b7 usb: gadget: f_ncm: Use atomic_t to track in-flight request
    683b53b5aa12 usb: gadget: legacy: set max_speed to super-speed
    063daad1412e usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer
    47dbff795049 objtool: Silence build output
    72a533fc29e1 usb: typec: tcpci: mask event interrupts when remove driver
    91cfedb762bd usb: dwc3: gadget: Delay starting transfer
    1dc0d21fc1e6 usb: dwc3: gadget: Check END_TRANSFER completion
    4e5d1bf6e68f brcmfmac: Fix memory leak in brcmf_usbdev_qinit
    1c8c75275f97 Bluetooth: btusb: Disable runtime suspend on Realtek devices
    1bfecb50771d Bluetooth: btusb: fix memory leak on fw
    21780d1fd65b nvmet: Fix controller use after free
    6243cb9e32d2 nvmet: Fix error print message at nvmet_install_queue function
    6a4fea54ab46 rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special()
    c71706a5ffff srcu: Apply *_ONCE() to ->srcu_last_gp_end
    dcad7270b2c7 rcu: Avoid data-race in rcu_gp_fqs_check_wake()
    a523031513b7 rcu: Use *_ONCE() to protect lockless ->expmask accesses
    d42b2370f28a tracing: Fix sched switch start/stop refcount racy updates
    e39351c52efb tracing/kprobes: Have uname use __get_str() in print_fmt
    59b2e64b16bb ipc/msg.c: consolidate all xxxctl_down() functions
    8ce07d95d67a netfilter: ipset: fix suspicious RCU usage in find_set_and_id
    7bad0dda8164 mfd: dln2: More sanity checking for endpoints
    6fcbff54ded1 media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors
    9f5c4fac341c bnxt_en: Fix logic that disables Bus Master during firmware reset.
    fddd3f73ad08 netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init()
    f146529c0049 MAINTAINERS: correct entries for ISDN/mISDN section
    096df4720ab6 ionic: fix rxq comp packet type mask
    b6a7ba0e8622 tcp: clear tp->segs_{in|out} in tcp_disconnect()
    31fceaf08597 tcp: clear tp->data_segs{in|out} in tcp_disconnect()
    2fc4773b6af7 tcp: clear tp->delivered in tcp_disconnect()
    c9b6c6d07e5c tcp: clear tp->total_retrans in tcp_disconnect()
    269a3c472a6f rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect
    843e115de475 rxrpc: Fix missing active use pinning of rxrpc_local object
    524cba2f8de5 rxrpc: Fix insufficient receive notification generation
    62221a9b1c9a rxrpc: Fix use-after-free in rxrpc_put_local()
    5fa06c956821 bnxt_en: Fix TC queue mapping.
    8566221e46eb net: stmmac: Delete txtimer in suspend()
    dd8142a6fa52 net_sched: fix an OOB access in cls_tcindex
    919f13c56485 net: hsr: fix possible NULL deref in hsr_handle_frame()
    f3dea4cea67a l2tp: Allow duplicate session creation with UDP
    b080bc8481d9 gtp: use __GFP_NOWARN to avoid memalloc warning
    0f8f0429a299 cls_rsvp: fix rsvp_policy
    097ef8be69a3 bnxt_en: Move devlink_register before registering netdev
    aaf5369c72e9 sparc32: fix struct ipc64_perm type definition

(From OE-Core rev: cdbe18840fcd8d3f863a6198b33fc27731a4a7f0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Bruce Ashfield
bc3aeb8bda linux-yocto/5.4: update to v5.4.18
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    58c72057f662 Linux 5.4.18
    3353852afe1e tracing/uprobe: Fix to make trace_uprobe_filter alignment safe
    5f9b8c5a4618 Revert "rsi: fix potential null dereference in rsi_probe()"
    09d4a9c83c68 ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order
    52cf138f5cc1 mm/migrate.c: also overwrite error when it is bigger than zero
    20e1bbe5cfd7 perf report: Fix no libunwind compiled warning break s390 issue
    e16b302f691c dm thin: fix use-after-free in metadata_pre_commit_callback
    35511d9471be flow_dissector: Fix to use new variables for port ranges in bpf hook
    f42407a7906b cpuidle: teo: Avoid using "early hits" incorrectly
    c5e3c887dfc0 btrfs: do not zero f_bavail if we have available space
    420e4a521c0e net: Fix skb->csum update in inet_proto_csum_replace16().
    e853e3f9f9d4 netfilter: nf_tables_offload: fix check the chain offload flag
    17d56cef7f93 netfilter: conntrack: sctp: use distinct states for new SCTP connections
    b71636ee37fa l2t_seq_next should increase position index
    148a71a8ece8 seq_tab_next() should increase position index
    0c9a3ab865c3 net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G
    e2c797b72e01 net/fsl: treat fsl,erratum-a011043
    1ce13ed0a5de powerpc/fsl/dts: add fsl,erratum-a011043
    6ee3feac65ea qlcnic: Fix CPU soft lockup while collecting firmware dump
    d693255105b6 ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1
    06b5e1087103 r8152: disable DelayPhyPwrChg
    510818ae0f38 r8152: avoid the MCU to clear the lanwake
    3a128650b47a r8152: disable test IO for RTL8153B
    bc2ef2e9d142 r8152: Disable PLA MCU clock speed down
    b05091c3ae99 r8152: disable U2P3 for RTL8153B
    26a581fafceb r8152: get default setting of WOL before initializing
    281f32e34382 tee: optee: Fix compilation issue with nommu
    0703666b9658 led: max77650: add of_match table
    313151afdf4c ARM: 8955/1: virt: Relax arch timer version check during early boot
    edb6590b1b2c scsi: fnic: do not queue commands during fwreset
    3075e636b368 Input: max77650-onkey - add of_match table
    c3a49824165c xfrm: interface: do not confirm neighbor when do pmtu update
    b38dd235a4bd xfrm interface: fix packet tx through bpf_redirect()
    c8e04566db7f vti[6]: fix packet tx through bpf_redirect()
    5743a3a8a4c7 ARM: dts: am335x-boneblack-common: fix memory size
    c15ea8e4150d Input: evdev - convert kzalloc()/vzalloc() to kvzalloc()
    220ee13d017c iwlwifi: dbg: force stop the debug monitor HW
    27cf25a0b87a iwlwifi: Don't ignore the cap field upon mcc update
    4df1389ff7b5 iwlwifi: pcie: allocate smaller dev_cmd for TX headers
    08022255a9ee XArray: Fix xas_pause at ULONG_MAX
    b267caf5e51f riscv: delete temporary files
    8f2fa34a52c5 perf/x86/intel/uncore: Remove PCIe3 unit for SNR
    aae7d5784c53 perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family
    86982620f28b wireless: wext: avoid gcc -O3 warning
    b308d93dd5b3 mac80211: Fix TKIP replay protection immediately after key setup
    e233cbaf8ecc cfg80211: Fix radar event during another phy CAC
    01c2c23d3d5f wireless: fix enabling channel 12 for custom regulatory domain
    9e62f296dbae lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP
    0b06c373db8a parisc: Use proper printk format for resource_size_t
    e1133c1796a1 qmi_wwan: Add support for Quectel RM500Q
    422566f37e37 ASoC: sti: fix possible sleep-in-atomic
    99ced2ecfe9e ASoC: hdac_hda: Fix error in driver removal after failed probe
    e43ab59fb1aa ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers
    70149813320f platform/x86: intel_pmc_core: update Comet Lake platform driver
    689233e8f998 platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits
    7790a471e80c iavf: remove current MAC address filter on VF reset
    73613ce39d59 igb: Fix SGMII SFP module discovery for 100FX/LX.
    fd335ee1e9e2 ixgbe: Fix calculation of queue with VFs and flow director on interface flap
    5113ff357d81 ixgbevf: Remove limit of 10 entries for unicast filter list
    be87d4f313e3 i40e: Fix virtchnl_queue_select bitmap validation
    557fda798eab s390/zcrypt: move ap device reset from bus to driver code
    1a18f3a7dbbf ASoC: rt5640: Fix NULL dereference on module unload
    aab165d61cb4 clk: mmp2: Fix the order of timer mux parents
    8b4e524dc02b mac80211: mesh: restrict airtime metric to peered established plinks
    096837d4b495 clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order
    e619af70d133 clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock
    95c892061e90 rseq: Unregister rseq for clone CLONE_VM
    91f91139d32f tools lib traceevent: Fix memory leakage in filter_event
    22946b839768 soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot
    adba4a2a5273 ARM: dts: beagle-x15-common: Model 5V0 regulator
    8a14c121d4e4 ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes
    b5cbe8ad1b60 ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity
    e8b0d16e4c7f arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt
    f0a7b02147ad clk: sunxi-ng: v3s: Fix incorrect number of hw_clks.
    3ea87219a9c7 cgroup: Prevent double killing of css when enabling threaded cgroup
    07d00820bf98 Bluetooth: Fix race condition in hci_release_sock()
    f39406a925b0 ttyprintk: fix a potential deadlock in interrupt context issue
    99652ee9c516 tomoyo: Use atomic_t for statistics counter
    81b3fd0cb421 media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0
    f416aac94c12 media: gspca: zero usb_buf
    d35ef79fbc97 media: vp7045: do not read uninitialized values if usb transfer fails
    0c7cc4c9c2bb media: af9005: uninitialized variable printked
    5b256eea1ae6 media: digitv: don't continue if remote control state can't be read
    761a10b67a11 reiserfs: Fix memory leak of journal device string
    9bcdb8ba5a3d mm/mempolicy.c: fix out of bounds write in mpol_parse_str()
    7965bc367e70 arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean'
    e77625d1f8ff tools lib: Fix builds when glibc contains strlcpy()
    da1321fc1405 PM / devfreq: Add new name attribute for sysfs
    e9fac0046579 perf c2c: Fix return type for histogram sorting comparision functions
    73774def78ec gfs2: Another gfs2_find_jhead fix
    d635e7c4b34e e1000e: Revert "e1000e: Make watchdog use delayed work"
    21c613793972 e1000e: Drop unnecessary __E1000_DOWN bit twiddling
    5ca5637ec665 x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup
    40300f986e47 x86/resctrl: Fix use-after-free when deleting resource groups
    2dd2e4722922 x86/resctrl: Fix a deadlock due to inaccurate reference
    cd0826719560 cifs: fix soft mounts hanging in the reconnect code
    2c38e6140126 vfs: fix do_last() regression
    313c8460cf02 Linux 5.4.17
    831919b4c481 power/supply: ingenic-battery: Don't change scale if there's only one
    dd350f3918be Revert "um: Enable CONFIG_CONSTRUCTORS"
    a775f67b4b61 KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE
    00d58d0b58bc crypto: pcrypt - Fix user-after-free on module unload
    9f6d555f58f3 crypto: caam - do not reset pointer size from MCFGR register
    3b52ada5b82c crypto: vmx - reject xts inputs that are too short
    9d9b578ffef3 crypto: af_alg - Use bh_lock_sock in sk_destruct
    ac39443b7b49 rsi: fix non-atomic allocation in completion handler
    1f04209d19c5 rsi: fix memory leak on failed URB submission
    2d367468ecdf rsi: fix use-after-free on probe errors
    d8902b43745f rsi: fix use-after-free on failed probe and unbind
    99d9138295cb bus: ti-sysc: Fix missing force mstandby quirk handling
    58b09300ee1b Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk
    d1e5f8c5156e Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks
    d273ee188a4a ALSA: hda/realtek - Move some alc236 pintbls to fallback table
    050072c0f798 usb-storage: Disable UAS on JMicron SATA enclosure
    a2e6217bd8ea bus: ti-sysc: Add module enable quirk for audio AESS
    0c101a22fec5 mmc: sdhci-pci: Add support for Intel JSL
    ac342e0a1f18 mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906
    142356a63872 ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition
    f3020d789311 ARM: config: aspeed-g5: Enable 8250_DW quirks
    4f8f8f31c505 mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs
    81909bd070db perf/imx_ddr: Add enhanced AXI ID filter support
    b02b0a6bcc81 iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping
    1f03a258f20f iommu/amd: Support multiple PCI DMA aliases in device table
    d7937ea02315 spi: pxa2xx: Add support for Intel Comet Lake-H
    c90ed6e66288 bus: ti-sysc: Use swsup quirks also for am335x musb
    48b038c9d54a bus: ti-sysc: Handle mstandby quirk and use it for musb
    6d34eacd8348 media: dvbsky: add support for eyeTV Geniatech T2 lite
    fef41f3a82ea PCI: Add DMA alias quirk for Intel VCA NTB
    f8aaefd5510a platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx
    21fd877300b0 staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'
    c9ddede0a9fc libbpf: Fix BTF-defined map's __type macro handling of arrays
    d40471b727e8 drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2)
    791e3ec642ce ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0
    48617aa63951 extcon-intel-cht-wc: Don't reset USB data connection at probe
    de850e86d2e1 HID: steam: Fix input device disappearing
    b60d320dc363 atm: eni: fix uninitialized variable warning
    f4691c14d449 stmmac: debugfs entry name is not be changed when udev rename device name.
    9d54646059b2 drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded
    a347d66cbec7 iommu/dma: fix variable 'cookie' set but not used
    4fe14f9db5c9 gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP
    dfe190e77862 net: wan: sdla: Fix cast from pointer to integer of different size
    eea2b2bb502f drivers/net/b44: Change to non-atomic bit operations on pwol_mask
    c2ae3ce351be net: Google gve: Remove dma_wmb() before ringing doorbell
    7db4e6c728cb spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
    db10c64764eb can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access
    68d199fc8e66 usb: musb: jz4740: Silence error if code is -EPROBE_DEFER
    3ecda03a5c13 watchdog: orion: fix platform_get_irq() complaints
    b39f38f0ebed watchdog: rn5t618_wdt: fix module aliases
    27757bfb8c72 watchdog: max77620_wdt: fix potential build errors
    5399714dc2a1 HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID
    e5900bc22253 phy: cpcap-usb: Prevent USB line glitches from waking up modem
    98aedb893555 ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime()
    68b74847c8bc ASoC: fsl_audmix: add missed pm_runtime_disable
    a0636e211f8e phy: qcom-qmp: Increase PHY ready timeout
    b826ffe45a27 drivers/hid/hid-multitouch.c: fix a possible null pointer access.
    32a369776bd5 ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free
    eedf205f0267 ASoC: SOF: fix fault at driver unload after failed probe
    8cc2de41a529 HID: wacom: Recognize new MobileStudio Pro PID
    b55f9e9760c8 HID: intel-ish-hid: ipc: add CMP device id
    22aa1db061d2 HID: Add quirk for incorrect input length on Lenovo Y720
    854f39866e2f HID: asus: Ignore Asus vendor-page usage-code 0xff events
    49de93b4018b HID: ite: Add USB id match for Acer SW5-012 keyboard dock
    05c33c23d0b6 HID: Add quirk for Xin-Mo Dual Controller
    ae9484c6fb60 arc: eznps: fix allmodconfig kconfig warning
    f5adacf21c6e HID: multitouch: Add LG MELF0410 I2C touchscreen support
    b576b27f7ba4 rxrpc: Fix use-after-free in rxrpc_receive_data()
    d3da5e90665a net: include struct nhmsg size in nh nlmsg size
    73226c74746d mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()'
    3c8c966cc718 udp: segment looped gso packets correctly
    87c681943725 net: socionext: fix xdp_result initialization in netsec_process_rx
    b7eda225ebc1 net: socionext: fix possible user-after-free in netsec_process_rx
    717abad86460 net_sched: walk through all child classes in tc_bind_tclass()
    55ec468d3093 net_sched: fix ops->bind_class() implementations
    2d0b854393af net_sched: ematch: reject invalid TCF_EM_SIMPLE
    79c13c063720 zd1211rw: fix storage endpoint lookup
    226ed25115b7 rtl8xxxu: fix interface sanity check
    670a39aeb07b brcmfmac: fix interface sanity check
    b896fe1da14f ath9k: fix storage endpoint lookup
    e08884197082 cifs: Fix memory allocation in __smb2_handle_cancelled_cmd()
    b396ec7241ed cifs: set correct max-buffer-size for smb2_ioctl_init()
    d65b067c2546 CIFS: Fix task struct use-after-free on reconnect
    4f753389bcdc crypto: chelsio - fix writing tfm flags to wrong place
    9ba7636fdb42 driver core: Fix test_async_driver_probe if NUMA is disabled
    3811bd2b93af iio: st_gyro: Correct data for LSM9DS0 gyro
    a6d19450c314 iio: adc: stm32-dfsdm: fix single conversion
    29795e4f6a36 mei: me: add comet point (lake) H device ids
    9272a0797833 mei: hdcp: bind only with i915 on the same PCH
    7d46883724e0 binder: fix log spam for existing debugfs file creation.
    3e832cf807e8 component: do not dereference opaque pointer in debugfs
    6826af9a5c3f debugfs: Return -EPERM when locked down
    3b16600e1fd4 serial: imx: fix a race condition in receive path
    f54b5d4a1abc serial: 8250_bcm2835aux: Fix line mismatch on driver unbind
    0710da067387 staging: vt6656: Fix false Tx excessive retries reporting.
    a56c0f7d5f15 staging: vt6656: use NULLFUCTION stack on mac80211
    1a80cc38db42 staging: vt6656: correct packet types for CTS protect, mode.
    3a5bff77f48c staging: wlan-ng: ensure error return is actually returned
    b5e5d81230ec staging: most: net: fix buffer overflow
    9ba5957e034d usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW
    9bfa308e95b1 usb: typec: wcove: fix "op-sink-microwatt" default that was in mW
    445839bc7fa3 usb: dwc3: turn off VBUS when leaving host mode
    1fe175772b99 USB: serial: ir-usb: fix IrLAP framing
    c9b7dcee64c1 USB: serial: ir-usb: fix link-speed handling
    85eec8cf9d22 USB: serial: ir-usb: add missing endpoint sanity check
    380a352cd3e9 usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186
    f841bbcf8130 usb: dwc3: pci: add ID for the Intel Comet Lake -V variant
    566264c8b6e3 rsi_91x_usb: fix interface sanity check
    c48a89147160 orinoco_usb: fix interface sanity check
    619c458f8f39 Bluetooth: btusb: fix non-atomic allocation in completion handler
    60b6aa2b71ef Linux 5.4.16
    d8a11e0f4e26 net/x25: fix nonblocking connect
    ce75dd3abbc8 netfilter: nf_tables: autoload modules from the abort path
    07ac418120ae netfilter: nf_tables: add __nft_chain_type_get()
    ea52197c9c4b netfilter: ipset: use bitmap infrastructure completely
    d5fd8ac3fcc5 media: v4l2-ioctl.c: zero reserved fields for S/TRY_FMT
    40b1747b0368 libertas: Fix two buffer overflows at parsing bss descriptor
    74389183b671 net/sonic: Prevent tx watchdog timeout
    58c0c4b122b1 net/sonic: Fix CAM initialization
    079e7e775895 net/sonic: Fix command register usage
    4d391c40c295 net/sonic: Quiesce SONIC before re-initializing descriptor memory
    9f638adb9f1a net/sonic: Fix receive buffer replenishment
    3a0c502d4535 net/sonic: Improve receive descriptor status flag check
    3a2137846347 net/sonic: Avoid needless receive descriptor EOL flag updates
    f6ecc13bea2b net/sonic: Fix receive buffer handling
    e7092fbffc34 net/sonic: Fix interface error stats collection
    c5a85f05e462 net/sonic: Use MMIO accessors
    c463d5a17032 net/sonic: Clear interrupt flags immediately
    091c1715f9dd net/sonic: Add mutual exclusion for accessing shared state
    ab94448beeab readdir: be more conservative with directory entry names
    454759886d0b do_last(): fetch directory ->i_mode and ->i_uid before it's too late
    5d001c4f74e0 net, sk_msg: Don't check if sock is locked when tearing down psock
    b2e061912c3e xfrm: support output_mark for offload ESP packets
    4e1572b19c64 drm/i915/userptr: fix size calculation
    503b54ab9666 iwlwifi: mvm: fix potential SKB leak on TXQ TX
    1e3c082df320 iwlwifi: mvm: fix SKB leak on invalid queue
    68ee631ba110 tracing: xen: Ordered comparison of function pointers
    3c6a183d3108 scsi: RDMA/isert: Fix a recently introduced regression related to logout
    bbf0d37947f7 hwmon: (nct7802) Fix non-working alarm on voltages
    515b97c73447 hwmon: (nct7802) Fix voltage limits to wrong registers
    54b818246b03 hsr: Fix a compilation error
    5440678b5acb leds: gpio: Fix uninitialized gpio label for fwnode based probe
    376b860334d2 readdir: make user_access_begin() use the real access range
    16aab32ff8b3 iommu/amd: Fix IOMMU perf counter clobbering during init
    9f6216862a20 lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()
    9e2e1a5abccd netfilter: nft_osf: add missing check for DREG attribute
    373ffce2337b Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register
    21aa01da9dba Input: pegasus_notetaker - fix endpoint sanity check
    c65dfef27803 Input: aiptek - fix endpoint sanity check
    56ded4adf16e Input: gtco - fix endpoint sanity check
    3e629da150b5 Input: sur40 - fix interface sanity checks
    68c2bc4da098 Input: pm8xxx-vib - fix handling of separate enable register
    c3f6abfe2f11 net/tls: fix async operation
    c9cb4f2bea44 mlxsw: switchx2: Do not modify cloned SKBs during xmit
    77d323cc3783 mmc: sdhci_am654: Reset Command and Data line after tuning
    d5bb81660456 mmc: sdhci_am654: Remove Inverted Write Protect flag
    d8bc6ac2db28 mmc: sdhci: fix minimum clock rate for v3 controller
    723f200e19bd mmc: tegra: fix SDR50 tuning override
    bccb1568bae8 ARM: 8950/1: ftrace/recordmcount: filter relocation types
    ff847d466bdb Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers"
    cec754961758 Input: keyspan-remote - fix control-message timeouts
    5d1973adcfff iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer
    d4616a9f8ee9 pinctrl: sunrisepoint: Add missing Interrupt Status register offset
    dd05cf12c72f XArray: Fix xas_find returning too many entries
    db38561288b7 XArray: Fix xa_find_after with multi-index entries
    a5135ca1f92a XArray: Fix infinite loop with entry at ULONG_MAX
    b8560e3d90af iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues
    4e7d8cd6a1a8 Revert "iwlwifi: mvm: fix scan config command size"
    7cf7a7d02587 powerpc/xive: Discard ESB load value when interrupt is invalid
    6145307fa693 powerpc/mm/hash: Fix sharing context ids between kernel & userspace
    bf470f051556 tracing: Fix histogram code when expression has same var as value
    07af0d03e8b2 tracing: Do not set trace clock if tracefs lockdown is in effect
    67551f958458 tracing/uprobe: Fix double perf_event linking on multiprobe uprobe
    44eebad10496 tracing: trigger: Replace unneeded RCU-list traversals
    b1302cbe530b PM: hibernate: fix crashes with init_on_free=1
    d63b777d8145 drm/i915: Align engine->uabi_class/instance with i915_drm.h
    3e041c27b990 drm/panfrost: Add the panfrost_gem_mapping concept
    8c40a8d7d384 PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken
    fdd0f3b0e98b ceph: hold extra reference to r_parent over life of request
    19d0cd212742 hwmon: (core) Do not use device managed functions for memory allocations
    0387ee1b95d1 hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
    2d00fec60c8d afs: Fix characters allowed into cell names
    b29d143a690a Revert "io_uring: only allow submit from owning task"
    29ce06b6b6d4 ipv4: Detect rollover in specific fib table dump
    9bd7ae7eab7c net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path
    43eda24c6f75 net/mlx5e: kTLS, Remove redundant posts in TX resync flow
    384faad2ad5a net/mlx5e: kTLS, Fix corner-case checks in TX resync flow
    7ae31c620dcc net/mlx5: DR, use non preemptible call to get the current cpu number
    8a3b1a86d4f3 net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep
    b20f5fb7d473 net/mlx5: DR, Enable counter on non-fwd-dest objects
    ffc574c95e5b net/mlx5: Update the list of the PCI supported devices
    36940c4daad0 net/mlx5: Fix lowest FDB pool size
    d18d22ce8f62 net: Fix packet reordering caused by GRO and listified RX cooperation
    8bc302520616 fou: Fix IPv6 netlink policy
    e7b6ef675c46 mlxsw: spectrum_acl: Fix use-after-free during reload
    ef3c0a1660a7 airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE
    9975b19b8d82 airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE
    a802ddbf41a3 tun: add mutex_unlock() call and napi.skb clearing in tun_get_user()
    69486bfa064e tcp: do not leave dangling pointers in tp->highest_sack
    562a7c35049c tcp_bbr: improve arithmetic division in bbr_update_bw()
    41c230ae2aa4 Revert "udp: do rmem bulk free even if the rx sk queue is empty"
    63635790a891 net: usb: lan78xx: Add .ndo_features_check
    d6f7ed61fa6e net-sysfs: Fix reference count leak
    9b60a32108e2 net_sched: use validated TCA_KIND attribute in tc_new_tfilter()
    b6a9a954b3fe net_sched: fix datalen for ematch
    888934af187c net: rtnetlink: validate IFLA_MTU attribute in rtnl_create_link()
    500869d71822 net, ip_tunnel: fix namespaces move
    ead0377f601e net, ip6_tunnel: fix namespaces move
    7943bb0f0636 net: ip6_gre: fix moving ip6gre between namespaces
    c6e524f4fad3 net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
    32df8d0bf461 net: bcmgenet: Use netif_tx_napi_add() for TX NAPI
    e2bd33937c50 ipv6: sr: remove SKB_GSO_IPXIP6 on End.D* actions
    6cbb9683d743 gtp: make sure only SOCK_DGRAM UDP sockets are accepted
    80a4c81c6791 firestream: fix memory leaks
    34545cad8e04 can, slip: Protect tty->disc_data in write_wakeup and close with RCU

(From OE-Core rev: ca323f7ba9c20339bf348b073a00a0893f78a6f6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Daisuke Yamane
2070441607 bitbake: lib/bb/utils.py: Preserve ownership of symlink
Yocto Bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13806

Uncomment lchown() to preserve ownership of symlink.

(Bitbake rev: 6a0b6dd17c6d842960d448114b252e92c55dea33)

Signed-off-by: Daisuke Yamane <daisuke.yamane@cybertrust.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22 23:57:26 +00:00
Alexander Kanavin
8b7523f13e core-image-sato-sdk-ptest: do not pull in ptest-pkgs
The lists of ptests are defined via PTESTS_FAST and PTESTS_SLOW;
specifying 'ptests-pkgs' also pulls in additional ptests that
are specifically excluded from those lists due to causing issues with
ptesting. (particularly bash-ptest is one such item)

(From OE-Core rev: 1d8e5d1bc1aa8fdaf967395e27b13cc989717fb7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Khem Raj
74b981acba libsolv: Enable rpm packageconfig by default only if rpm O_P_M is enabled
opkg also depends on libsolv and can needlessly pull in rpm even if
the O_P_M does not desire to use rpm

(From OE-Core rev: 007d693a3c51026a9265f8e0bd09af086bcd8252)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Khem Raj
7648a69d29 ltp: Use upstreamed patch for time64 syscall fixes
(From OE-Core rev: 5df9d43a7173e396bb39ff21183b67ba52681993)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Tim Orling
ea48bdac1d liberror-perl: upgrade 0.17028 -> 0.17029
Upstream release notes:
"
0.17029         2020-01-28
    - Rebuild for order of 'NAME' and 'VERSION' sections in the generated
    POD documentation (see 0.001004 in
    https://metacpan.org/changes/distribution/Pod-Weaver-PluginBundle-SHLOMIF
    ).
        - VERSION used to appear before NAME.
"

(From OE-Core rev: f4a520cc827187d83f2997614d893bba7d74a152)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Khem Raj
57aac613a9 dnf, libdnf: Ignore if PACKAGE_CLASSES does not have rpm
dnf depends on libsolv, and libsolv does not have and easy way to
jusr enable rpmdb support, it either has full rpm or nothing, perhaps it
could be improved in libsolv and we can use that but from now we have
no other option

dnf support only rpm backend and wont work with opkg or dpkg/apt anyway

(From OE-Core rev: aa56c5dcdea152bee62bb480ccaae177f6c69b9b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Peter Kjellerstedt
b645630090 Revert "rootfs: Make BUILDNAME a weak default in reproducible_build_simple"
This reverts commit 8380df6566.

Giving BUILDNAME a static default in reproducible_build_simple.bbclass
to have /etc/version be generated with that name lead to other users
of BUILDNAME no longer working as expected. E.g., buildstats.bcclass
would now write its information in a single directory, overwriting the
statistics for each build.

(From OE-Core rev: dcd1fbe153369634c73370cbe22e1dbdac080146)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Sakib Sajal
68df350abf libical: fix host contamination in -dev pkg
[YOCTO #13512]

(From OE-Core rev: 9b3aaa03ace3975b2d6fb9a707b4b791d4f0f916)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Wang Mingyu
4e51659ff4 shadow: upgrade 4.8 -> 4.8.1
0001-Do-not-check-for-validity-of-shell-executable.patch
CVE-2019-19882.patch
Removed since they are included in 4.8.1.

(From OE-Core rev: de9cceb13e264434eb0b8393c3b0c0217b8d505e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Wang Mingyu
af2215bffc nss: upgrade 3.49.1 -> 3.50
refresh the following patch:
0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch

(From OE-Core rev: 534e82abbb33e7c02c183ab0290572b2dc599447)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Wang Mingyu
d019c28fc1 nspr: upgrade 4.24 -> 4.25
(From OE-Core rev: a8fb5a2e21b9d6eea2d83c34ffdfb991d4e6ce8e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Alexander Kanavin
80c58fdbea p11-kit: upgrade 0.23.18.1 -> 0.23.20
(From OE-Core rev: acc7e393e8e6f0a3d6fda6a34a3d5b04784cbe34)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Anuj Mittal
7cf4ea2d60 gstreamer1.0-plugins-good: add qt5 PACKAGECONFIG
Instead of disabling unconditionally, add PACKAGECONFIG for
qt5. Imported from meta-qt5 layer.

(From OE-Core rev: 62ec484190f51b265606ab1937a5245ddb68eee6)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Anuj Mittal
6910c5b4b4 gstreamer1.0-plugins-good: change EXTRA_OECONF -> EXTRA_OEMESON
Use the correct variable so options actually get used and
use the correct qt option name to prevent errors.

(From OE-Core rev: fbaf9afcbeb031860c249d73650649f8d032310d)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Anuj Mittal
f15f142ca6 stress-ng: upgrade 0.10.16 -> 0.11.00
(From OE-Core rev: dff485f83d1eb786fd99d68fcb532593b4dba784)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
749a7af8a3 screen: upgrade 4.7.0 -> 4.8.0
License-Update: Change http to https in license text.

(From OE-Core rev: e41fa0e4874ff112e1e557491c1d831d1b44146c)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
1c35f6a640 gstreamer1.0-vaapi: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 8cab6fd5259a00635ebf8b26aa7f2240ac340bfa)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
329017bf62 gstreamer1.0-rtsp-server: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: b5d665c7f21429c95d980c820f719b4da1573c0a)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
8f9b6ca285 gstreamer1.0-python: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: f48b8d6f3e83ceec5600b8793e37639f45ce71e8)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
765d743037 gstreamer1.0-omx: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 72c18fdece8c62d6b6dace79fe3b147030b37bdb)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
c018fbb03c gstreamer1.0-libav: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 189d6c52fac42a6b5f8c5491a99ec332e98cc852)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
5f22e50f22 gstreamer1.0-plugins-ugly: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: b5d27ffc1faab9ae020c9fe3bc32138773671a8f)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
52e0a50798 gstreamer1.0-plugins-bad: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 14caa7dc99386c543d0793aabf95b9d28d046295)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
27545fb68f gstreamer1.0-plugins-good: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: bbbc5176ad40fb4202966b4ea788f0ee503cf374)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
8768e8c899 gstreamer1.0-plugins-base: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: e852a4bcb7efd5452af5347cbd12b850e993559f)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
1b40d5f318 gstreamer1.0: upgrade 1.16.1 -> 1.16.2
(From OE-Core rev: 174b897425f2d65129800b7d32c41103ec3a3f26)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Anuj Mittal
a2a0390421 bluez5: upgrade 5.52 -> 5.53
(From OE-Core rev: 1df5ece4ef6ef49bfeba83a2716ae4e2ce58d20e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Andreas Müller
d4eefbabb3 webkitgtk: enable gobject-introspection for armv7ve - it builds without issues
Maybe armv7a can be re-enabled either but due to limited resources there is no
chance for me to test.

(From OE-Core rev: 8fe34dd8ee8e213ad954a8534bdfb737676d7c9a)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Andreas Müller
580baf1fe0 webkitgtk: fix reconfigure
| ln: failed to create symbolic link '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-gnueabi/webkitgtk/2.26.4-r0/recipe-sysroot-native/usr/bin/python': File exists

(From OE-Core rev: 0d153e16ade03348f066e1cef916f28ce63b074c)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:08 +00:00
Joshua Watt
adf9825d1c wayland: Fix strndup detection on MinGW
Applies a patch to fix strndup being detected as present incorrectly
when building for MinGW.

(From OE-Core rev: ffa91ff19f73c3ed4060a6ecd3b6da7f46732cb3)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:01 +00:00
Alexander Kanavin
8ee7ad352e wayland: convert to meson build
Replace an autotools-specific .pc adjustment patch with a meson-specific one.

(From OE-Core rev: 88494d118b8ae85b3946df716cfa242a1858f270)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:01 +00:00
Richard Purdie
325bc7438e oeqa/logparser: Fix performance issues with ptest log parsing
On the autobuilder a ptest log with 2.1 million lines took around 18 hours to
process. This is clearly crazy.

We can tweak the processing code to:
a) Stop repeatedly joining large strings together (append to a list instead)
b) Use one startswith expression instead of multiple re.search() operations

With this change it takes 18 hours down to around 12s.

[YOCTO #13696]

(From OE-Core rev: 01c9f40b979e36a53e789a6bedd89b6d9557dce3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Anders Wallin
e663d09315 babeltrace: added ptest
(From OE-Core rev: b266a1ac662405e5bab98657c30b1a13cd86d046)

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Liwei Song
791e0f5d1c util-linux: fix hwclock settimeofday error
The change of settimeofday() systemcall since Glibc 2.31
will cause "hwclock -s" doesn't work with error:
"hwclock: settimeofday() failed: Invalid argument"
Backport a upstream patch to fix this issue.

(From OE-Core rev: b80bf70748609b92ce766d11380353fdfbb1d916)

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Wang Mingyu
028d5c616d nfs-utils: upgrade 2.4.2 -> 2.4.3
0001-Don-t-build-tools-with-CC_FOR_BUILD.patch
Removed since it is included in 2.4.3.

refresh the following patch:
0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch

(From OE-Core rev: fcaca33d458449379eeb2f99b613f8be1e6a44ce)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Wang Mingyu
523b2bbb08 mesa: upgrade 19.3.3 -> 19.3.4
(From OE-Core rev: 058e72b96c451f0a6f7773afa76db17f39bca77e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Wang Mingyu
41c061df0f man-pages: upgrade 5.04 -> 5.05
(From OE-Core rev: 5de2a4f729860a1ae462b64e5cc17e938518c061)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Wang Mingyu
48a50294b0 libxkbcommon: upgrade 0.9.1 -> 0.10.0
(From OE-Core rev: 989f3f99f0ec385b0fc1c7d83f03800fd9327c94)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Richard Purdie
1f5736dbfb scripts/combo-layer: Fix deprecation warning
Resolve:
combo-layer:83: DeprecationWarning: This method will be removed in future versions.  Use 'parser.read_file()' instead.

(From OE-Core rev: 7b43e04424985cf71b9263969830c9e4e9d72e01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Pierre-Jean Texier
ba6501359b libubootenv: bump to revision ba952d0
This includes following changes:

ba952d0 BUG: variable lists not released in close()
690f868 Variables are not removed when loading from file
9e3586a Make sure there's no file descriptor leakage in case of error
03647c4 Check config file defines a non-zero Sector size
3b2d4f1 Check environment size from fw_env.config

(From OE-Core rev: 174cd0d15fb8879a28b9a069a2e504617c0be1a7)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Acked-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Scott Branden
66830fa182 iproute2: add devlink support to iproute2
Add devlink support to iproute2 recipe.

(From OE-Core rev: 00cc9773505b2afd002f9b2d72330e517af97d0c)

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
e89660d7d0 virglrenderer: upgrade 0.8.1 -> 0.8.2
(From OE-Core rev: c524e9372939c0915f150079e786bbfe613f58a1)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
52071a2c61 vala: upgrade 0.46.5 -> 0.46.6
(From OE-Core rev: b8773177938bd94fc67ab65a586881df965d0d8a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
97a6f7ad7c meson: upgrade 0.53.0 -> 0.53.1
(From OE-Core rev: c94ae81f9ebf9d4d3546a86e097cdba51b3468b0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
084f767a3d libsecret: upgrade 0.20.0 -> 0.20.1
(From OE-Core rev: 66885ec7ac3a1ed978f64b148e209ea132aca6b2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
c2f78f06db epiphany: upgrade 3.34.3.1 -> 3.34.4
(From OE-Core rev: 2c492e3310ffe8078e63ae37cc94bb5e193ffc74)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
04ce08ad59 createrepo-c: upgrade 0.15.5 -> 0.15.7
(From OE-Core rev: 7fc4dc3452b884f9e342372e019ad58462c1d9da)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
fca233e5d4 qemumips: use std vga instead of cirrus vga
This is what the upstream recommends nowadays:
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/

I have verified that both X and weston continue to boot and look
right; however xorg.conf file needs to be removed as it is cirrus
specific and doesn't work and isn't needed with std vga.

(From OE-Core rev: 96e6434239268fd0fc021bda9c8fedd998597097)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
2493f505e5 weston-init: use the drm/kms backend rather than fbdev one for qemux86 machines
The fbdev backend is not documented, and not the default;
as the emulated hardware in qemu now supports DRM/KMS
(both std and virtio), we should align with upstream default
and vast majority of users. Empty init file will cause
weston to default to the KMS backend.

Note that 3D acceleration via virgl is not required; the backend
renders fine via the software driver in mesa. However, kvm
is more or less required to keep the UI responsive.

Also, other qemu targets (mips and arm in particular) continue
to use the fbdev backend, as in the absence of kvm, the performance
of software GL paths falls to unacceptable level.

(From OE-Core rev: 1bddd7ac64bc0a863dec38bf4d9671f9f1a51b03)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
4ea73885c2 webkitgtk: unbreak wayland build
webkit nowadays requires a couple of supplementary libraries for this,
so bring them in (courtesy of meta-webkit[1], which will hopefully
adjust without a lot of trouble).

[1] https://github.com/Igalia/meta-webkit/

[RP: Add missing maintainers entries]
(From OE-Core rev: 85431fe5c16ce1aa0916e57e820ff69c5aa0612a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Alexander Kanavin
16849053c8 webkitgtk: x11 and wayland are not mutually exclusive
Also enabling wayland if x11 is not enabled is not necessarily
the correct decision.

(From OE-Core rev: 9d447fc61dca53bf41b31acb6e4083a10935ca8c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Richard Purdie
bf745476ea oeqa/selftest: Drop 'backup' code and SIGTERM handler
Now selftest is using its own copied build directory, we can stop worrying about
copying files around as backup, and drop the SIGTERM handler to try and restore
them, simplifying the code.

(From OE-Core rev: b8ea8a910267fee4bb9e57f24ba829064e22d016)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Richard Purdie
c569157d9d oeqa/selftest: Standardise seperate builddir for concurrent and non-concurrent selftest
Currently oe-selftest reuses the current build directory and the concurrent
version run with -j does not.

Standardise and use a separate new build directory in both cases. This will lead
to simpler code and more reliable user run tests.

(From OE-Core rev: 50238b0717b04e0a1fa69d618e8c8aa8445a80b0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Richard Purdie
dba8c1d5ef selftest/context: Avoid tracebacks from tests using multiprocessing
We can see tracebacks where the SIGTERM handler catches things
it shouldn't. Avoid exit(1) unless we're the process that
it was intended for.

[YOCTO #13664]

(From OE-Core rev: d9c62ffac611310efd47ed6397d31dccb72fe868)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Richard Purdie
fe4f4ac4da lttng-tools: upgrade 2.11.0 -> 2.11.2
(From OE-Core rev: 712a634c61ebc7ebda2669daf21460394f6ac2cd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 09:39:00 +00:00
Trevor Gamblin
0f54a2fd69 oescripts.py: use unittest.SkipUnless for class skip
Yocto Bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13663

Prior to this fix, the try/except block in OEScriptTests' setUpClass
did both the import and the raise unittest.SkipTest for the
subsequent OEPybootchartguyTests. The consequence of the this meant
that, when cairo was not available on the test host, the raise was
counted only once as a class setup issue, instead of once for each
of the tests to be run, resulting in incorrect skip counts in the
test results.

Instead of raising unittest.SkipTest in setUpClass, the more
proper method is to use the unittest.skipUnless method along with
importlib.util.find_spec to check for the presence of the
python3-cairo module. This allows the entire class to be skipped
if cairo is not present, while also correctly passing along the
skip state for each of the class's tests, and avoiding the UNKNOWN
results to appear in cases where the -j option was provided to
oe-selftest, but the tests were still skipped.

(From OE-Core rev: 10c2216cb6fb61c74babd8bd17cb3481754b7475)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-20 13:00:28 +00:00
Richard Purdie
9b312bca47 bitbake: fetch2/svn: Avoid UnboundLocalError exception
The update codepath would trigger:
Exception: UnboundLocalError: local variable 'svnfetchcmd' referenced before assignment

Fix this so the code functions as intended in both fetch and update cases.

[YOCTO #13798]

(Bitbake rev: 16c4e930ff37ea6eac2ac0cb2197908ce3a1cc53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-20 11:56:37 +00:00
Richard Purdie
8c9b223b1c distro_alias: Fix typos
[YOCTO #13433]

(From OE-Core rev: 63153aa6887e56329a5dc6d372d51de197c346e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 22:08:42 +00:00
Richard Purdie
29d57a9e27 gstreamer: Fix reproducibility issue around libcap
Add an option to avoid builds depending on the presence of setcap
from the host system.

[YOCTO #13786]

(From OE-Core rev: 182910321971cb87e54c2a92cb8ea6c531a743ee)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 21:28:06 +00:00
Richard Purdie
97942b789a perl: Fix makefile race causing configuration differences
Add a missing makefile dependency which can cause differences in
configuration (submitted upstream).

[YOCTO #13800]

(From OE-Core rev: fe97845a45434902c5a994e253a127a462d7d3b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 21:28:06 +00:00
Joshua Watt
95d695b237 oeqa: reproducible: Include jquery in results
Includes jquery in the output directory to make the diffoscope output
easier to navigate

(From OE-Core rev: ff7c386455848e497ef40f9fee2be87d5171e203)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 21:28:06 +00:00
Joshua Watt
955996645e jquery: Add recipe
Adds a recipe that packages jQuery in a manner borrowed from debian. The
primary purpose is to make the diffoscope output from the autobuilder
easier to navigate.

(From OE-Core rev: 9fdfff92e5f6b56657802c06c698ef37a95fd449)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 21:28:06 +00:00
Richard Purdie
5a6e3b7fc4 poky: Fix previous commit with lost quote
(From meta-yocto rev: 471eb39af1b171f3a47a1207680ad00ff057a347)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 15:25:58 +00:00
Mark Asselstine
d578418f60 meta-poky: update to new mailing lists
There is still some confustion around the mail list updates, as we
have seen on the lists recently:
https://lists.yoctoproject.org/g/yocto/message/48439

(From meta-yocto rev: c62fa2a498625e1765c4572618f74a03e1895a23)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 14:42:59 +00:00
Jan-Simon Moeller
273f78efb5 bitbake: layerindex: allow clones to be shallow
When bitbake-layers fetch-layerindex clones the repositories, these are
full clones. Allow the user to specify '-s' and do shallow clones
instead for faster downloads.

(Bitbake rev: a0c8b27675a590d9deeb3cbc462c0eb0e113cf3b)

Signed-off-by: Jan-Simon Moeller <dl9pf@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Jens Rehsack
5e90105d90 bitbake: fetch2: svn: care for path_spec
Documentation says:
    "path_spec": A specific directory in which to checkout the specified
    svn module.
but existing svn fetcher uses "module" always as path of checked out
svn-module, regardless whether path_spec was given or not.

(Bitbake rev: 75223644ab9bc94fc268f1bab775e66c4188f279)

Signed-off-by: Jens Rehsack <sno@NetBSD.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Robert Yang
50524c152c bitbake: event: Remove duplicated items from close matches
It printed duplicated ones when there are multiple similar recipes in
differrent layers, for example, if python-lockfile in different layers,
and there is no python3-lockfile:

$ bitbake python3-lockfile
ERROR: Nothing PROVIDES 'python3-lockfile'. Close matches:
python-lockfile
python-lockfile
python3-aiofiles

Remove the duplicated ones to fix the problem.

(Bitbake rev: 5612192cec9f467e2ab5a86482cb34876d198bc6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Richard Purdie
17c60cc27b bitbake: cooker: Reset loghandler
When parsing, reset the loghandler when finished, else the messages
can be misleading.

(Bitbake rev: 7af80cd1dd577b05d39a3cc5d5c547a2549e39df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Kyle Russell
06b2c82a43 bitbake: data: Don't allow renameVar calls with equivalent keys
While usually a programming error, the behavior can cause a Parser
instance to eventually gobble up a significant amount of memory,
greatly affecting system performance.  Try to avoid getting into
that situation and alert the user about what they attempted to do.

(Bitbake rev: 01bf0912eef5700d61c6e3c9138cb4b6825ee782)

Signed-off-by: Kyle Russell <bkylerussell@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Peter Kjellerstedt
14ba850aa9 bitbake: fetch2: Allow ${AUTOREV} to be used when BB_SRCREV_POLICY is "cache"
Mark any keys used to cache the srcrevs for a recipe as "dontcache" if
BB_DONT_CACHE is set for the recipe. Remove any such keys upon the
next bitbake run even if BB_SRCREV_POLICY is set to "cache". This will
make sure the srcrev is updated as expected if ${AUTOREV} is used.

(Bitbake rev: ba093a38539960e645e994a66ed7872a604c00a9)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Peter Kjellerstedt
96074fa9bd bitbake: fetch2: Make fetcher_compare_revisions() work
This seems to have been broken for a very long time. Now it also works
regardless of BB_SRCREV_POLICY.

(Bitbake rev: ffd663a8e07e2e39e8ca2d2493f4f98037c5f9e4)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Peter Kjellerstedt
f8d1ac6653 bitbake: knotty: Make the bb.command.CommandExit event terminate bitbake
This matches the other bb.command.Command* events and without it,
running `bitbake --revisions-changed` will hang indefinitely if there
are changed revisions.

(Bitbake rev: 40520d229c8ea51ee9784184ab5d13a82dd1eb61)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:26:12 +00:00
Mingde (Matthew) Zeng
d2a47421f6 glib-2.0: add dependencies to fix ptest failures
There are a number of ptest failures due to executables not found in
the image. Since these executables are in FILES_${PN}-dev, depending
all of -dev which is an overkill. We take them out of -dev and put in
-utils, then depend on the latter instead.

When starting a glib ptest but decided to Ctrl-c interrupt midway,
./run-ptest cannot be restarted unless running `userdel glib2-test`
manually. Therefore adding a check prior to ptest will ensure the
ptest can be restarted.

(From OE-Core rev: b649cf5c09a45df2df9a8f8f0920c6dfb07b8d76)

Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:24:15 +00:00
Lori Hikichi
be53b56b0c rpm2cpio.sh: fix to handle newline character
This script is attempting to read binary data from an rpm file.
If any of the bytes it is attempt to read is the binary value 0xa
(i.e. a newline) then the script does not properly deal with this
special case. Due to the behavior of command substitution, instead of
fetching the value 0xa, the script makes an error and get the value 0
instead.

The fix and the following explantion was taken from this post...

https://unix.stackexchange.com/questions/10801/
how-to-use-bash-script-to-read-binary-file-content

Command substitution $(…) strips final newlines in the command output.
There's a fairly easy workaround.  Make sure the output ends in a
character other than a newline, then strip that one character.

(From OE-Core rev: a40a93e81766513cf710e713093ab74c6ec936c3)

Signed-off-by: Lori Hikichi <lori.hikichi@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:24:15 +00:00
Mark Hatle
f84aa7c191 newlib: Move syscalls from newlib to libgloss
By passing --disabled-newlib-supplied-syscalls, newlib will disable the
generation of builtin syscalls and move this to libgloss.  (This also
affects the generation of crt0.o.)

libgloss SHOULD then provide the syscalls, crt0.o and other functions that
are no longer part of newlib itself.  This now means that you must link
with both newlib and libgloss, whereas before newlib would run in many
configurations by itself.

(From OE-Core rev: f495e1f771b60d2db11ffa351adf56ba664fe7e1)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-19 11:24:15 +00:00
Richard Purdie
cf8169a5f7 perl: Fix encode module reproducibility issues
The code is encoding host compiler parameters into target builds. Avoid
this for our target builds. This should resolve builds which aren't
reproducible between hosts with different compilers.

(From OE-Core rev: 71cdbf426e46e3ca1b5038f40e9f7ba958abc537)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:55 +00:00
Kai Kang
d40869bbfd glibc-package.inc: fix multilib headers conflict
Pass bits/endianness.h and bits/struct_rwlock.h to oe_multilib_header in
glibc-package.inc to fix files conflict:

| Error: Transaction check error:
|   file /usr/include/bits/endianness.h conflicts between attempted installs of lib32-libc6-dev-2.31-r0.armv7vet2hf_vfp and libc6-dev-2.31-r0.aarch64
|   file /usr/include/bits/struct_rwlock.h conflicts between attempted installs of lib32-libc6-dev-2.31-r0.armv7vet2hf_vfp and libc6-dev-2.31-r0.aarch64

(From OE-Core rev: 0af9ff84348197b8b314f7c0d3757cab629daa94)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:55 +00:00
Trevor Gamblin
450688b010 concurrencytest.py: add outSideTestaddSkip for subunit
see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13663

When running oe-selftest in concurrency mode (e.g. with oe-selftest
--run-tests oescripts.OEPybootchartguyTests -j 4), if a skip occurred
during setUpClass() rather than within individual tests, the entire
suite would show "UNKNOWN" as each test's result. This is because
subunit doesn't know how to handle skips outside of individual tests.
An example of where this occurs is when running the above call to
oe-selftest in concurrency mode on a host machine that does not have
python3-cairo installed.

Patch subunit inside concurrencytest.py to provide a method called
outSideTestaddSkip, which will allow subunit to correctly detect the
skip in setUpClass().

(From OE-Core rev: 9b8734b584d6e8d9c32ff2a721b29f3f3e61cca7)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:55 +00:00
Richard Purdie
816dc2b5ac p11-kit: Fix builds with systemd
In systemd enabled builds this was failing with unpackaged unit files.
Fix this.

(From OE-Core rev: 81010555a29fe4ddae9a9c3abe35fcbddd8887b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:55 +00:00
Richard Purdie
feaf175b6c webkitgtk: Fix errors when api-documentation is enabled
This recipe hasn't built correctly since we removed "python" from HOSTTOOLS
when api-documentation is enabled.

Add in an extra symlink to "python" rather than trying to fix the multiple
scripts in webkit to refer to python3.

The autobuilder didn't detect this as wekbkit was excluded from the API docs
world build but that is changed now so this fixes build failures.

(From OE-Core rev: c9e520e0996ab524e38de19a22b64395d14c635a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Anders Wallin
b3702d5aeb babeltrace: update to 1.5.8
updated HOMEPAGE to http://babeltrace.org/
updated LICENSE to include LGPLv2.1

(From OE-Core rev: 7c88483a32ded0f94165aced25ac604de43b8ef7)

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Khem Raj
f9e0c99568 insane.bbclass: Correct typo inhert->inherit
(From OE-Core rev: 8fdceff7a9581173726c2a2636a5815accca73e2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alex Kiernan
548cfcb548 systemd: upgrade v244.1 -> v244.3
Drop all systemd-boot patches and use an additional cross-file instead
to pick up EFI cc and objcopy. For EFI ld, we can use the command line
efi-ld option, but have to ensure it's something which can be exec'd
directly.

Commits from v244-stable:

  c4280c342bbf Revert "Support Plugable UD-PRO8 dock"
  bb598b56eb3c hibernate-resume-generator: wait "infinitely" for the resume device
  77c04ce5c270 hwdb: update to v245-rc1
  b4eb8848240c Fix typo in function name
  e2d4cb9843c5 polkit: when authorizing via PK let's re-resolve callback/userdata instead of caching it
  83bfc0d8dd02 sd-bus: introduce API for re-enqueuing incoming messages
  5926f9f1723f polkit: use structured initialization
  0697d0d972c8 polkit: on async pk requests, re-validate action/details
  2589995acdb2 polkit: reuse some common bus message appending code
  5b2442d5c3ec bus-polkit: rename return error parameter to ret_error
  0a19ff7004e4 shared: split out polkit stuff from bus-util.c → bus-polkit.c
  1325dfb5778d test: adapt to the new capsh format
  3538fafb4714 meson: update efi path detection to gnu-efi-3.0.11
  3034855a5b62 presets: "disable" all passive targets by default
  c2e304681929 shared/sysctl-util: normalize repeated slashes or dots to a single value
  6f4364046f90 dhcp6: do not use T1 and T2 longer than one provided by the lease
  0ed6cda28dff network: fix implicit type conversion warning by GCC-10
  f6a5c02d26b1 bootspec: parse random-seed-mode line in loader.conf
  ddc5dca8a73b sd-boot: fix typo
  2bbbe9ae41ab test: Synchronize journal before reading from it
  072485d661d7 sd-bus: fix introspection bug in signal parameter names
  80af3cf5e36b efi: fix build.
  d7ede1ade564 generator: order growfs for the root fs after systemd-remount-fs
  e9904998213d loginctl: use /org/freedesktop/login1/session/auto when "lock-session" is called without argument
  82dd4caf014c Documentation update for x-systemd.{before,after}
  a60459764d9d man: fix typo in systemd.netdev Xfrm example
  fc053e2dfb3f timesyncd: log louder when we refuse a server due to root distance
  af0e630693fa resolved: drop DNSSEC root key that is not valid anymore
  ae59f1666ca6 journal: don't use startswith() on something that is not a NUL-terminated string
  536ef6d72bc6 test: add test for https://github.com/systemd/systemd/issues/14560
  b78fe3c1b1a8 core: make sure StandardInput=file: doesn't get dup'ed to stdout/stderr by default
  a1561a08f2d5 pkgconf: add full generator paths
  e5f2d11489ec tree-wide: we forgot to destroy some bus errors
  ea67fd42067b mount: make checks on perpetual mount units more lax
  2f23c648bce4 core: never allow perpetual units to be masked
  9ba11dffb09a typo: "May modify to" -> "May modify"
  84c048799a78 Disable reading SystemdOptions EFI Var when in SecureBoot mode
  4c2d72b53091 sysctl: downgrade message when we have no permission
  c001a285a3a2 Clarify journald.conf MaxLevelStore documentation
  45d52c7615fd logind: refuse overriding idle hint on tty sessions
  b1a0be45b4ee cgroup: update only siblings that got realized once
  e6d694254fe1 mount: mark an existing "mounting" unit from /proc/self/mountinfo as "just_mounted"
  d8fd38769c36 journalctl: Correctly handle combination of --reverse and --lines (fixes #1596)
  cd19bd31d808 journalctl: Correctly handle --show-cursor in combination with --until or --since and --reverse
  1320aa92dc0a core: fix re-realization of cgroup siblings
  14164ec6bc77 core: propagate service state to socket in more load states
  c22bf6b31a45 man: describe "symlink" and "systemctl link" explicitly in UNIT FILE LOAD PATH
  26f3a534f1ab core: be more restrictive on the dependency types we allow to be created transiently
  377cc5d91ea5 udev: don't import parent ID_FS_ data on partitions
  7d5060d53994 man: fix option name
  98c03090274a Support Plugable UD-PRO8 dock
  e9687d09dccf gpt-auto: don't assume XBOOTLDR is vfat
  7057fe863007 man: fix documentation of IBM VIO device naming
  f8d1df1045be man: slightly extend documentation on difference between ID_NET_NAME_ONBOARD and ID_NET_LABEL_ONBOARD
  1faf5dde4d4a boot: fix osrel parser
  65d247af1786 udev: do not use exact match of file permission
  6da978f89b48 network: lower the log-level of harmless message
  5d8a614f926c hwdb: ignore keys added in kernel 5.5
  8b1bd1746989 systemctl: skip non-existent units in the 'cat' verb
  b2f342f92b54 systemd.exec: document the file system for EnvironmentFile paths
  945f3a231f6f systemd-analyze: fixed typo in documentation
  2c8ae283b0ee test-condition: fix group check condition
  6b48479f4582 umount: show correct error message
  faba5b2ba8c9 Revert "Drop dbus activation stub service"
  3dd98f1998f9 man: add section about user manager units
  1c80a8ced006 man: add remote-*.targets to the bootup sequence
  9afd65f15e93 time-util: also use 32bit hack on EOVERFLOW
  561923291383 [man] note which UID ranges will get user journals
  588a23ef2684 [man] fix URL
  0130a03179f6 analyze: badness if neither of RootImage and RootDirectory exists
  93074c962e3a network: introduce AddPrefixRoute= and deprecate PrefixRoute=
  a8ad020ea0ba shared/dropin: fix assert for invalid drop-in
  946cdba156dd initrd: make udev cleanup service confict trigger and settle too
  c0a8a92e6027 man: we support growing xfs too these days
  608d88273494 time-util: deal with systems where userspace has 64bit time_t but kernel does not
  cfced59a4bd8 [import] fix stdin/stdout pipe behavior in import/export tar/raw
  73435b219553 systemctl: show what verbs support --dry-run in the help page
  dc56b94e1308 cryptsetup-generator: unconfuse writing of the device timeout
  0757ad565573 shared/install: log syntax error for invalid DefaultInstance=
  d2471109d999 shared/install: provide a nicer error message for invalid WantedBy=/Required= values

(From OE-Core rev: 59dbb6d8ed32227c26db1982099ea845d92fff81)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Robert P. J. Day
e1a2a5a206 fix various, innocuous typos
Corrections:

  - environment
  - accommodate
  - conversion
  - compatible

(From OE-Core rev: 9797d3b45b4e1b9d77f0f2ee299c17b48d8d3cf6)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
39970f583d python3: resolve ncurses host contamination
(From OE-Core rev: ee7be51444b609a5cc1fd223b9395e9642d3bfac)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
216c570979 ptest-packagelists: mention ifupdown ptest in a comment
(From OE-Core rev: 8de634b7b259ceb8d50765968a2faabcab5d12f6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
ae6ec0b809 weston: add a basic runtime test
The test is checking that weston is able to start.

(From OE-Core rev: 57700767f90eea8f2b78187c42581aca42d50bbf)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
ec7beb650f qemux86: drop resolution setting via uvesafb
I am not sure if this has ever worked, but uvesafb is a really
outdated (VBE from the 1990s), awkward (needs v86d) and limited
(no support for high resolutions) way to do it.

The specific reason 640x480-32 was introduced (ages ago) was
to force 32 bit mode with vmware driver, as 16bit had rendering issues.

The modern, supported option is video=... kernel parameter documented here:
https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID
https://github.com/torvalds/linux/blob/master/Documentation/fb/modedb.rst
which can be passed directly to runqemu and doesn't require special
kernel modules.

Sato under X will continue to use 640x480 as that is hardcoded into
xorg.conf under qemu.

(From OE-Core rev: 1cf26f69fd89b43be24cd1232c43e5050b9d718a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
e88fe83014 qemux86: do not add vga=0 to kernel parameters
This was added ages ago to enable GL passthrough with
vmware driver, and is no longer relevant, as std or virgl is used
instead nowadays.

Original commit:

commit 072545b111
Author: Richard Purdie <rpurdie@linux.intel.com>
Date:   Wed Jan 21 17:40:51 2009 +0000

    scripts/poky-qemu-internal: Add support for GL passthrough in qemux86 images

(From OE-Core rev: 857078ba8eda153f4a097683db551a7d310ecc01)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Alexander Kanavin
cb4e69e634 procps: upstream has switched to gitlab
(From OE-Core rev: 7c67cff7683aeb80a07f55589f6c2f2a3dd6b44b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Richard Purdie
925800570f bitbake: cooker/siggen: Empty siggen cache during parsing
When parsing recipes its apparent the memory usage of bitbake rises linearly
with number of recipes parsed. It shouldn't.

Using tracemalloc (thanks for the tip Joshua Lock) it was clear that the
dependency information left behind in siggen was the culprit. Add a new
method to allow us to drop this information. We don't need it after the recipe
has been parsed and hashes calculated (at runtime its different but only the
currently executing task would be in memory).

This should give signficant memory usage improvements for bitbake and that
in turn should help speed on more constrained systems, as well as when used in
multiconfig environments.

(Bitbake rev: 5d98d8e39bba42f458532b1eef3619f2321d8a2b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-17 23:11:38 +00:00
Robert P. J. Day
d276df78f2 bitbake: doc: correct typo of 'BitBack'
(Bitbake rev: 88b8b5f6f17c18f57f8f9f7863483792f29e22ef)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-17 12:03:57 +00:00
Alex Kiernan
83771beb99 openssh: Upgrade 8.1p1 -> 8.2p1
Drop backports from upstream:

  0001-Manually-applied-upstream-fix-for-openssh-test.patch
  0001-seccomp-Allow-clock_gettime64-in-sandbox.patch
  openssh-8.1p1-seccomp-nanosleep.patch

(From OE-Core rev: c9b5802bbe1de609450f509edf4721ab0a7a70aa)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Khem Raj
67aadc83dc webkitgtk: Upgrade to 2.26.4 minor release
(From OE-Core rev: eb36ff94af8f8425a09ae4db150146d4e9e75b6b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Wang Mingyu
1ffa051f88 icu: upgrade 64.2 -> 65.1
(From OE-Core rev: 7ed56327bd87b97bcf81a78e5dd738a0c038e578)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Kevin Hao
dd372f09fc wic: Honor APPEND
APPEND is used to add additional parameters to kernel by features, such
as read-only-rootfs. So we should honor this variable when we compose
the kernel parameter in wic. I know we also can resolve this kind of
issue by using the .wks.in template introduced by commit 42e870c5ed
("image_types.bbclass: support template .wks.in files for wic"), but the
APPEND is needed by all the wks, it would seems pretty ridiculous to me
to change all the .wks to .wks.in and then foist the APPEND into them.
So the APPEND is definitely deserved to export to the wic directly.

[Yocto #12809]

(From OE-Core rev: 18981b8a457104391dfd94938c247eac04e4ed50)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Kevin Hao
623326ac5a selftest: wic: Add APPEND to the optional variables list
The APPEND is an optional variable, so add it to the optional variables
list to make the wic selftest happy.

(From OE-Core rev: 7c8b3a1b920fd4cc1598357985eef0e5e0e0ac79)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Robert Yang
69552188ea gnupg: Read GNUPG_BINDIR from environment variables for nativesdk
There is already a relocate.patch for native which is used for reading
GNUPG_BINDIR from environment variables, now also enable it for nativesdk.
Otherwise, command like the following one doesn't work for nativesdk:

$ gpg-connect-agent --homedir ../keys/ reloadagent /bye
gpg-connect-agent: no running gpg-agent - starting '/opt/path/to/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/gpg-agent'
gpg-connect-agent: failed to start agent '/opt/path/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/gpg-agent': No such file or directory

(From OE-Core rev: c6b00b5594adec0a7d7a7f3617fb99b65ea8d9f1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Alejandro Enedino Hernandez Samaniego
fada4ed4c0 tclibc-newlib: Include qemu on the SDK
Since we now have an example recipe on meta-skeleton to
build baremetal applications using OpenEmbedded, a user
produced SDK should be able to run such application.

Include nativesdk-qemu on TOOLCHAIN_HOST_TASK so its
built inside the newlib based SDK.

(From OE-Core rev: 9521c66e0edb2b36c3d5c777ec7a7158b40452d4)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Alejandro Enedino Hernandez Samaniego
321089a728 tclibc-baremetal: Include qemu on the SDK
Since we now have an example recipe on meta-skeleton to
build baremetal applications using OpenEmbedded, a user
produced SDK should be able to run such application.

Include nativesdk-qemu on TOOLCHAIN_HOST_TASK so its
built inside the baremetal based SDK.

(From OE-Core rev: 2c6a249f3e1ad9c160f59d2d0b38749c85e7ff3a)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Khem Raj
4d6ace4011 image.bbclass, package-index.bb: Delete do_populate_lic task
These are meta packages

(From OE-Core rev: e6ea95ae85763670aef35f7cb025eea693138d07)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:14 +00:00
Jeremy A. Puhlman
be1e68dce0 tcf-agent: Mangle arch for armeb
(From OE-Core rev: 1a1d7e94b2e3aaaaf2683123c406651ef590df96)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
1598d27fcc x11perf: make x11perfcomp a mulitlib script
x11perfcomp encodes the library paths in the script.

(From OE-Core rev: 2c7d8251a56a73a94c1f868e33eeee197c5ffa57)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
4df2beeeb4 subversion: move pkgconfig files in to libdir
All of the .pc files contain the path to ${libdir} which fails
in a multilib rpm image.

(From OE-Core rev: c96c56476fe9025884c7ea96f15f41694a6908fe)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
425e235a73 libassuan: multilib header for assuan.h
assuan.h is generated and can differ between mutlilibs.

(From OE-Core rev: 21043a168a2c68dd9a2f2f14f404b6f66fc05cf7)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
518198451f libsndfile1: mutlilibize sndfile.h
sndfile.h can differ depending on the combined architectures.

(From OE-Core rev: 0373b0b40d004fb9900249bd1ba65dea54495960)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
58e513717f libxslt: multilib_header xsltconfig.h
xsltconfig.h is generated and can be different between multilibs

(From OE-Core rev: 966a8d95da1d1bbf59d2d4068c27821e8a54ee5f)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Jeremy A. Puhlman
1b048d29e6 bind: add mulitlib_header for platform.h
(From OE-Core rev: cfaaeedcb634b68d0b20a05130fd582df660fef6)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 22:42:13 +00:00
Richard Purdie
51e9c2fd73 resulttool/resultutils: Fix unicode error handling
This error handling didn't work as expected since upon failure it would
inject bytestreams back into the code leading to tracebacks.

Instead, ignore the decode errors. Fixes:

Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 78, in <module>
    sys.exit(main())
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 72, in main
    ret = args.func(args, logger)
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/lib/resulttool/store.py", line 70, in store
    resultutils.save_resultsdata(results, tempdir, ptestlogs=True)
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/lib/resulttool/resultutils.py", line 178, in save_resultsdata
    f.write(sectionlog)
TypeError: write() argument must be str, not bytes

(From OE-Core rev: 3aa0d0fd0bbf8c9c13719251a2fd1e85a22c7336)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 17:26:01 +00:00
Richard Purdie
7f2af8bd79 libxml2: Update patch upstream status
(From OE-Core rev: aca3900b9302e619fa6cd3b8a7b3fcae3b2ffe8d)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:34:38 +00:00
Jon Mason
eae875dae7 bitbake: bitbake: layerindex: use branch when specified
When currently specified, the branch is used to verify the versioning of
the meta layer, but the master branch is checked out.  This change
allows for the branch to be specified.  Now it is easy to specify all
of the meta layers being added are of the same version, without having
to do it in each individual git tree.  Also, it will error if there are
branches without a matching version.  Finally, this allows for meta
layer git trees without a master branch.

(Bitbake rev: 4ec49f42f327068890e7aad8553d7f282e2ffaa1)

Signed-off-by: Jon Mason <jdmason@kudzu.us>

Minor rework of the patch to use the layerBranch actual_branch since
the layerindex referenced branch may be different then the overall
release branch.

Also adjust the patch to use the default git checkout branch instead of
master if no branch was specified.  (Some repositories don't have a
master branch.)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:27:45 +00:00
Anuj Mittal
af0785bcbc linux-yocto: update genericx86 SRCREVs for v5.4
(From meta-yocto rev: 79aa685e65b8f0c521ed26406b1e2c245efac1e5)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:27:01 +00:00
Richard Purdie
f73bf58f05 populate_sdk_ext: We now require python3, not python
We no longer expect a "python" binary in PATH so update the eSDK's
expectations to match. This was the only failure on autobuilder test
systems with python missing.

(From OE-Core rev: 946ce21b10dcad506edcaadb4e4242c049e4c316)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Khem Raj
0a3f0af9e3 db: Fix timespec length assumptions
This should fix the vdso crashes seen with kernel 5.0+

python3[11312] general protection fault ip:b7e966b0 sp:bf8175cc error:0 in libc.so[b7e8b000+6b000]

(From OE-Core rev: a85afec1115f2a09cd750a4554f44fb8af96975c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Alistair Francis
6a7162e806 qemuriscv64: Set the Xvisor platform
Set the platform information required to build Xvisor.
https://git.yoctoproject.org/cgit/cgit.cgi/meta-virtualization/tree/recipes-extended/xvisor

(From OE-Core rev: bd229106ffdb97a2d7e570a3b69147786569a29b)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Wang Mingyu
fd405c7cdb python3-pycairo: upgrade 1.18.2 -> 1.19.0
-License-Update: "PDX-License-Identifier: LGPL-2.1-only OR MPL-1.1"
is added

(From OE-Core rev: 79c940c4df9891932367186c76652887f5aa881b)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Wang Mingyu
bd30c1cfa7 ell: upgrade 0.27 -> 0.28
(From OE-Core rev: 05e94ea4b05c65dfb57f0c3c61c1f8369e144932)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Khem Raj
cb1c0307a8 gdb: Upgrade to 9.1 release
Drop security patches which are now in 9.1 already
Forward port rest of patches to 9.1
Detailed changes [1]

[1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00008.html

(From OE-Core rev: 4c1c01e023b123c86a418fdeddb69be097deef86)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Khem Raj
b05234524a musl: Update to latest tip
Detailed changelog is here [1]

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

(From OE-Core rev: e8d52c24ee217d7ba69fe24fa7ef8b533a274c2d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Khem Raj
b629da1df8 busybox: Backport patches to support removal of __NR_clock_gettime
This helps compiling with musl on 32bit arches now that musl has
switched to 64bit time_t

(From OE-Core rev: 8c3a220a91f90202233765a3b4eb1697c8be18f7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Wang Mingyu
717ba0a256 ruby: upgrade 2.6.5 -> 2.7.0
0003-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch
Removed since it is included in 2.7.0.

refresh the following patch:
0002-Obey-LDFLAGS-for-the-link-of-libruby.patch

add the following patch to solve build error:
0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch
[error message]
ERROR: ruby-2.7.0-r0 do_package_qa: QA Issue:
/usr/lib/ruby/gems/2.7.0/gems/racc-1.4.16/bin/y2racc contained in
package ruby requires /usr/local/bin/ruby, but no providers found in
RDEPENDS_ruby? [file-rdeps]

format of file COPYING is updated.
LEGAL notice information is updated.

(From OE-Core rev: 3cdf5da514b424a6d78ba4e1412331b6cf2b3bff)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Wang Mingyu
f4b7788814 python3-pip: upgrade 19.3.1 -> 20.0.2
(From OE-Core rev: e521393136f94a7cafbee33f5992b31a6fef3b7e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Scott Branden via Openembedded-core
3981fb3fd4 ffmpeg: add PACKAGECONFIG support for x265
Add PACKAGECONFIG support for x265 in ffmpeg.

(From OE-Core rev: 826741986d5a67e5f1ddfa02c737cc0045da906e)

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Alistair Francis
24b24a5450 strace: Update to 5.5
Update strace to 5.5. This includes a small change in the license file
to change the date to 2020.

(From OE-Core rev: 3e1e8d24ce122ddb5897418d1bae123051e1f450)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Nathan Rossi
fab2591a3c glibc-testsuite: Exclude this recipe from world builds
This recipe is intended to be run manually or via oeqa.

[YOCTO #13737]

(From OE-Core rev: eadbe01bb8232de79e0827e6c6b3411f69ea7303)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Nathan Rossi
8660d9ad89 glibc-testsuite: Remove the do_install task
This task is not intended to be run as this recipe does not produce any
packages or install any sysroot content. Additionally running this task
behaves differently from a normal glibc build, and can result in issues.

[YOCTO #13737]

(From OE-Core rev: 2b51252cb8bd9badfa28794f9ef9431b48752e3d)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Khem Raj
d546748ed9 squashfs-tools: Enable on musl
Upstream has a patch [1] to fix musl builds, Prior to this it would not
build on musl due to missing GNU extentions for fnmatch

[1] 4280e74de1

(From OE-Core rev: 2de44715a15880bb4a9f78e7ff5814b75938b27c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Lee Chee Yang
c066af580b libxml2: Fix CVE-2019-20388
see:
https://gitlab.gnome.org/GNOME/libxml2/merge_requests/68

(From OE-Core rev: 12a5eb0ea6f530ad7be2e58d4091b4edadbf461b)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Lee Chee Yang
bb6ceda3bc bash: include patch 12-16
(From OE-Core rev: 10907c6ea3665e0cacb05e7120c8726ed5790a3c)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Richard Purdie
a819c88b87 staging: Handle races between binaries and their libs
There is a long standing issue where a binary could be installed into the
sysroot before its library dependencies. We've always argued nothing should
use the binary until it has been installed by a dependency but there are issues
around binaries which conflict with the host system, for example patch,
python3, gzip and more.

With the recent patch changes we've seen issues like:
ERROR: gdb-cross-canadian-powerpc-8.3.1-r0 do_patch: Command Error: 'quilt --quiltrc /home/pokybuild/yocto-worker/qemuppc/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/gdb-cross-canadian-powerpc/8.3.1-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
Applying patch 0009-Change-order-of-CFLAGS.patch
patch: /lib64/libattr.so.1: version `ATTR_1.3' not found (required by patch)
Patch 0009-Change-order-of-CFLAGS.patch does not apply (enforce with -f)

which is a symptom of this issue (libattr-native is a dependency of patch-native).

There are other ways to fix this such as disabling libattr in patch, installing
patch to a subdirectory and requiring PATH manipulation and so on.

We can simply fix the staging code to handle /bin/ after everything else so
do that and avoid all these other complications.

(From OE-Core rev: 29d17fe23265bf0c7defa14ffc0f677af15c6818)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15 10:26:42 +00:00
Kevin Hao
46e0391f61 meta-yocto-bsp: Bump to the v5.4 kernel for the non-x86 boards
Build and boot test for the beaglebone and edgerouter.

(From meta-yocto rev: db4247b8c95ec997fa90226a49df36d7366c469f)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:08:37 +00:00
Wang Mingyu
4ce80e94c8 librepo: upgrade 1.11.1 -> 1.11.2
(From OE-Core rev: 7331062f82d3fa9d9ac69efc2e3cb05a6f120239)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Wang Mingyu
d1213dc1b0 libcheck: upgrade 0.13.0 -> 0.14.0
(From OE-Core rev: 4b9387f15c59699b1cd56d64066be01d01f4f51b)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Wang Mingyu
94d37d9443 libxcrypt: upgrade 4.4.10 -> 4.4.12
(From OE-Core rev: b76b8fb11d4e9019072c89668acdecbeb1824699)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Wang Mingyu
69ef4106e3 libtasn1: upgrade 4.15.0 -> 4.16.0
(From OE-Core rev: 320b62f12334684f1261b06e3e7bc8106e3b9490)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Wang Mingyu
b84cfa6d77 sudo: upgrade 1.8.30 -> 1.8.31
-License-Update: Copyright year updated from 1998-2019 to 1998-2020.

(From OE-Core rev: 19711adc45cf57fc007a7d1e052726fd45157f98)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Alistair Francis
1e97c962f2 qemu: Upgrade to 4.2.0
While we are upgrading let's refresh patches and remove the outdated
patches.

(From OE-Core rev: ca276b77904429a1ff3188d2373535a462afe266)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Jeremy Puhlman
69e3b6c80e binutils: additional patch should be added with space.
If an append adds a patch or file with SRC_URI += , the spaceless
append causes the file listings to concatinate and cause failures
in the nativesdk-binutils parse/build.

(From OE-Core rev: 227bacec59501b6ef0aca50c62ad1f4acd167b5d)

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Pierre-Jean Texier via Openembedded-core
0b24dd23fb mtdev: upgrade 1.1.5 -> 1.1.6
Also remove patch which have been merged upstream

(From OE-Core rev: c48e2f4e93a5aae1c4dec1511297c88f494bcc5d)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Alex Kiernan
2fd5bda2b3 devicetree.bbclass: include symbols in base DT
When processing overlays, the base device tree must be compiled with
symbols, otherwise attempting to apply overlays in U-Boot will fail
with:

  failed on fdt_overlay_apply(): FDT_ERR_NOTFOUND
  base fdt does did not have a /__symbols__ node
  make sure you've compiled with -@

(From OE-Core rev: d075e39c05ace6dad2c66a5e8c4b1e75aa751b6a)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Alex Kiernan
36c879ca38 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")
(From OE-Core rev: 9e4a91b63dd8e0c1708da2ac7de461b35fb0b011)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
He Zhe
318f69d632 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"

(From OE-Core rev: 74ffa7730e194e7b5dc71e63939b4a4a9843be93)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Yi Zhao
59acf5e384 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]

(From OE-Core rev: 991d7ced7262a1340878bada307c6d021ea9cb77)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Joshua Watt
d59bfa1334 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.

(From OE-Core rev: 6e1d5e8b58f0940ba6dfd99536159dd974e6f24c)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Richard Purdie
2c3b751a12 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.

(From OE-Core rev: 085b0a3337e04e14e0d922a9028a7748dc81c4d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Joshua Watt
282d42fe3d recipes-support: Add diffoscope recipe
Diffoscope is the universal diff tool, capable of comparing many
different formats.

(From OE-Core rev: c92cf366c301a98ff1546d80d6c3a138f952252a)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Joshua Watt
00768e4687 python: Add magic recipe
The python-magic module is used by diffoscope tool to make
build comparisons.

(From OE-Core rev: 64560fcbe7c9658fcca86010502d00998d88f418)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Joshua Watt
8382def8d0 python: Add libarchive-c recipe
The libarchive python module is used by diffoscope tool to
make build comparisons.

(From OE-Core rev: 288becda36dcc9f5435ec00258c0d0594e0011c1)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Denys Dmytriyenko
3151b0b19c 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.

(From OE-Core rev: c127e7ac7c6da11417a599384002fd7c1420c7c2)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Yi Zhao
dbfc4e6948 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:
8d7970b8f3

(From OE-Core rev: b01505e018ff46f1af34f98219d55f4ca700cd5a)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Robert P. J. Day
16c9a82c6c icecc.bbclass: replace superfluous "+=" with "="
(From OE-Core rev: 8cd1150a813ba7aa395f3f62c6b91a3561e81c92)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Alex Kiernan
3070342f0e 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.

(From OE-Core rev: e742e5f711d46b1664cc5bec2f788dc0e020ccaa)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Khem Raj
e2fa65d1ac 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

(From OE-Core rev: 5ee10b10b3316a368cea73df470befd587ef1cd0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Khem Raj
64e1bf5486 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

(From OE-Core rev: aec9f9bd9549938a6ed42e9879f3a2fdcc89463d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Khem Raj
53b0b65137 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

(From OE-Core rev: 8b6c22a0dc61579d112161fd49da855a678cc58b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Khem Raj
21d97d00d5 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>
(From OE-Core rev: 3dc4e27e7633ce3ca6b9647810d0996bdee48771)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Khem Raj
84baf77027 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

(From OE-Core rev: 4486f4523f6671841ffa65ce2419b9e3e018ad76)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Richard Purdie
5fd3eb4bda 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.

(From OE-Core rev: ef24a545d11febb96d1c0f02c60d9701295ef592)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 14:09:17 +00:00
Richard Purdie
fea3f52676 pkgconf: Remove pointless DEFAULT_PREFERENCE
There is no other version of pkgconfig to have a preference against,
remove the unneeded variable.

(From OE-Core rev: 837cd3c0ee318ff22065b77c6cc72b4d50abbf27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Yeoh Ee Peng
0b032d39fa 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.

(From OE-Core rev: 7161310ce32d6e0c397d0132808d556bdc80d183)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Aníbal Limón
ac467533f0 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

(From OE-Core rev: d3032809136707b584e7938c01e77da36abc1b00)

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Otavio Salvador
4b3b872624 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.

(From OE-Core rev: a60bf84b15be85ae0f16b5f85fec98b3365f15de)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Mark Hatle
35d68aea95 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.

(From OE-Core rev: c7c12efba87c803d94a7c9c2f8c98b66aeba6d43)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Alex Kiernan
c9ab7b0d22 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.

(From OE-Core rev: 169ebd59f11845a3a5a7157719217ccf0844e448)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Kevin Hao
ba27990093 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]

(From OE-Core rev: cfd71a68a4931c8bda15357ebb1e9ebcf0e302dc)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Alejandro Hernandez Samaniego
a3416a5933 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)

(From OE-Core rev: 3ab2cbfeff371e8791b031a2852eeef80101a831)

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>
2020-02-13 12:19:14 +00:00
Alejandro Hernandez Samaniego
e597809307 testimage: Allow testing on QEMU machines with a single serial port
commmit 6cde67d0a8 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.

(From OE-Core rev: a50d0163770f0b405a8de8a8a9cccd48c1de4112)

Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Wang Mingyu
575e4b2227 pciutils: upgrade 3.6.2 -> 3.6.4
refresh the following patch:
configure.patch

(From OE-Core rev: 498e0f83040fe2e83805d8b13d69c17c74a520ba)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13 12:19:14 +00:00
Robert P. J. Day
34535f3e0c bitbake: doc: minor tweaks to ch 1 of BB user manual
Tweaks include:

  - hyphenation
  - rewording for brevity or clarification
  - adding <firstterm> markup where appropriate

(Bitbake rev: bc84ce7e6542dac1a150b9733411190cff591948)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 17:41:17 +00:00
Robert P. J. Day
94208e7bf4 bitbake: doc: Standardize spelling on 'BitBake' throughout docs
Since the proper spelling is, in fact, 'BitBake', might as well make
it consistent throughout the user manual.

(Bitbake rev: 79ada807de0b202c3d568fc4365a1d3f17ba1bce)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 17:41:17 +00:00
Richard Purdie
9f6a310002 bitbake: siggen: Avoid cache mismatch issues with locked sigs
If locked sigs are in use this function makes little sense, need to
avoid generating mismatch warnings.

(Bitbake rev: 27ad9c1d468fba858a4adeb56b605227b415ae0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 16:01:33 +00:00
Richard Purdie
4d4f1ee5f6 bitbake: siggen: Cache unihash values to avoid cache lookup
Add unihash cache of values to speed up cache lookup.

This avoids the overhead of the disk based check functions.

(Bitbake rev: 5c9cc45b60904a1c355db9bf9c4495f1b25aca37)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 16:01:33 +00:00
Richard Purdie
cedfbac466 bitbake: siggen: Optimise get_unihash disk based cache handling
Currently the cache can grow huge since any previously used hash is
retained in the cache. This change moves to use one hash per task
which improves the speed of the functions considerably. Currently
performance is an issue, as are very large cache files and cache
load time.

By moving to a single hash per task, the shorted filename as a key
is no longer usable as the same recipe has multiple variants for
the same filename so this has to change.

(Bitbake rev: ed764e7fcf04b6d0ba6b4cac7415b1ee8f492865)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 16:01:33 +00:00
Alex Kiernan
306820bad6 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 2c10473109 ("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

(From OE-Core rev: 44a4ac2294da0f53cbbfabc7ece836fe97f4d3f7)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Wang Mingyu
cc71648360 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

(From OE-Core rev: d3c6f7e689a743fd060755eceb60353093013e84)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Wang Mingyu
d168845046 lighttpd: upgrade 1.4.54 -> 1.4.55
(From OE-Core rev: e669dd946956fed178c377fb9559a52c5885e71c)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Yi Zhao
9683f356f1 procps: upgrade 3.3.15 -> 3.3.16
Drop 0001-Fix-out-of-tree-builds.patch since it has been merged
upstream.

(From OE-Core rev: c3df7eec1ba99a34b4037da786863de87073576d)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Changqing Li
b7a5901dd6 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'

(From OE-Core rev: fb33127de5d80f5bcb84edf6cf4007bca73fa863)

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>
2020-02-08 13:20:02 +00:00
Changqing Li
e774c22381 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

(From OE-Core rev: 3081d3993095d2e4817bbef33c9c90dd814a45d7)

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>
2020-02-08 13:20:02 +00:00
Wang Mingyu
2d267973e0 mesa: upgrade 19.3.1 -> 19.3.3
(From OE-Core rev: a3f8270d023cd19c64d491c970f7ff87bb4355c7)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Alexander Kanavin
06fc241518 xserver-xorg: upgrade 1.20.6 -> 1.20.7
(From OE-Core rev: cad375e113b52069eaa24d7b07a97cc63ae9da46)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Khem Raj
7e98e4d55c bison: Upgrade to 3.5.1
Minor upgrade on 3.5 release series

(From OE-Core rev: da9b363acea2545721702fc7c39c4589b666c61b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Scott Branden via Openembedded-core
e4abc4dbf3 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+

(From OE-Core rev: 877d3ff61fbd55baa5e5fd00bd8a58b31e214cc9)

Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Jaewon Lee
ed4bdd0f91 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 b8025e9720
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

(From OE-Core rev: 2acfee61a062c6520a413b2a797544d968bb0c76)

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>
2020-02-08 13:20:02 +00:00
Mark Hatle
38a754214a 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.

(From OE-Core rev: 17fa66c8199d73f0b59b2b3e609075933bf1e74b)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Mark Hatle
dae03ec7e8 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.

(From OE-Core rev: c50fcd54ffe60b63d042d05e6cf538a593dc410f)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Mark Hatle
6a543159a3 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.

(From OE-Core rev: fa356b23c2f4599681693bba50d36659b07a8125)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Alexander Kanavin
0e48ca10aa 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]

(From OE-Core rev: 61efc1e287326f52810a439ccde996f45ef89733)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Trevor Gamblin
9afefb02b0 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]

(From OE-Core rev: eadb899e23b18eb9eaff145c3bf5b20fb417c3e8)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Khem Raj
504b206e37 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]

(From OE-Core rev: 84eb1dc4fe8a11cd2d05b703070a6fb6de05b873)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Bruce Ashfield
6113de76c8 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.

(From OE-Core rev: a60c4c116efecd7a6ee5a11b1d366bb00b9d23ce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Gavin Li
cc71bb7b73 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.

(From OE-Core rev: 06577d49c50b7e9f1f40fe5b52ec88d1bdc1430c)

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>
2020-02-08 13:20:02 +00:00
Martin Jansa
7ba241a697 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

(From OE-Core rev: ec281a948a23365bd4536139dac077fb1a5eae6d)

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>
2020-02-08 13:20:02 +00:00
Martin Jansa
040ec2d8ab 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.

(From OE-Core rev: 36fe2efc91fec5a52374a2dc4814a69076a2d28e)

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>
2020-02-08 13:20:02 +00:00
Paul Barker
83c1977475 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.

(From OE-Core rev: 613c43f910cbdf5e03ef3d5bbf92de69082a30c9)

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>
2020-02-08 13:20:02 +00:00
Paul Barker
f88946d48d 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.

(From OE-Core rev: ee358e03b1ad6eb0624cee0306fef807de0116a6)

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>
2020-02-08 13:20:01 +00:00
Paul Barker
de2ef01204 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.

(From OE-Core rev: 48d8f97975c0b167c0f4f32145813f00b8c8a7a8)

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>
2020-02-08 13:20:01 +00:00
Martin Jansa
caac8938fe kern-tools-native: use more common S value and oe_runmake
(From OE-Core rev: 83a552d0aea7f789b3a5a7ff96f3d3a5e346cc2c)

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>
2020-02-08 13:20:01 +00:00
Bruce Ashfield
2f7f4ca89d 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>

(From OE-Core rev: fa964575f9e00d8530563e61075992c5b69df137)

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>
2020-02-08 13:20:01 +00:00
Bruce Ashfield
36491a9220 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

(From OE-Core rev: eaa83453fe206567253257fcefdbf6feb6d53d72)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
459e92aa93 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]

(From OE-Core rev: 09c8a28893e7ca94a44232d802e1cb02a8f34b87)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
ad4f1d59e0 libevdev: Fix determinism issue
We need to sort python dict output to be deterministic and generate consistent
header files.

(From OE-Core rev: 75e4cedb986379db2e8a897df52ee1363f9a9a80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
0f2fdd4abf 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]

(From OE-Core rev: 0227e929021263c51d2e7db36224000fecb01f1c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Ross Burton
1b463c9e74 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.

(From OE-Core rev: 61650dd8498a093f3bfa93202c9cd2e9a7fb7834)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
468575f973 libgcrypt: Fix determinism issue
The build was injection git information from the wrong git tree, stop this
to allow reproducible builds.

(From OE-Core rev: 506b36b6d86b3454fcc3cb85f6229cbe8d14f5b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
c0726d98e6 libinput: Fix determinism issue
The build was injection git information from the wrong git tree, stop this
to allow reproducible builds.

(From OE-Core rev: c3f6a6113f562ecdb13386c3ff52adb7973980a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
d10da5f6e6 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.

(From OE-Core rev: 8b00ec484fb851c301f13145e17707c0167feab1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
49e4e1de7d 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]

(From OE-Core rev: 37db519eedb7eb5cd4f14d05f30f5d580aa7458d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Richard Purdie
2ac1632f18 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

(From OE-Core rev: 482fd0d99f989b5a72a25bdf402fb2f219420b5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Alexander Kanavin
155d79d526 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]

(From OE-Core rev: 2e0f30c4680221c693495e3a0327378d502a518b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:01 +00:00
Frazer Clews
6ca91a91af bitbake: cooker/toaster: replaced deprecated method warn() with warning()
Removed the deprecated methods as it will only cause problems later on,
and since warn() just calls warning(), it shouldn't change anything

(Bitbake rev: a194f275235f22411cb2368f06a44f61ceb6a0f3)

Signed-off-by: Frazer Clews <frazer.clews@codethink.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 22:49:29 +00:00
Mark Hatle
cdcacf26ec 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'.

(From OE-Core rev: 6f6a6bbac684ead3fe6d070d61f17c2f611a2c87)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Mark Hatle
d6b0154a4c 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.

(From OE-Core rev: 78c38857486d3107ecd95d0ceefabcf5152c3928)

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>
2020-02-06 12:16:34 +00:00
Mark Hatle
83e58868b5 microblaze tune: Enable 64-bit
64-bit is not yet available in Linux, but some non-Linux uses exist.

(From OE-Core rev: 389691be34b79da1fafa8df2e6369e7771406cc2)

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>
2020-02-06 12:16:34 +00:00
Mark Hatle
e45c382033 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.

(From OE-Core rev: 0d1551dcc169f2d8dbfbe01b4f1f0ae3ce4770ed)

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>
2020-02-06 12:16:34 +00:00
Mark Hatle
7f150a2514 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
...

(From OE-Core rev: c052b0c984b28d64527a66ea8e2936ca28b9406f)

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>
2020-02-06 12:16:34 +00:00
Ross Burton
2aac5700b8 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.

(From OE-Core rev: f3675be6be29426688187a135221431a0941d007)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
934d21e032 libidn2: Fix reproducibility issue
The previous tweak for reproducibility didn't handle the duplicate
whitepace left behind, fix this.

[YOCTO #13771]

(From OE-Core rev: 0392fcbdc85180581ce7392212808ebb822cc2e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
829476febc 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.

(From OE-Core rev: d14a4b0db92a9a7d1ff72a2e0faca7f1a23a0b68)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
dd41dcbaa3 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.

(From OE-Core rev: 39e25b045231385c1e2a442fde2c5d4ee07640a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
500206534f 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]

(From OE-Core rev: 5ed0840c93804488cd1c1aba6cb382b2434714a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
8e2afe5dd3 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.

(From OE-Core rev: 5553c20f9fa4f35bf711b6b9d5717dcf4bfefafa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
291a7414db mc: Set zipinfo presence determinstically
This value was floating causing differences in generated files.
Set it determinstically.

(From OE-Core rev: 11d7a9e37c1d3fc21396a98fefc9d34c0b9e784b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
7c201279cb 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.

(From OE-Core rev: 6e2e0480852177db75a6108d77c99c92c4e9950f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Richard Purdie
09c6a41b75 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.

(From OE-Core rev: a9b8287984c63420e10329a69f7ac5125f1687f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-06 12:16:34 +00:00
Anuj Mittal
73333dd4b8 sqlite3: upgrade 3.30.1 -> 3.31.1
(From OE-Core rev: 621ea68239763ce8740731e745c5002c956d4c67)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Anuj Mittal
0ca68e153d libxml2: fix CVE-2020-7595
(From OE-Core rev: f2f7aa9a495774fe5a2e3947584cb3503bd1eaf1)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Anuj Mittal
8046030dd4 ncurses: add CVE_VERSION
Include the version number in a format that is comparable to what we get
from NVD.

(From OE-Core rev: fdb2a95d5e0265de1172940b6dc71fc7d602e8d1)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Anuj Mittal
b5b12cec76 x264: upgrade to latest revision
(From OE-Core rev: f7cc44c98792f7c2f479a9bd86d6ed9c96373c00)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Taras Kondratiuk via Openembedded-core
e03c56c30b 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.

(From OE-Core rev: 14f34d32bfdaa752f5043e62750d2e7b92c4b419)

Signed-off-by: Taras Kondratiuk <takondra@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Khem Raj
210daa5ea7 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

(From OE-Core rev: 94446ea1bfcb175af6fcaf5969a3a4507fdbf470)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Trevor Gamblin
b486903ccc 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.

(From OE-Core rev: b9392403e96c6d880de844b44da2c7300fcf411c)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Khem Raj
d59ab12807 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

(From OE-Core rev: d4ecf976c446984bd9fb1181e12e02cb9a5829a3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Khem Raj
66b0410459 netbase: Upgrade to 6.0
adjust install to pick new files from S

(From OE-Core rev: cdb4b65e1c7d5efeac90feb446ea84a350a18aed)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Alejandro Enedino Hernandez Samaniego
2534c1379c 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!

(From OE-Core rev: b314e9a0923c8aa95a2f2c3f48d956206e9885a7)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-05 12:00:34 +00:00
Martin Jansa
3c6978c8db 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:
  ...

(From OE-Core rev: d3083e941578fb343454e106eba349adcc525ad3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Alex Kiernan
2c0e4daab9 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

(From OE-Core rev: 48a061c1da0745ca2263cfcfb9041d67cd018193)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Khem Raj
bb637cc802 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

(From OE-Core rev: 7515a38d4c2dec6117c1184dab4fbf1e9c02a993)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Martin Jansa
3fa3b0540d 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

(From OE-Core rev: 66c1f4b0abd3483759f9e4141a80f982eaf8ccfd)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
André Draszik
3bfe8cad83 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.

(From OE-Core rev: 0ebb56ff192e9c6db2af83c37db3307a27fe822a)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
André Draszik
e4893d4830 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.

(From OE-Core rev: c3bd502f31a621394a2f6ea3ae90443ff4ac98a4)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Ross Burton
3161eecefc 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.

(From OE-Core rev: 9cc4dc9cc951157e6e374192c88369432ae5cff1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Ross Burton
cf7090d481 podfix: remove
Now that we don't use the host pod2man (oe-core deda455) the podfix
class is redundant and can be removed.

(From OE-Core rev: 46884b1443d92cea877201296bd480b6cbd71cca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Kai Kang
776eea0691 ifupdown: add ptest
Add ptest for ifupdown with its own test cases.

[Yocto #13736]

(From OE-Core rev: 2333ef5bb40132f05f69a5f6abaa3d086ecf9f6c)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
He Zhe
ce39a9e352 lttng-modules: update to 2.11.1
Fix build failure with kernel v5.5.
Remove patches as issues fixed upstream.

(From OE-Core rev: d313e49e1d1cee4bbc24650e60b8ec56700e9e1f)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Lee Chee Yang
264f097580 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

(From OE-Core rev: 1e2739c821312527010fb0afbde5a20cd3f03d24)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Lee Chee Yang
43d9e2d030 bash: include patch 8-11
(From OE-Core rev: 61c3449b87e5d627134a580bb5298338f389beb1)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Mingli Yu
14573dde23 gstreamer1.0-plugins-common.inc: disable orc on mips
After transiton to meson build for gstreamer series,
for gstreamer1.0-plugins-base, with below two commits
introduced:
238080ed89 gstreamer: Remove unused common files and patches
20614408dc gstreamer1.0-plugins-base: Transition to meson based builds

With below config in local.conf
MACHINE ??= "qemumips64"
require conf/multilib.conf
MULTILIB_GLOBAL_VARIANTS_append = " libn32"
MULTILIBS ?= "multilib:lib32 multilib:libn32"
DEFAULTTUNE_virtclass-multilib-lib32 ?= "mips"
DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32"

there comes below failure:
$ bitbake lib32-gstreamer1.0-plugins-base
[snip]
mips-pokymllib32-linux-gcc -meb -mabi=32 -mhard-float -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0/lib32-recipe-sysroot -Itests/check/7d01337@@orc_video@exe -Itests/check -I../gst-plugins-base-1.16.1/tests/check -I/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0/lib32-recipe-sysroot/usr/include/orc-0.4 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wmissing-declarations -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -Wmissing-prototypes -Wdeclaration-after-statement -O2 -g -feliminate-unused-debug-types -fmacro-prefix-map=/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0=/u
 sr/src/debug/lib32-gstreamer1.0-plugins-base/1.16.1-r0 -fdebug-prefix-map=/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0=/usr/src/debug/lib32-gstreamer1.0-plugins-base/1.16.1-r0 -fdebug-prefix-map=/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0/lib32-recipe-sysroot= -fdebug-prefix-map=/mybuild/tmp/work/mips-pokymllib32-linux/lib32-gstreamer1.0-plugins-base/1.16.1-r0/recipe-sysroot-native= -MD -MQ 'tests/check/7d01337@@orc_video@exe/meson-generated_.._orc_video.c.o' -MF 'tests/check/7d01337@@orc_video@exe/meson-generated_.._orc_video.c.o.d' -o 'tests/check/7d01337@@orc_video@exe/meson-generated_.._orc_video.c.o' -c tests/check/orc_video.c
FAILED: tests/check/7d01337@@orc_video@exe/meson-generated_.._orc_video.c.o
{standard input}: Assembler messages:
{standard input}:46587: Error: branch out of range
{standard input}:46613: Error: branch out of range
[snip]

BTW, gstreamer1.0-plugins-good also occurs
the same build failure as above.

Disable orc as workaround to fix the above issue

(From OE-Core rev: 2b65c49bcaa863d87de6cd8728878768ddeed1b8)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Henning Schild
d02d938cc6 lib/oe/path: try hardlinking instead of guessing when it might fail
The comparison of the stat st_dev is not enough to judge whether
hardlinking will work. One example would be where you try and hardlink
across two bind-mounts of a directory. The st_dev will be the same and
the operation will still fail.

Instead of implementing a check to try and figure out hardlink support
just try hardlinking and fall back to a copy when running into an
exception.

(From OE-Core rev: f5571bda8327f927feb23b167ab4594b7d0c95bc)

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Daniel McGregor
0a99a2e2da buildhistory: Allow customising buildhistory tags
Allow setting custom buildhistory tag prefixes. This allows multiple
build directories to share one buildhistory git repository with multiple
worktrees.

(From OE-Core rev: 1bb2aa53a74e36dc3ba901b9d8ce780e7880cef8)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Daniel McGregor
a26efa2875 cmake: prefer CMAKE_BUILD_PARALLEL_LEVEL
cmake 3.12 introduced this environment variable. Prefer it to passing
PARALLEL_MAKE and PARALLEL_MAKEINST on the cmake command line, because
it gets passed to second stage cmake invocations while command-line
arguments do not (for example, multi-stage clang builds)

(From OE-Core rev: cdd44c93f02bb8cc2fa773e13c8ce36e3da23921)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Daniel McGregor
e6daaf97b3 procps: enable optional systemd support
procps includes support for listing the owning unit of a process, but
this support is disabled by default. Enable support using
a PACKAGECONFIG that depends on the systemd DISTRO_FEATURE.

(From OE-Core rev: 54a5daca450b8be251c45730ae4c0511811b668a)

Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Anuj Mittal
32f9d3b56f libtirpc: upgrade 1.1.4 -> 1.2.5
Drop musl patch and backport a fix from upstream instead.

(From OE-Core rev: 009dbec9058bf43e63eeabdd24ecad990bf22568)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Anuj Mittal
b3bfb64529 sudo: upgrade 1.8.29 -> 1.8.30
(From OE-Core rev: 5933efd44811f97a53952dd72b6d2026ebfa8d39)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Anuj Mittal
4a762d532c assimp: upgrade 5.0.0 -> 5.0.1
(From OE-Core rev: ea43f8af4652d78546fee874606cf4093b11098e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Anuj Mittal
16094313e6 glib-networking: upgrade 2.62.2 -> 2.62.3
(From OE-Core rev: 046851a33b749b34eff4f29dacbb11275d8e5540)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Anuj Mittal
e2bbdb4350 stress-ng: upgrade 0.10.15 -> 0.10.16
(From OE-Core rev: be821fda76798095598f60f437e8128e951dd2fb)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Rasmus Villemoes
b5444e5f5e glibc: don't ignore global LDFLAGS settings
Two things: The -Wl,-rpath-link comment is stale (due to per-recipe
staging), so we no longer need to set our own LDFLAGS to avoid
-Wl,-rpath-link being in there. Second, overriding LDFLAGS should be
done at the recipe level so "bitbake -e" can show what is going on.
Otherwise debugging why one's global LDFLAGS tweaks are being ignored
is needlessly painful.

So pull out the LDFLAGS setting from do_compile, and change it to an
append instead of assignment.

For the benefit of future git blame: the -fuse-ld=bfd setting was
added by ac64c3b96b (glibc: always use bfd linker).

(From OE-Core rev: 4535469d5953b94c9dcad5515be9b807ea7ba621)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Richard Purdie
30c1054235 libxshmfence: Set shm directory deterministically
Without setting this it will vary depending on which directories are present
on the host.

[YOCTO #13778]

(From OE-Core rev: 6217c3a7201b34888aa2fbae8b6e490bea545574)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Richard Purdie
c54a86730d sudo: Set vardir deterministically
Without setting this it will vary depending on which directories are present
on the host.

[YOCTO #13775]

(From OE-Core rev: 39fe849b56d70689846262c31ab7c182c8443923)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-04 15:56:29 +00:00
Alexander Kanavin
fb9d7c9670 libpcre2: upgrade 10.33 -> 10.34
(From OE-Core rev: a18d8beb0dc36d9e63bbf80e93f044997a6c725f)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
0d8b1244a0 sed: upgrade 4.7 -> 4.8
License-update: copyright years
(From OE-Core rev: 9dc9107eca360ea491e37a5bd26432c77b696bee)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
1312596263 python3-six: upgrade 1.13.0 -> 1.14.0
License-update: copyright years
(From OE-Core rev: d524945a553a95ec21b67432f68257cf2f312a4b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
60297786e6 libarchive: upgrade 3.4.0 -> 3.4.1
(From OE-Core rev: 8b58523919f3a8276d4e35c21a058c6d087a3c7e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
e234644309 gnu-config: upgrade to latest revision
(From OE-Core rev: de31c1e29230519e76799f6c65507ed21e8667f8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
a3b271954f python3-git: upgrade 3.0.2 -> 3.0.5
(From OE-Core rev: d19ba66daad9aef683a7dee0c59af29234201574)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
79cc1e2c25 python3-setuptools: upgrade 42.0.2 -> 45.0.0
(From OE-Core rev: ed1d8e2db0d3b5c60ce83ccebb7f0f7ac36f243a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
824da8acfb libedit: upgrade 20191025-3.1 -> 20191231-3.1
(From OE-Core rev: 97045a0d87efc9bd20c2c096cab1c3e63e3bb436)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
b94496d5e5 python3-gitdb: upgrade 2.0.5 -> 2.0.6
(From OE-Core rev: cb2bebfd07f04f1049a5507af7656a92481439c3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
bb4f31f484 ncurses: upgrade 6.1+20190803 -> 6.1+20191019
(From OE-Core rev: 325fe5f68bc698f78f5c1a14407c0bbb4cba45f7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
e8d3a6407b kmscube: upgrade to latest revision
(From OE-Core rev: 17eee4095da69a4d19e28031fd4f67ba67c54cbd)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:32 +00:00
Alexander Kanavin
613e84c9ef piglit: upgrade to latest revision
(From OE-Core rev: 02df1c2555a83ff84846043c0068d17a7e0ecfe2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
92b469428d ccache: upgrade 3.7.3 -> 3.7.7
License-Update: copyright years
(From OE-Core rev: 4e852a12a4df4ced83cc0f5f61bc9f16845dc8a5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
475aac341b libxpm: upgrade 3.5.12 -> 3.5.13
(From OE-Core rev: aea7f19f7156f21b4e429691b244b4e3b38584a0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
57ba5c71bb linux-firmware: upgrade to latest revision
License-Update: Copyright years, file lists
(From OE-Core rev: 573267be678e058bec775ba0c3f1b06f613927a6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
b15cd925d4 socat: upgrade 1.7.3.3 -> 1.7.3.4
(From OE-Core rev: 37b11d03bec508fa7428b6b0ed3a5f4ca2b7e65e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
37dff87862 puzzles: upgrade to latest revision
License-Update: list of contributors updated.

(From OE-Core rev: 4c6b294b72d74c10b22407d82dee28d553345ec3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
087bfc32fc bison: upgrade 3.4.2 -> 3.5
(From OE-Core rev: b7841157d9bfda027031ff13e39e2407cf41aeb7)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
46908b5655 shared-mime-info: fix (sort of) upstream version check
Upstream is using - to separate version components which
version checker at the moment can't deal with (i.e 1-15-1 when
1.15.1 is meant).

(From OE-Core rev: fe38a5df23a341ecc18f81b96a9b7628dc4b5a61)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
745e3d3426 speexdsp: fix upstream version check
(From OE-Core rev: f6b84c1018bf0e0d788e48277b301432099d638d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
724293ac6b libva-utils: fix upstream version check
(From OE-Core rev: 3a881caedd862b6ac0bc4d86bcfb241769dd4956)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Alexander Kanavin
d139952afd findutils: drop upstream-version-is-even
Upstream seems to have dropped the odd-even policy

(From OE-Core rev: 3b41a5518b5f51816171daf716fedfe16854b191)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 13:03:31 +00:00
Bruce Ashfield
29ba11e7d1 kernel-devsrc: update to v5.4+
To support on-target module building, we need to include syscall.tbl
for ARM64 (just like we do for other architectures).

We also copy .config with -a to ensure that we don't trigger extra
processing and regen configs.

(From OE-Core rev: 1be199f79479d9c8125bd3548cd4f2354f597640)

Signed-off-by: Bruce Ashfield <bruce.ashfield@xilinx.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Bruce Ashfield
3bbaaa7c0b kern-tools: update Kconfiglib to latest (for 5.4+ kernel)
When a symbol doesn't make it into the final analysis is run
using Kconfiglib to show dependencies. v5.4 has introduced Kconfig
elements that Kconfiglib can't parse (hence we get no analysis).

Updating the Kconfiglib snapshot solves our problem.

(From OE-Core rev: 240e0ae13d35469eecafc82d2cd9cfd110095c55)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Bruce Ashfield
790ac81044 linux-yocto: introduce 5.4 recipes
This creates recipes for the v5.4/* branches of the linux-yocto
reference kernel.

preempt-rt, yaffs2, aufs5 and reference board specific patches are
part of these branches. All major architectures: x86,x86-64,ARM,
ARM64,ppc,mips and mips64 have been feature tested against this
reference.

5.4 is a LTS release, and as such will receive -stable updates
for the duration of upstream korg support.

(From OE-Core rev: 2c2bdd9661e4341178f2d831bb56e961e74e8509)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Richard Purdie
a264dc462c bitbake.conf/sanity: Drop makeinfo as being required on buildhost
This is a long standing 'odd' dependency which we've meant to
resolve. We shouldn't need it and it introduces reproducability issues.

We already have texinfo-dummy-native and texinfo-native which can
provide it but the work to remove the hosttool was never completed.

After cleaning up texinfo.bbclass, this can now be removed with
minimal impact on build time.

[YOCTO #13753]

(From OE-Core rev: 0c58c479af151969dfb84d8763696da657f7248d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Alexander Kanavin
5249a8a3d5 bitbake.conf: drop pod2man from hosttools
pod2man writes the current date into manpages, and while later
versions of it respect SOURCE_DATE_EPOCH and use that instead,
earlier versions do not. This was found to cause reproducibility
issues.

This patch replaces host version of pod2man with one from
perl-native.

[YOCTO #13755]

(From OE-Core rev: deda455b3c1829003a4cc14520f30e616be93dfb)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Richard Purdie
33fb77797e texinfo: Only build texinfo when api-docs enabled
Also fix the crosssdk and cross-canadian cases.

(From OE-Core rev: 95476373b20ba56c2877c70b5b36335446904f37)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Richard Purdie
f7f6303a99 texinfo/texinfo-dummy-native: Drop native path prefix
Now we have recipe specific sysroots we don't need this native path
prefix. It was breaking the crosssdk/cross-canadian cases and causing
bugs, removing it is the simplest solution.

(From OE-Core rev: f7c9e4c4cbb2a74a3627dc8da37083eef071e3cb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Joshua Watt
fdce09a022 oeqa: reproducible: Do not strip packages
Do not strip packages when testing reproducible builds. In some cases,
stripped data differs between builds, but then gets removed. However,
the contents affect the generation of the GCC build-id, which then
differs in the resulting ELF files, even though the data that caused
this is no longer there. Inhibit stripping so that their causes can be
evaluated.

(From OE-Core rev: 0e23c6faf8169a333ae29064553705b5d7d6b589)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:11 +00:00
Joshua Watt
94981725b0 classes/reproducible_build: Read SDE file later
Defers the resolution of the SOURCE_DATE_EPOCH until the variable needs
to be actually realized with a value. The previous method of loading the
value in anonymous python had issues because it could occur before other
anonymous python functions that affect the location of the epoch file,
such as when a recipe uses AUTOINC/AUTOREV or allarch.bbclass.

Also adds more logging to help diagnose issues in the future.

[YOCTO #13763]

(From OE-Core rev: b3313a10a3eb93f0a3710a35de0404fb49cd6202)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-03 00:10:10 +00:00
Alistair Francis
2b9781da7c opensbi: Remove dependency on FDT
U-Boot no longer requires OpenSBI to include a FDT for the HiFive
Unleashed, so remove the support from OpenSBI.

(From OE-Core rev: 472507b8c446dcfe3cb08deecfbca4e5928ca504)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Andrey Zhizhikin
86511f94c9 gstreamer1.0-plugins-bad: resolve opencv pkg-config in meson build
When opencv is picked in PACKAGECONFIG, plugin fails to locate data
dirs. This is due to meson.build file uses 'test' utility to verify that
the data dirs path is present and not taking sysroot into prefix.

Introduce additional patch, which picks up PKG_CONFIG_SYSROOT_DIR as
prefix for 'test' utility to verify the data dir is actually present.

(From OE-Core rev: 575fca95307dafb3f7d80f9bf0e63605a9328b59)

Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
6c09c9259f busybox: sort the .config file used by ptests
It was found to have slight variations in order of options
depending on the host. Sorting it helps reproducibility.

[YOCTO #13756]

(From OE-Core rev: 93c7fa3b369c8eb61b65cdd82111c8016d707fb6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Khem Raj
b08607a2a9 glibc: Update to final 2.31 release
(From OE-Core rev: b0df2fcb26cb1b2b48e8f66cfcbfd351a7737099)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Khem Raj
afea43c8c2 uninative: Recognise ppc64 host ldso
(From OE-Core rev: 15f7eedf3f153f844dd64f028877aac621e040d1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
94fab90576 icu: update SRC_URI
New releases of ICU are published on github.

(From OE-Core rev: 1a01c30653c2b0282543aa3cdae8d87af871c24a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Ross Burton
ad0b736678 glibc: merge libc-common.bbclass into glibc.bb
There's only one user of libc-common now that we don't ship both glibc and
eglibc, so copy the contents directly into the recipe.

[ YOCTO #12135 ]

(From OE-Core rev: a0bff0db1eeb128776757d5f3d0bc1ebdc135498)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Mark Hatle
1c28cf571a libgcc.inc: Fix an issue w/ a recursive symlink
If the OS is not Linux, the code could end up generating a recursive symlink.
This can happen because the same symlink can be created twice in a row.  If this
happenes, the second symlink becomes a link to itself within the directory
pointed to by the original link.

In order to prevent this, verify that the destination does not already exist.

(From OE-Core rev: ef28e5a74d939acc98d6e8e9a0efbeb143b8025f)

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>
2020-02-02 16:57:21 +00:00
Mark Hatle
843e4935b9 toaster.bbclass: Fix error when toaster is used to monitor a build
The error being corrected looks like:

File: '/home/jenkins/workspace/OEBuild/build-32/oe-core/meta/classes/toaster.bbclass', lineno: 130, function: toaster_package_dumpdata
     0126:    lpkgdata = {}
     0127:    datadir = os.path.join(pkgdatadir, 'runtime')
     0128:
     0129:    # scan and send data for each generated package
 *** 0130:    for datafile in os.listdir(datadir):
     0131:        if not datafile.endswith('.packaged'):
     0132:            lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
     0133:            # Fire an event containing the pkg data
     0134:            bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/home/jenkins/workspace/OEBuild/builds/build-32/tmp-glibc/work/core2-64-oe-linux/puzzles/2_0.0+gitAUTOINC+c6e0161dd4-r0/pkgdata/runtime'

There must be a small window before the data is available, but while the monitoring is on-going.

(From OE-Core rev: c7329b17cbbef64984196e2b79a81988db1d2bf3)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Tom Hochstein
c634b8db1a u-boot.inc: Fix devtool build u-boot for u-boot without menuconfig
For u-boot recipes without menuconfig support, running devtool results
in a do_configure error:

cp: cannot stat '/home/r60874/upstream/fsl-xwayland/tmp/work/imx8mmevk-fsl-linux/u-boot-imx/2018.03-r0/u-boot-imx-2018.03//.config': No such file or directory

The problem arises because u-boot.inc supports recipes with and without
menuconfig.

Fix the problem by properly setting DEVTOOL_DISABLE_MENUCONFIG so that devtool
can control logic that applies only for menuconfig support.

(From OE-Core rev: a6c430b0077eb56b4adbe391a0a05a52133cc8f0)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Tom Hochstein
e209b9f0bf devtool/standard.py: Allow recipe to disable menuconfig logic
u-boot.inc supports u-boot recipes with or without menuconfig [1].
However, running devtool on a u-boot recipe that does not support menuconfig
results in an error:

cp: cannot stat '/home/r60874/upstream/fsl-xwayland/tmp/work/imx8mmevk-fsl-linux/u-boot-imx/2018.03-r0/u-boot-imx-2018.03//.config': No such file or directory

The problem is the devtool logic assumes that any recipe with a do_menuconfig task
will generate a .config in do_configure().

Fix the problem by removing the assumption with a flag that the recipe can control,
like this:

do_configure() {
    if [ menuconfig-supported ]; then
        ...
    else
        DEVTOOL_DISABLE_MENUCONFIG=true
    fi
}

[1] 11278e3b2c

(From OE-Core rev: 6cc17e658c3dbadc772353f0f200561d2d988658)

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Mark Hatle
753cffb105 gcc-cross-canadian: A missing space in an append caused an invalid option
When configuring the cross-candian toolchain for a non-linux target system,
the resulting gcc configuration included:

  --enable-initfini-array--without-headers

these should have been two separate options.

(From OE-Core rev: 7b52893632dae7bc9ac75dddc7ad625e19f41050)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Richard Purdie
9dd3af7f0f texinfo-dummy-native: Allow to coexist with texinfo-native
(From OE-Core rev: 0a1099d7d346d540b616f88f30ebaf1571d9eba1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Richard Purdie
9f734a34a3 autoconf-archive: Add missing texinfo inherit
(From OE-Core rev: 0675fdcc2bd29ee98adf428bcb4758dc28bf1230)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Richard Purdie
e14c2a4986 glibc-package.inc: Remove warnings about unpacked directories
If documemtation generation is disabled, the recipe throws warnings about
unpackaged files. Avoid this.

(From OE-Core rev: 811a5b1b4d4da97caaca2779c8aa5687cbf0c609)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Changhyeok Bae
bab3f110b5 iptables: upgrade 1.8.3 -> 1.8.4
(From OE-Core rev: 490dd755899a149a36cbb2e60a08a37e0c93d225)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Changhyeok Bae
d461e6b4df iw: upgrade 5.3 -> 5.4
(From OE-Core rev: 9b436d3c5625f1525a1c9e94886ff9f373ec7cf1)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Changhyeok Bae
79a5edd339 iproute2: upgrade 5.3.0 -> 5.5.0
(From OE-Core rev: 90f670a9f389f497d5dc00c0d3f955f07cff5805)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Khem Raj
cc294ed7f1 musl: Update to latest
Changelog [1]

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

(From OE-Core rev: bc922df14d128212e396658f76d63b03a6f30729)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Khem Raj
2fcd0cebe5 valgrind: Fix ptest builds on musl
(From OE-Core rev: 20e7d638322cf03f512d4f13c698f25211097f86)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
85a0d61025 valgrind: fix the remaining ptest failures
Particularly, one test is disabled as it is failing everywhere,
two patches that actually cause failures are dropped and
some binaries are prevented from being stripped where that is
expected.

(From OE-Core rev: 64bc13f3c9c96584494f0984da5253a306e8a140)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Richard Purdie
c404b88959 reproducible: Allow configuration of saved debug output
If OEQA_DEBUGGING_SAVED_OUTPUT is set in the environment, use this location
to store reproducibile build failure output. This aids debugging on the
YP autobuilder in particular.

Use a date in the directory name to make it easier to find failure output.

Also clean up empty directories as they're unnecessary distracting noise.

(From OE-Core rev: 138ed4aa96ec5069f9f7fd02994a42452dbccc2d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:53:02 +00:00
Armin Kuster
55bd462940 parselogs: remove mpc8315e-rdb from errors
(From OE-Core rev: 0de55be071efff60944c89582ae0e736f3bdc828)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 10:39:52 +00:00
Armin Kuster
c932bf9e86 bsp-hw.json: remove mpc8315e-rdb manual tests
(From OE-Core rev: 72af20f445dfd8ac0b472f80ed84e1b1c556e8ef)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 10:39:52 +00:00
Richard Purdie
e363c40076 conf/machine: Remove mpc8315e-rdb machine
This hardware is old/obsolete and unobtainable. Its proving hard to support
with nobody fixing bugs or helping keep the platform running/up to date.

Whilst there is value in real hardware testing, this platform ist just too
old and obsolete to support. This does leave a gap for the power architecture
but at this point there is nobody willing to step up to cover it.

The TSC did discuss and agree support for this platform should be removed.

It calls into question the support/testing of the architecture by Yocto
Project which is being discussed by the TSC and governing board.

(From meta-yocto rev: aa691d49ceb6700eb1881b789fe34f8369bcb0ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 10:38:55 +00:00
Jefro
18b6b2ae81 Adding memoriam to scottrif
Added a few comment lines in Makefile to commemorate Scott's
contributions

(From yocto-docs rev: 07c88e2724a223b26694c98c0e976d735aee00e6)

Signed-off-by: Jefro <jefro@jefro.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-31 08:03:08 +00:00
Richard Purdie
4a61e9fa5f MEMORIAM: Add recognition for contributors no longer with us
Its sad to have this but as the project ages, also perhaps inevitable.
Besides their contributions, remember them here.

(From OE-Core rev: cd9006b20281cef0051ed60a2cfee8c809c24f76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-30 15:22:35 +00:00
Richard Purdie
1cebd3469e grep: Fix shell after autotools changes
After changing autotools.bbclass, CONFIG_SHELL setting no longer works
resulting in:

grep-3.4-r0 do_package_qa: QA Issue: /bin/fgrep.grep contained in package grep requires /bin/bash, but no providers found in RDEPENDS_grep? [file-rdeps]

The script can use /bin/sh so set this specifically using sed since we
want to use a consistent shell for the rest of the build but not have
the specific bash dependency.

(From OE-Core rev: 9031b66c7c817b65f75b429db6f6527d07196e8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Richard Purdie
63bb091d2d xz: Fix shell after autotools changes
After changing autotools.bbclass, CONFIG_SHELL setting no longer works
resulting in:

xz-5.2.4-r0 do_package_qa: QA Issue: /usr/bin/xzmore contained in package xz requires /bin/bash, but no providers found in RDEPENDS_xz? [file-rdeps]

The script can use /bin/sh so set this specifically.

(From OE-Core rev: 790be4ace4da2e2d7597d4e8ccf75ed7f711184d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Richard Purdie
93739bca2a autotools: Give in and force CONFIG_SHELL to bash
At present, CONFIG_SHELL becomes /bin/sh if its bash and /bin/bash if not. This
isn't deterministic and leads to changes in ptest packages which include Makefiles.

At first glance you'd think we'd hardcode to /bin/sh since most system shells are sane.

Sadly the dash vs. bash leads to quoting differences in configure.

The bash default is probably the safest option since configure tries to find bash
and this is what most systems would end up using.

The end result is a more consisent build environment.

[YOCTO #13752]

(From OE-Core rev: 33b1e27c29ed05da783f814cf9c3035675087ecc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Denys Dmytriyenko
5c724703c5 weston: upgrade 7.0.0 -> 8.0.0
Here are some highlights:
- DRM hardware planes should be used more effectively
- The DRM backend now supports HDCP
- Headless backend now supports OpenGL
- DRM backend can now be built without GBM
- EGL_KHR_partial_update is now used when available, reducing memory
  bandwidth usage on some GPUs
- Logging framework improvements
- Documentation for weston can now be built
https://lists.freedesktop.org/archives/wayland-devel/2020-January/041147.html

(From OE-Core rev: 1aa123f176f166e8eeaa09dc9b9fda206a92ae87)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Martin Jansa
77eb2bac56 nspr, nss: use ${includedir}/nspr like e.g. ubuntu does
* instead of installing all 51 nspr header files directly in ${includedir}

* ubuntu uses /usr/include/nspr as well as shown in:
  https://packages.ubuntu.com/xenial/amd64/libnspr4-dev/filelist
  and some components assume the same path

* update nss configure to find them, similar change might be needed in
  mozjs and ecryptfs-utils

(From OE-Core rev: 274128830a9d52bdd2827cc0a323d575025ce62f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Alexander Kanavin
a57648c8bf lttng-tools: disable tests that sporadically fail
Upstream is aware, and will investigate and fix.

(From OE-Core rev: 96c286a1b2f9fc8e8bf4fb29ae62551a323af5c3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Alexander Kanavin
dd3e190fca core-image-sato-sdk-ptest: use 2G of RAM
Particularly, 1G wasn't enough for lttng-tools ptests as
half of that went to /tmp, and lttng-tools needs more.

(From OE-Core rev: abc308a38c6e37afcaf507858a6578c10438c5d8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Alexander Kanavin
8d1195d9e6 lttng-tools: install additional scripts needed for ptests
(From OE-Core rev: fec25d9bfd7119d6ccccadd5109b8a09683fba5e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Alexander Kanavin
3360ba5666 default-distrovars.inc: add vfat to DISTRO_FEATURES
This is beneficial for parted ptests in particular, as
they expect vfat functionality to work.

(From OE-Core rev: 85eb0cdc16b89dc7d3bce0c0b1c22b68f684ef05)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-28 11:11:20 +00:00
Jean-Marie LEMETAYER
f6728edb7e bitbake: tests/fetch: add npmsw tests
This commit adds some tests to validate the npmsw fetcher:

     - bb.tests.fetch.NPMTest.test_npmsw
     - bb.tests.fetch.NPMTest.test_npmsw_bad_checksum
     - bb.tests.fetch.NPMTest.test_npmsw_destsuffix
     - bb.tests.fetch.NPMTest.test_npmsw_dev
     - bb.tests.fetch.NPMTest.test_npmsw_mirrors
     - bb.tests.fetch.NPMTest.test_npmsw_no_network_no_tarball
     - bb.tests.fetch.NPMTest.test_npmsw_no_network_with_tarball
     - bb.tests.fetch.NPMTest.test_npmsw_npm_reusability
     - bb.tests.fetch.NPMTest.test_npmsw_premirrors

(Bitbake rev: ba205df20b6a07a4b1125332601c6c54c7b019b5)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
e0bd972ba7 bitbake: fetch2: add the npmsw fetcher
This commit adds a new npmsw fetcher that fetches every npm dependencies
described in a npm shrinkwrap file:

  https://docs.npmjs.com/files/shrinkwrap.json.html

The main package must be fetched separately:

  SRC_URI = "npm://registry.url;package=foobar;version=1.0.0 \
             npmsw://${THISDIR}/npm-shrinkwrap.json"

Since a separation has been created between the package and its
dependencies, the package can also be fetched with a non npm fetcher
without impacting the general behavior:

  SRC_URI = "git://github.com/foo/bar.git;protocol=https \
             npmsw://${THISDIR}/npm-shrinkwrap.json"

(Bitbake rev: f5223be54450bf20e0bfbd53b372a7748a44b475)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
8b9505f1d4 bitbake: tests/fetch: add npm tests
This commit adds some tests to validate the npm fetcher:

     - bb.tests.fetch.NPMTest.test_npm
     - bb.tests.fetch.NPMTest.test_npm_bad_checksum
     - bb.tests.fetch.NPMTest.test_npm_destsuffix_downloadfilename
     - bb.tests.fetch.NPMTest.test_npm_mirrors
     - bb.tests.fetch.NPMTest.test_npm_no_network_no_tarball
     - bb.tests.fetch.NPMTest.test_npm_no_network_with_tarball
     - bb.tests.fetch.NPMTest.test_npm_package_invalid
     - bb.tests.fetch.NPMTest.test_npm_package_none
     - bb.tests.fetch.NPMTest.test_npm_premirrors
     - bb.tests.fetch.NPMTest.test_npm_registry_alternate
     - bb.tests.fetch.NPMTest.test_npm_registry_invalid
     - bb.tests.fetch.NPMTest.test_npm_registry_none
     - bb.tests.fetch.NPMTest.test_npm_version_invalid
     - bb.tests.fetch.NPMTest.test_npm_version_latest
     - bb.tests.fetch.NPMTest.test_npm_version_none

(Bitbake rev: b166bd3cc6cc1ca63e885319091f17daaaaa2537)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
d842e9e738 bitbake: fetch2/npm: refactor the npm fetcher
This commit refactors the npm fetcher to improve some points and fix
others:

 - The big change is that the fetcher is only fetching the package
   source and no more the dependencies. Thus the npm fetcher act as the
   other fetchers e.g git, wget. The dependencies will be handled later.

 - The fetcher only resolves the url of the package using 'npm view' and
   then forwards it to a proxy fetcher.

 - This commit also fixes a lot of issues with the package names (exotic
   characters, scoped packages) which were badly handled.

 - The validation files - lockdown.json and npm-shrinkwrap.json - are no
   longer used by the fetcher. Instead, the downloaded tarball is
   verified with the 'integrity' and 'shasum' provided in the 'npm view'
   of the package [1][2].

1: https://docs.npmjs.com/files/package-lock.json#integrity
2: https://www.w3.org/TR/SRI

(Bitbake rev: 0f451cdc43130d503ada53ed1b4fc5a24943f6ef)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
b9ce68a5d7 bitbake: fetch2/wget: fix downloadfilename parameter
When using a download filename with characters which can be interpreted
by the shell ('(', ')', '&', ';', ...) the command fails. Quoting the
filename fixes the issue.

(Bitbake rev: ed652dce5200161068eccdbfaaaefde33136eb09)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
c37a1bc05e bitbake: fetch2: allow fetchers to forward the done condition
This commit is necessary to introduce proxy fetchers and do not modify
the behavior of existing fetchers.

This commit allows fetchers to forwards the done condition to a
proxy fetcher.

(Bitbake rev: ee3a2545e99e6e99559a72bcda64797ae674ec71)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
4d771e2699 bitbake: fetch2: allow fetchers to forward the mirrors management
This commit is necessary to introduce proxy fetchers and do not modify
the behavior of existing fetchers.

This commit allows fetchers to forwards the "try_mirrors" functions to
a proxy fetcher.

(Bitbake rev: 462c9a2b368a1720da276310b1d5d0423b7cefea)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
fb69936b63 bitbake: fetch2: allow fetchers to forward the donestamp management
This commit is necessary to introduce proxy fetchers and do not modify
the behavior of existing fetchers.

This commit allows fetchers to forwards the "verify_donestamp" and
"update_stamp" functions to a proxy fetcher.

(Bitbake rev: f7612c0704b4252bba5157ce9a94d8888c6d0760)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
73912553c7 bitbake: fetch2: add more hash functions for checksum verification
This commit enables the "sha1", "sha384" and "sha512" hash functions in
the supported checksum list. This allows to use more SRC_URI checksums
functions for a url:

  SRC_URI[sha1sum] = "..."
  SRC_URI[sha384sum] = "..."
  SRC_URI[sha512sum] = "..."

The npm fetcher needs this to support subresource integrity:
  https://www.w3.org/TR/SRI/

(Bitbake rev: cd80a646aa841b71e68282bb8d11194abb5df0e4)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
d6bd2c1a4b bitbake: fetch2: refactor checksum verification
This commit refactors the way checksums are verified to be more generic.

The support of new hash functions is now limited to the update of the
CHECKSUM_LIST variable.

(Bitbake rev: debd9eeaf5638755d8956b2d65b904fe02826966)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
bd184ea6ff bitbake: utils: add is_semver function
This function checks if a string is a semantic version:
    https://semver.org/spec/v2.0.0.html

The npm fetcher needs this function to validate its version parameter.

(Bitbake rev: 61ac4e825fa7afbb76282030586abc9ee4ac215c)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Jean-Marie LEMETAYER
bdcd68f092 bitbake: utils: add sha384_file and sha512_file functions
The npm fetcher needs these functions to support the subresource
integrity: https://www.w3.org/TR/SRI/

(Bitbake rev: 80e2216e2b41cb6170292009064864449bc48bbe)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Richard Purdie
820a9b52f2 kbd: Fix build reproducibility issue
Our CFLAGS were being lost which was breaking reproducibile builds due to
losee of the debug prefix remapping flags. Fix this.

(From OE-Core rev: 037bef5c7dfe82642d19f07b38f6ccc783958e41)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Richard Purdie
b1fe4aab8b distrodata/maintainers: Add PARSE_ALL_RECIPES flag to fix test issues
Currently the test depends on which DISTRO_FEATURES and targets are selected.
Similar to SOURCE_MIRROR_FETCH, add PARSE_ALL_RECIPES to allow the test to see
a much wider range of them. This avoids issues added by the new ucontext musl
specific recipe and allows the current whitelist to be cleared out a bit (more
cleanup can follow).

(From OE-Core rev: c139e058bb2df48c79784cf3fd701e51bbc68427)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Richard Purdie
f45f769edb l3afpad: Add missing mime-xdg inherit
Fixes:
WARNING: l3afpad-0.8.18.1.11+gitAUTOINC+3cdccdc950-r0 do_package_qa: QA Issue:
package contains desktop file with key 'MimeType' but does not inhert mime-xdg:
l3afpad path 'XXX/packages-split/l3afpad/usr/share/applications/l3afpad.desktop' [mime-xdg]

(From OE-Core rev: b9d8eb6a1bafd5f7451e1098e2bf82a344c00747)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Richard Purdie
899d5579f6 native/cross/nativesdk: Drop obsolete do_populate_sysroot[stamp-extra-info]
With recipe specific sysroot, these settings do nothing. Drop
the obsolete code.

(From OE-Core rev: 6269f1935f5fd2d9397045566f2e0e4fc0df85cb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Khem Raj
57cee941e7 go: Disable PIE on RISCV
Its not supported yet

(From OE-Core rev: d46a43c6bf4131f2bf7224931664e49aca46bce7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:10 +00:00
Khem Raj
47e4badee4 Disable CGO on riscv64
Its not supported yet

(From OE-Core rev: ecec793f36545cab9c14a64b267b1d4f694d0323)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
649d082b4f go-dep: Fix bolt for riscv64
(From OE-Core rev: b2d1d944398add45c20caa4ad075825c73086fc4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
40bfcd11ad go.bbclass: Disable PIE on riscv
Its not _yet_ supported for riscv

(From OE-Core rev: aeb38e003dc5e11008e301a584e93351745ef6e7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
7a9bb69f08 riscv32: Bump oldest kernel to 5.4
rv32 port has bumped its minimum kernel requirement to 5.4
as the userspace ABI is still in flux until glibc port is not
upstreamed.

(From OE-Core rev: 1a7287369e554159914cd9a40c2e023c167fd82a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
7c6d2f093b gettext: Drop overloadable attibute for getcwd declaration
(From OE-Core rev: d922ccdb79a386c2ea6004520d76277bc8867fcb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
5b5b17549e glibc: Drop fortify refactoring patch
This helps clang to do a better job with fortify on but it is better
suited for clang layer

(From OE-Core rev: c4ea8d76db37f21c034d610bfe4e53596e662bb8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
81437a813f glibc: Update to final 2.31 release
Drop ppc 8xx clear cache optimization, which we have been carrying
through eglibc days, it has been redone in glibc now

(From OE-Core rev: 5c48e655cbd9a45d43c37602db8e09e2e91d2722)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
176d1c0169 Musl: Update to latest master
Detailed changelog [1]

https://git.musl-libc.org/cgit/musl/log/?qt=range&q=70d80609558153a996833392999c69cdb74e1119..91e662d1d941215eb024787db5e910dbfb5b169f

(From OE-Core rev: 90da58dd295abef1bdc343916906f10c85eaf12f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
b7e6a763f6 perf: Pass LDSHARED and CCLD via EXTRA_OEMAKE
python code underneath is smart and pokes at python installation in
sysroot for compile environment, the overrides from EXTRA_OEMAKE are
ofcourse preferred but it falls back to python3's distutils/sysconfig
for rest of them, and it does use CCLD and LDSHARED for linking, when we
use clang to compile python3 then it encodes these variables to be clang
however, when building perf we inherit kernel which forces gcc to be
used for compiling perf, which then mixes both compilers due to CCLD and
LDSHARED demands. Therefore override CCLD and LDSHARED in make
environment helps python/distutils to use right linker

(From OE-Core rev: f9259da409c2aa92deb71aef0da2405c8d836615)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
614f764707 ruby: Remove __has_include and __has_include_next from preprocessed header file
one of the build steps ruby has is that it generated rb_mjit_header.h
during configure using gcc preprocessor using -dD which emits built-in
defines as well, problem happens when this header is later included in
subsequent compiles, where compiler errors out stating that an existing
internal define is redefined

| /tmp/20200123-2021083-2c601q.h:13849:9: error: "__has_include" cannot be used as a macro name
| 13849 | #define __has_include __has_include
|       |         ^~~~~~~~~~~~~
| compilation terminated due to -Wfatal-errors.

Since compiler already will take care of it internally we can edit it
out from this header file

(From OE-Core rev: b4f0df9a0e998af746bcd84cb81ea4ba0107f989)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
d52913fe19 nss: Pass NSS_USE_ARM_HW_CRYPTO as define in CFLAGS
Use NSS_USE_ARM_HW_CRYPTO to detect USE_ARM_GCM, since there are
dependent, without this we control the crypto code function inclusion in
build but do not control the call sites, which can result in undefined
symbols e.g.

Linux_SINGLE_SHLIB/gcm.o: in function `gcmHash_InitContext':
/usr/src/debug/nss/3.49.1-r0/nss-3.49.1/nss/lib/freebl/gcm.c:112: undefined reference to `gcm_HashInit_hw'

(From OE-Core rev: 4f8f2fd72fee6cf5aedbb679b2c29b88f98a5e11)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Khem Raj
403b5e4b53 libucontext: Add recipe
Help musl based systems provide ucontext APIs, these APIs are used in
some common applications e.g. chromium browser

(From OE-Core rev: 51c329d2d3fbefd5483bb78f471f4c222ad061c1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Alexander Kanavin
71d47de3b7 elfutils: additional ptest fixes
This should address ARM64 specific failures in particular.

eu-objdump is now installed on all architectures;
ptests fail in its absence and pass when it is present, so it's
useful at least in some scenarios in non-x86 architectures and
fails gracefully otherwise.

The original decision to exclude it was here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5283

(From OE-Core rev: 3a3b20df28f6ace6267b68c34faeef3da4d7ef8a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Alexander Kanavin
fa7ca65e8b mdadm: correctly set up testing location for ptests
1. Do not clutter /, create a special-purpose dir
2. Clean up the dir after tests are done (if this is not
performed, disk will overflow later in ptesting).
3. Fix up more locations in ptests to use the dir.

Upstream default /var/tmp is not suitable as it is not
big enough (mdadm needs about 500 Mb)

(From OE-Core rev: cd4fc516ce0f8e4c5cadb7a700fe29643ed9128d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Alexander Kanavin
4821e629ef meson: update 0.52.1 -> 0.53.0
Unset LD, and do not set ld in cross file from LD as
new version of meson passes that value directly
to -fuse-ld=... which requires one of lld, bfd, gold.

(From OE-Core rev: e0e30637a139feb744ca284aa63d47efefc5cb5d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
22dd46cc34 oeqa/selftest/devtool: add npm recipe build test
This commit adds a devtool build test for npm recipe:

 - devtool.DevtoolAddTests.test_devtool_add_npm

(From OE-Core rev: af299817c2fe9fa504762c54bd0593f3163399fb)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
44b2ab8d5e oeqa/selftest/recipetool: add npm recipe creation test
This commit adds a recipetool creation test for npm recipe:

 - recipetool.RecipetoolTests.test_recipetool_create_npm

(From OE-Core rev: 61cabc2ccaa6a972b799d19fda8964926cc7ecec)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
4bb2d97e7f recipetool/create: npm: remove the 'noverify' url parameter
This commit removes the 'noverify' parameter which was added to the url
to fix warnings with the shrinkwrap / lockdown file generation. This is
not needed anymore with the new npm fetcher.

(From OE-Core rev: 401a9818c633373854d3c7dec032b9f455f2b2b4)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
1f3b0e2f89 devtool/standard: npm: update the append file
When creating a recipe using devtool, a workspace is created to store
the new recipe, the recipe source and some append files. These append
files are used by devtool to build the recipe using externalsrc (to use
the source which are in the workspace). They can also have some
additional actions according to the class of the recipe.

This commit updates the append file for the npm recipes. The
devtool / externalsrc files are removed in the npm package directory
instead of the install directory.

(From OE-Core rev: a213a76e56e9bc215a61399ae35a3602863f5850)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
3b0640c993 lib/oe/package: remove unneeded npm_split_package_dirs function
The npm_split_package_dirs function was used by the recipetool when
creating npm recipes. This is not the case anymore.

(From OE-Core rev: 6cd834737eaa42592e83300099c152e2cfef568c)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
cfa5544005 recipetool/create_npm: handle the licenses of the dependencies
As usual the 'LICENSE' and the 'LIC_FILES_CHKSUM' values reflects all
the license files discovered in the source tree (including the
dependencies).

For npm recipes the 'LIC_FILES_CHKSUM' value contains also the status of
the 'package.json' file of every packages as it contains license
informations.

Finally each package has a separate 'LICENSE_${PN}-package-name' value
which describes its license.

(From OE-Core rev: 9a70d4996c84b277f423eda5aac4acbe344599f4)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
6fd9cebc98 recipetool/create_npm: refactor the npm recipe creation handler
This commit refactors the npm recipe creation handler to use the new npm
behavior. The process is kept as simple as possible and only generates
the shrinkwrap file.

To avoid naming issues the recipe name is now extracted from the npm
package name and not directly mapped.

(From OE-Core rev: 1deccb0f0c204cd02fb8606f180d8a13df9f31db)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
3a8a675825 devtool: npm: rename npm command line options
This commit renames the '--fetch-dev' option into '--npm-dev' as it is a
npm only option.

(From OE-Core rev: 2b75cc848ceebee4067788a621299bfd5fb62231)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
4662963b2c classes/npm: force to rebuild the prebuild addons
This commit forces to rebuild the prebuild addons which are using
node-gyp-build.

  https://www.npmjs.com/package/node-gyp-build

(From OE-Core rev: dc4dda4d459ef66246cb7fb6f7d667c982707544)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
fc516a65b3 classes/npm: use the native python
When building addons, the node-gyp build tool is looking for python. It
is available in the native directory but not directly in the PATH.

This commit configures npm to use the native python executable.

(From OE-Core rev: 946fd69cba6f60c531ff34091cda3b7fee8ee594)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
ba5d030b62 classes/npm: use the local node headers
When building addons, the node headers are needed to be able to compile
properly. Usually they are downloaded by npm but network access in the
do_compile task are unauthorized. Hopefully the local node headers are
available in the native sysroot so lets use them.

(From OE-Core rev: e4c111dacc808d8c7883f3a36dd5a9f65e7a44cc)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
8f39026f1a classes/npm: restrict the build to be offline
After the do_fetch task, every other tasks must not access the network.
In order to ensure this point every npm command must use the offline
configuration. In addition setting an invalid proxy is used as a safety.

(From OE-Core rev: 1133f3ab485031df6e107f826b7398e5133f9c4d)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Jean-Marie LEMETAYER
de39f14d24 classes/npm: refactor the npm class
This commit splits the npm build in three steps:

1. With the new npmsw fetcher, the sources and dependencies of the
   package have been fetched and unpacked. As sources can also be
   patched, a local cache must be configured to use these modified
   sources.

2. Next, the installation process is run using the local cache only.
   Some packages may need to be compiled.

3. The final installation filters the previously installed files to
   avoid unnecessary files.

This new version also fixes multiple issues related to npm dependencies
badly handled: package names, scope packages, installation directories

(From OE-Core rev: fb2252ee0777c6d26dea94c7588c323a6b97e961)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Daisuke Yamane
97c882303e u-boot: Move B from u-boot.inc to u-boot-common.inc
Use the same value of B between u-boot and u-boot-tools.
This patch also enable the out-of-tree builds of u-boot-tools actually.

(From OE-Core rev: 26023b6b0f897842fd98b3e10a8acd5b3ad8f418)

Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Daisuke Yamane
dd2f172fe1 u-boot-tools: Add capability of building from out-of-tree
This patch also helps to build with EXTERNALSRC.

(From OE-Core rev: 8bd7a19b0177cc842d0fabfb9a602208c0617d9e)

Signed-off-by: Daisuke Yamane <yamane07ynct@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:09 +00:00
Luca Ceresoli
e223f7cbb1 busybox: udhcpc: fix 'ip route add' with multiple interfaces on the same network
The udhcpc script fails to properly set a default route when:

 - 'ip' is present ($have_bin_ip -eq 1)
 - there are 2 or more interfaces connected to the same network
   (e.g. ethernet + wifi on the same home LAN / same DHCP server)

In this case, when the first interface gets an address from DHCP
(e.g. eth0), a default route is set correctly. When the second interface
(e.g. wlan0) gets its address, 'ip route add' without 'dev $interface' sets
the route on the other interface. The result looks like:

  # ip route
  default via 192.168.1.1 dev eth0  metric 5
  default via 192.168.1.1 dev eth0  metric 10          # wrong dev here
  192.168.1.0/24 dev eth0 scope link  src 192.168.1.20
  192.168.1.0/24 dev wlan0 scope link  src 192.168.1.30
  #

The situation might go unnoticed until eth0 is disconnected, because only
wlan0 is present but there is no route through wlan0.

Fix by explicitly passing "dev $interface" to 'ip route add'. Note that all
other 'ip' invocations already have "dev $interface" passed.

(From OE-Core rev: bb526eee429f25b85372f41e4d6d2865bcc39173)

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Mingde (Matthew) Zeng
1e709614b5 kbd: make libkbdfile-test08 ptest work for multilib
This patch fixes kbd ptest libkbdfile-test08 failure in 64-bit images.

```sh
root@intel-x86-64:/usr/lib64/kbd/ptest# ./run-ptest
make: Entering directory '/usr/lib64/kbd/ptest/tests'
make[1]: Entering directory '/usr/lib64/kbd/ptest/tests'
PASS: libkbdfile-test01
PASS: libkbdfile-test02
PASS: libkbdfile-test03
PASS: libkbdfile-test04
PASS: libkbdfile-test05
PASS: libkbdfile-test06
PASS: libkbdfile-test07
FAIL: libkbdfile-test08
PASS: libkbdfile-test09
...
```

`DATADIR` and `ABS_DATADIR` are compile flags defined in
./kbd/tests/Makefile.am. `DATADIR` is the relative directory of
kbd, i.e `./kbd/ptest/tests` whereas `ABS_DATADIR` is the full
directory path, i.e `/usr/lib/kbd/ptest/tests`. The latter has a
problem when building ptests for a 64-bit image, because the tests
folder is located at `/usr/lib64/kbd/ptest/tests` instead.

Therefore `ABS_DATADIR` is changed to `DATADIR`, also consistent with
what *every other* kbd test is doing.

The test searches DATADIR recursively for a file named `test0.map`,
but it finds the wrong file at
    `/findfile/test_0/keymaps/test0.map`,
while it actually needs
    `/findfile/test_0/keymaps/i386/qwerty/test0.map`.

Thus appending `/i386` to `dirpath` so that `libkbdfile-test08.c`
    finds the right test file.

(From OE-Core rev: bdcda2c4ff3c96f686b8bd30cd17361ff3722a0f)

Signed-off-by: Matthew Zeng<Matthew.Zeng@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
a708aa347d libx11: squash whitespace in generated files
The locale data in the recipe is generated using cpp, which results in
differing amounts of whitespace depending on what compiler is used.
This means that the files may differ in just whitespace, which is
sufficient for RPM's multilib code to consider them different and not
allow lib32-libx11-locale and lib64-libx11-locale to be installed at the
same time.

[ YOCTO #13647 ]

(From OE-Core rev: 6768d0d7988294769a41c7ba40f29874366da00f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
3f0f75fe03 shared-mime-info: actually depends on itstool-native
shared-mime-info needs itstool-native, not itstool.  Fixing this removes itstool
from the rdepends of shared-mime-info-dev.

(From OE-Core rev: c3cafc69340d5bc4ec6840e71d63f54283c44960)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
29343ac7b2 connman: add PACKAGECONFIG for the commandline client
The client depends on readline which is GPLv3.  Add a PACKAGECONFIG so users who
don't need the client and are against GPLv3 can disable it.

Also remove the explicit installation of the client in do_install_append, as the
Makefile installs it now.

(From OE-Core rev: 84b082be0a879153d9af8e093b6823d49c2621b8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
eaec1c422b python: remove last remnants of python2
(From OE-Core rev: 567eae62574e8a3a9f27ab19e5ff2d845046d336)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
5a723803f4 python3-dbus: upgrade 1.2.14 -> 1.2.16
(From OE-Core rev: 1fcdab33aff0d786c4d74420a4021b4a2db44eb4)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
92fdaf1619 libjpeg-turbo: upgrade 2.0.3 -> 2.0.4
(From OE-Core rev: 57d3dcf7d9563c8d3572daa03f6acf76508c1942)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
a4fd8680fe grep: upgrade 3.3 -> 3.4
(From OE-Core rev: 4cf6ee13822f071e52c38658e26d4ffa0d37e4dc)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
6f902721c4 gnupg: upgrade 2.2.17 -> 2.2.19
(From OE-Core rev: 287de363f80a2f9919b942a1349f58575e8b91d8)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
de1fac5dd7 file: upgrade 5.37 -> 5.38
CVE-2019-18218.patch
Removed since it is included in 5.38.

(From OE-Core rev: 2ac297f8906354bf3a1578b5e78df040b4712b81)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Wang Mingyu
54c5b375d1 ethtool: upgrade 5.3 -> 5.4
(From OE-Core rev: 2c51cb945fd3f5874c92d09cc134ed517fa7c435)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Anuj Mittal
5639c150c0 libva: upgrade 2.6.0 -> 2.6.1
Also switch back to using the released tarballs.

(From OE-Core rev: 5604b4bab738317a490b0a2628058b78e41a76fa)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Peter Kjellerstedt
1444b8a2ae sstate.bbclass: Only show sstate mirror progress bar for >= 100 objects
With the introduction of the hash equivalence server, the progress bar
for "Checking sstate mirror object availability" is shown
repeatedly. Most of the times the number of objects scanned is very
low and the progress bar completes almost immediately. To avoid all
these unnecessary progress bars, set the minimum number of objects to
100 before the progress bar is shown.

(From OE-Core rev: 114340e8d393cf60d0a596cb0800cf1b7fd198df)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Peter Kjellerstedt
58a6955820 cairo: Add a PACKAGECONFIG "trace" to disable cairo-trace
cairo-trace is the only part of cairo that is licensed as GPL-3.0, and
is normally packaged separately in cairo-perf-utils.

The "trace" PACKAGECONFIG is enabled by default for backwards
compatibility.

(From OE-Core rev: e0c4535fb3c347e19d3dada07a97545bfd48239c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Chen Qi
5f3bfc5b0f enchant2: fix qa issue about staticdev
staticdev package defaults to include ${libdir}/${BPN}/*.a, but
for enchant2, the file locates under ${libdir}/echant-2/. So fix
it to avoid the following QA issue.

  QA Issue: non -staticdev package contains static .a library: enchant2 path '/.../usr/lib/enchant-2/enchant_aspell.a'

(From OE-Core rev: b92a74d1e0a66dfb87e1e2626df232174151867e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Alex Kiernan
c6b06adb7f manpages.bbclass: Fix rootfs host corruption
When running mandb we end up with files owned by the build user, correct
this. Also pick up non-default locales and relocate their index.db files
to /var/cache.

(From OE-Core rev: 844781c5b260a52e8c06b872c74a13a22689bdb9)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
465efec576 systemd: add missing Upstream-Status
(From OE-Core rev: 9e38671e3aec732584b51665a258e2d13f7c8457)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
c7d82d1d1a xorg-driver: don't enforce autotools
(From OE-Core rev: a2762b06eb736651b5feaa7626fb3c20c0af7498)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
dba77abb7e sysstat: don't version the documentation folder
(From OE-Core rev: e501f13fabb89fbb967ef44d48acb4b64b2f00d2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
c15eca7777 sysstat: remove default values
(From OE-Core rev: d0c50bf0f3a264cc424ffbdeff94b2f556095483)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
c83ad9949b update_font_cache: fix ownership of .uuid files too
(From OE-Core rev: cc2b5dfbfe353425d0b463a4a01589b64f2f5e60)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
6f5e5f50cc fontcache: fix indentation
(From OE-Core rev: be65d542a30e68479602d6e2fe5c993e77a70dd3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ming Liu
a315a01826 systemd: fix a test-seccomp build issue
Fix a following compiling issue when seccomp is enabled by
PACKAGECONFIG:
| ../test-seccomp.c: In function 'test_protect_sysctl':
| ../test-seccomp.c:307:5: error: "__NR__sysctl" is not defined, evaluates to 0 [-Werror=undef]
|  307 | #if __NR__sysctl > 0
|      |     ^~~~~~~~~~~~

Reference:
https://github.com/systemd/systemd/pull/14032

(From OE-Core rev: e0e7a6a8b4041d858e6a5f0e7d32f5df38ac53c5)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Hongxu Jia
e9e1aa199b xmlto: set CLEANBROKEN = "1"
While rebuilding xmlto or xmlto-native, `make clean' in do_configure
will remove man/man1/xmlif.1 which triger failure in do_compile

$ bitbake xmlto-native
$ bitbake xmlto-native -cconfigure -f
$ bitbake xmlto-native -ccompile -f
...
|FORMAT_DIR=./format /bin/bash ./xmlto -o man/man1 man doc/xmlif.xml
|xmlto: tmp-glibc/work/x86_64-linux/xmlto-native/0.0.28-r0/xmlto-0.0.28/
doc/xmlif.xml does not validate (status 3)
|xmlto: Fix document syntax or use --skip-validation option
I/O error : Attempt to load network entity http://www.oasis-open.org/
docbook/xml/4.2/docbookx.dtd
...

(From OE-Core rev: 08a77b751a07389cf97342b210472be8ebcd8c9d)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
5fd2619c6e meson.bbclass: warn if cross property defaults are used
The Meson idiom for checks which require running code on the target
(which isn't possible in cross compilation) is to use a cross property,
which the user can set in the cross file:

if cc_can_run
  rres = cc.run(test_foo_code)
  have_foo = rres.compiled() and rres.returncode() == 0
else
  have_foo = meson.get_cross_property('have_foo', false)
endif

The default value may be overly conservative so we should review every
property and explicitly set them as apppropriate.  oe-core 669ddaf added
a log message when the default value is used, so look for this message
and emit a warning that the user will see.

(From OE-Core rev: 91b74ee03ada5d4517a5d8ef3895cc60f87780aa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Robert Joslyn
957445e7c5 ell: Update to 0.27
- Fix issue with data overflow and multiple PEMs.
- Fix issue with handling DHCP lease expiration.

(From OE-Core rev: ed223207e0b6e25c18ce90d8e6fb1e5713d4cd0a)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Fred Baksik
03b5004f19 mesa: Allow building the virgl driver to be configurable
If a .bbappend file sets GALLIUMDRIVERS then virgl is always being
appended to the list of drivers to be built. Make virgl an optional
component.

(From OE-Core rev: 55256f06173de030a8f5181d72ac31d398edb398)

Signed-off-by: Fred Baksik <fred.baksik@mrcy.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
Ross Burton
e03e766fd8 acpica: upgrade 20191018 -> 20191213
(From OE-Core rev: 109577ce430499e89d235f43bd7c50c39c2e356e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-27 16:48:08 +00:00
678 changed files with 14775 additions and 31728 deletions

5
MEMORIAM Normal file
View File

@@ -0,0 +1,5 @@
Some project contributors who are sadly no longer with us:
Greg Gilbert (treke) - Ahead of his time with licensing
Thomas Wood (thos) - Creator of the original sato
Scott Rifenbark (scottrif) - Our long standing techwriter whose words live on

View File

@@ -113,7 +113,7 @@
</para>
<para>
Prior to parsing configuration files, Bitbake looks
Prior to parsing configuration files, BitBake looks
at certain variables, including:
<itemizedlist>
<listitem><para>
@@ -339,7 +339,7 @@
<link linkend='var-bb-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
and then checking if the checksum matches.
If that checksum matches what is in the cache and the recipe
and class files have not changed, Bitbake is able to use
and class files have not changed, BitBake is able to use
the cache.
BitBake then reloads the cached information about the recipe
instead of reparsing it from scratch.
@@ -429,7 +429,7 @@
The default
<link linkend='var-bb-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
is the provider with the same name as the target.
Bitbake iterates through each target it needs to build and
BitBake iterates through each target it needs to build and
resolves them and their dependencies using this process.
</para>
@@ -821,7 +821,7 @@
<para>
It is worth noting that BitBake's "-S" option lets you
debug Bitbake's processing of signatures.
debug BitBake's processing of signatures.
The options passed to -S allow different debugging modes
to be used, either using BitBake's own debug functions
or possibly those defined in the metadata/signature handler

View File

@@ -139,7 +139,7 @@
</para>
<para>
Since network accesses are slow, Bitbake maintains a
Since network accesses are slow, BitBake maintains a
cache of files downloaded from the network.
Any source files that are not local (i.e.
downloaded from the Internet) are placed into the download

View File

@@ -166,7 +166,7 @@
Having a project directory is a good way to isolate your
project.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
<listitem><para><emphasis>Run BitBake:</emphasis>
At this point, you have nothing but a project directory.
Run the <filename>bitbake</filename> command and see what
it does:
@@ -197,7 +197,7 @@
<link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
variable is what tells BitBake where to look for those files.
<filename>BBPATH</filename> is not set and you need to set it.
Without <filename>BBPATH</filename>, Bitbake cannot
Without <filename>BBPATH</filename>, BitBake cannot
find any configuration files (<filename>.conf</filename>)
or recipe files (<filename>.bb</filename>) at all.
BitBake also cannot find the <filename>bitbake.conf</filename>
@@ -225,7 +225,7 @@
as the shell would.
</note>
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
<listitem><para><emphasis>Run BitBake:</emphasis>
Now that you have <filename>BBPATH</filename> defined, run
the <filename>bitbake</filename> command again:
<literallayout class='monospaced'>
@@ -313,7 +313,7 @@
example, click on the links to take you to the definitions in
the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
<listitem><para><emphasis>Run BitBake:</emphasis>
After making sure that the <filename>conf/bitbake.conf</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
@@ -364,7 +364,7 @@
more depending on which build environments BitBake is
supporting.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
<listitem><para><emphasis>Run BitBake:</emphasis>
After making sure that the <filename>classes/base.bbclass</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
@@ -434,7 +434,7 @@
For more information on these variables, follow the links
to the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
<listitem><para><emphasis>Run BitBake With a Target:</emphasis>
Now that a BitBake target exists, run the command and provide
that target:
<literallayout class='monospaced'>
@@ -468,7 +468,7 @@
You need to provide your own information for
<filename>you</filename> in the file.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
<listitem><para><emphasis>Run BitBake With a Target:</emphasis>
Now that you have supplied the <filename>bblayers.conf</filename>
file, run the <filename>bitbake</filename> command and provide
the target:

View File

@@ -127,7 +127,7 @@
(e.g. Cygwin, the BSDs, and so forth).
</para></listitem>
<listitem><para>
Be self contained, rather than tightly
Be self-contained, rather than tightly
integrated into the build machine's root
filesystem.
</para></listitem>
@@ -221,6 +221,8 @@
them</para></listitem>
<listitem><para>How to configure and compile the
source code</para></listitem>
<listitem><para>How to assemble the generated artifacts into
one or more installable packages</para></listitem>
<listitem><para>Where on the target machine to install the
package or packages created</para></listitem>
</itemizedlist>
@@ -229,7 +231,7 @@
<para>
Within the context of BitBake, or any project utilizing BitBake
as its build system, files with the <filename>.bb</filename>
extension are referred to as recipes.
extension are referred to as <firstterm>recipes</firstterm>.
<note>
The term "package" is also commonly used to describe recipes.
However, since the same word is used to describe packaged
@@ -252,9 +254,9 @@
various configuration variables that govern the project's build
process.
These files fall into several areas that define
machine configuration options, distribution configuration
options, compiler tuning options, general common
configuration options, and user configuration options.
machine configuration, distribution configuration,
possible compiler tuning, general common
configuration, and user configuration.
The main configuration file is the sample
<filename>bitbake.conf</filename> file, which is
located within the BitBake source tree
@@ -292,7 +294,7 @@
Layers allow you to isolate different types of
customizations from each other.
While you might find it tempting to keep everything in one layer
when working on a single project, the more modular you organize
when working on a single project, the more modular
your metadata, the easier it is to cope with future changes.
</para>
@@ -300,8 +302,8 @@
To illustrate how you can use layers to keep things modular,
consider customizations you might make to support a specific target machine.
These types of customizations typically reside in a special layer,
rather than a general layer, called a Board Support Package (BSP)
Layer.
rather than a general layer, called a <firstterm>Board Support Package</firstterm> (BSP)
layer.
Furthermore, the machine customizations should be isolated from
recipes and metadata that support a new GUI environment, for
example.
@@ -448,7 +450,7 @@
<listitem><para><emphasis>Using the BitBake that Comes With Your
Build Checkout:</emphasis>
A final possibility for getting a copy of BitBake is that it
already comes with your checkout of a larger Bitbake-based build
already comes with your checkout of a larger BitBake-based build
system, such as Poky.
Rather than manually checking out individual layers and
gluing them together yourself, you can check

View File

@@ -5,7 +5,7 @@
<title>Syntax and Operators</title>
<para>
Bitbake files have their own syntax.
BitBake files have their own syntax.
The syntax has similarities to several
other languages but also has some unique features.
This section describes the available syntax and operators
@@ -1414,7 +1414,7 @@
</section>
<section id='bitbake-style-python-functions-versus-python-functions'>
<title>Bitbake-Style Python Functions Versus Python Functions</title>
<title>BitBake-Style Python Functions Versus Python Functions</title>
<para>
Following are some important differences between
@@ -1864,7 +1864,7 @@
accessing your <filename>$HOME/.ccache</filename>
directory.
The following command "whitelists" the environment variable
<filename>CCACHE_DIR</filename> causing BitBack to allow that
<filename>CCACHE_DIR</filename> causing BitBake to allow that
variable into the datastore:
<literallayout class='monospaced'>
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR"
@@ -1895,7 +1895,7 @@
<para>
Sometimes, it is useful to be able to obtain information
from the original execution environment.
Bitbake saves a copy of the original environment into
BitBake saves a copy of the original environment into
a special variable named
<link linkend='var-bb-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>.
</para>
@@ -2616,7 +2616,7 @@
<para>
It is often necessary to access variables in the
BitBake datastore using Python functions.
The Bitbake datastore has an API that allows you this
The BitBake datastore has an API that allows you this
access.
Here is a list of available operations:
</para>

View File

@@ -1780,7 +1780,7 @@
</para>
<para>
Bitbake normally issues a warning when building two
BitBake normally issues a warning when building two
different recipes where each provides the same output.
This scenario is usually something the user does not
want.

View File

@@ -1784,7 +1784,7 @@ class CookerCollectFiles(object):
# When constructing an older style single regex, it's possible for BBMASK
# to end up beginning with '|', which matches and masks _everything_.
if mask.startswith("|"):
collectlog.warn("BBMASK contains regular expression beginning with '|', fixing: %s" % mask)
collectlog.warning("BBMASK contains regular expression beginning with '|', fixing: %s" % mask)
mask = mask[1:]
try:
re.compile(mask)
@@ -1940,7 +1940,8 @@ class Parser(multiprocessing.Process):
except IndexError:
break
result = self.parse(*job)
# Clear the siggen cache after parsing to control memory usage, its huge
bb.parse.siggen.postparsing_clean_cache()
try:
self.results.put(result, timeout=0.25)
except queue.Full:
@@ -1948,6 +1949,7 @@ class Parser(multiprocessing.Process):
def parse(self, filename, appends):
try:
origfilter = bb.event.LogHandler.filter
# Record the filename we're parsing into any events generated
def parse_filter(self, record):
record.taskpid = bb.event.worker_pid
@@ -1970,6 +1972,8 @@ class Parser(multiprocessing.Process):
# a SystemExit event for example.
except BaseException as exc:
return True, ParsingFailure(exc, filename)
finally:
bb.event.LogHandler.filter = origfilter
class CookerParser(object):
def __init__(self, cooker, filelist, masked):

View File

@@ -607,6 +607,10 @@ class DataSmart(MutableMapping):
"""
Rename the variable key to newkey
"""
if key == newkey:
bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
return
if '_remote_data' in self.dict:
connector = self.dict["_remote_data"]["_content"]
res = connector.renameVar(key, newkey)

View File

@@ -508,7 +508,7 @@ class NoProvider(Event):
extra = ''
if not self._reasons:
if self._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(self._close_matches)
extra = ". Close matches:\n %s" % '\n '.join(sorted(set(self._close_matches)))
if self._dependees:
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra)

View File

@@ -33,6 +33,8 @@ _checksum_cache = bb.checksum.FileChecksumCache()
logger = logging.getLogger("BitBake.Fetcher")
CHECKSUM_LIST = [ "md5", "sha256", "sha1", "sha384", "sha512" ]
class BBFetchException(Exception):
"""Class all fetch exceptions inherit from"""
def __init__(self, message):
@@ -131,10 +133,9 @@ class NonLocalMethod(Exception):
Exception.__init__(self)
class MissingChecksumEvent(bb.event.Event):
def __init__(self, url, md5sum, sha256sum):
def __init__(self, url, **checksums):
self.url = url
self.checksums = {'md5sum': md5sum,
'sha256sum': sha256sum}
self.checksums = checksums
bb.event.Event.__init__(self)
@@ -484,17 +485,27 @@ def fetcher_init(d):
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
# fetcher_init is called multiple times, so make sure we only save the
# revs the first time it is called.
if not bb.fetch2.saved_headrevs:
bb.fetch2.saved_headrevs = dict(revs)
except:
pass
# When to drop SCM head revisions controlled by user policy
srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
# We still need to remove keys that are marked with "dontcache".
for key in list(revs.keys()):
if key.startswith("dontcache-"):
logger.debug(1, "Removing SRCREV key: %s" % key)
revs.pop(key)
elif srcrev_policy == "clear":
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
try:
bb.fetch2.saved_headrevs = revs.items()
except:
pass
revs.clear()
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -513,22 +524,12 @@ def fetcher_parse_done():
def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
Compare the revisions in the persistent cache with the saved values from
when bitbake was started and return true if they have changed.
"""
data = bb.persist_data.persist('BB_URI_HEADREVS', d).items()
data2 = bb.fetch2.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
logger.debug(1, "%s changed", key)
changed = True
return True
else:
logger.debug(2, "%s did not change", key)
return False
headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d))
return headrevs != bb.fetch2.saved_headrevs
def mirror_from_string(data):
mirrors = (data or "").replace('\\n',' ').split()
@@ -552,71 +553,82 @@ def verify_checksum(ud, d, precomputed={}):
downloading. See https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571.
"""
_MD5_KEY = "md5"
_SHA256_KEY = "sha256"
if ud.ignore_checksums or not ud.method.supports_checksum(ud):
return {}
if _MD5_KEY in precomputed:
md5data = precomputed[_MD5_KEY]
else:
md5data = bb.utils.md5_file(ud.localpath)
def compute_checksum_info(checksum_id):
checksum_name = getattr(ud, "%s_name" % checksum_id)
if _SHA256_KEY in precomputed:
sha256data = precomputed[_SHA256_KEY]
else:
sha256data = bb.utils.sha256_file(ud.localpath)
if checksum_id in precomputed:
checksum_data = precomputed[checksum_id]
else:
checksum_data = getattr(bb.utils, "%s_file" % checksum_id)(ud.localpath)
if ud.method.recommends_checksum(ud) and not ud.md5_expected and not ud.sha256_expected:
# If strict checking enabled and neither sum defined, raise error
checksum_expected = getattr(ud, "%s_expected" % checksum_id)
return {
"id": checksum_id,
"name": checksum_name,
"data": checksum_data,
"expected": checksum_expected
}
checksum_infos = []
for checksum_id in CHECKSUM_LIST:
checksum_infos.append(compute_checksum_info(checksum_id))
checksum_dict = {ci["id"] : ci["data"] for ci in checksum_infos}
checksum_event = {"%ssum" % ci["id"] : ci["data"] for ci in checksum_infos}
checksum_lines = ["SRC_URI[%s] = \"%s\"" % (ci["name"], ci["data"]) for ci in checksum_infos]
# If no checksum has been provided
if ud.method.recommends_checksum(ud) and all(ci["expected"] is None for ci in checksum_infos):
messages = []
strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
if strict == "1":
logger.error('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data))
raise NoChecksumError('Missing SRC_URI checksum', ud.url)
bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d)
# If strict checking enabled and neither sum defined, raise error
if strict == "1":
messages.append("No checksum specified for '%s', please add at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.error("\n".join(messages))
raise NoChecksumError("Missing SRC_URI checksum", ud.url)
bb.event.fire(MissingChecksumEvent(ud.url, **checksum_event), d)
if strict == "ignore":
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
return checksum_dict
# Log missing sums so user can more easily add them
logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
logger.warning('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
messages.append("Missing checksum for '%s', consider adding at " \
"least one to the recipe:" % ud.localpath)
messages.extend(checksum_lines)
logger.warning("\n".join(messages))
# We want to alert the user if a checksum is defined in the recipe but
# it does not match.
msg = ""
mismatch = False
if ud.md5_expected and ud.md5_expected != md5data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
mismatch = True;
messages = []
messages.append("Checksum mismatch!")
bad_checksum = None
if ud.sha256_expected and ud.sha256_expected != sha256data:
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
mismatch = True;
for ci in checksum_infos:
if ci["expected"] and ci["expected"] != ci["data"]:
messages.append("File: '%s' has %s checksum %s when %s was " \
"expected" % (ud.localpath, ci["id"], ci["data"], ci["expected"]))
bad_checksum = ci["data"]
if mismatch:
msg = msg + '\nIf this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"\nOtherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
if len(msg):
raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, md5data)
return {
_MD5_KEY: md5data,
_SHA256_KEY: sha256data
}
if bad_checksum:
messages.append("If this change is expected (e.g. you have upgraded " \
"to a new version without updating the checksums) " \
"then you can use these lines within the recipe:")
messages.extend(checksum_lines)
messages.append("Otherwise you should retry the download and/or " \
"check with upstream to determine if the file has " \
"become corrupted or otherwise unexpectedly modified.")
raise ChecksumError("\n".join(messages), ud.url, bad_checksum)
return checksum_dict
def verify_donestamp(ud, d, origud=None):
"""
@@ -722,9 +734,8 @@ def subprocess_setup():
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
def get_autorev(d):
# only not cache src rev in autorev case
if d.getVar('BB_SRCREV_POLICY') != "cache":
d.setVar('BB_DONT_CACHE', '1')
# Do not cache the srcrev in the autorev case
d.setVar('BB_DONT_CACHE', '1')
return "AUTOINC"
def get_srcrev(d, method_name='sortable_revision'):
@@ -1230,24 +1241,26 @@ class FetchData(object):
self.pswd = self.parm["pswd"]
self.setup = False
if "name" in self.parm:
self.md5_name = "%s.md5sum" % self.parm["name"]
self.sha256_name = "%s.sha256sum" % self.parm["name"]
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
if self.md5_name in self.parm:
self.md5_expected = self.parm[self.md5_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.md5_expected = None
else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
self.sha256_expected = None
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
def configure_checksum(checksum_id):
if "name" in self.parm:
checksum_name = "%s.%ssum" % (self.parm["name"], checksum_id)
else:
checksum_name = "%ssum" % checksum_id
setattr(self, "%s_name" % checksum_id, checksum_name)
if checksum_name in self.parm:
checksum_expected = self.parm[checksum_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
checksum_expected = None
else:
checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
setattr(self, "%s_expected" % checksum_id, checksum_expected)
for checksum_id in CHECKSUM_LIST:
configure_checksum(checksum_id)
self.ignore_checksums = False
self.names = self.parm.get("name",'default').split(',')
@@ -1365,6 +1378,18 @@ class FetchMethod(object):
"""
return False
def verify_donestamp(self, ud, d):
"""
Verify the donestamp file
"""
return verify_donestamp(ud, d)
def update_donestamp(self, ud, d):
"""
Update the donestamp file
"""
update_stamp(ud, d)
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
@@ -1539,6 +1564,12 @@ class FetchMethod(object):
"""
return True
def try_mirrors(self, fetch, urldata, d, mirrors, check=False):
"""
Try to use a mirror
"""
return bool(try_mirrors(fetch, d, urldata, mirrors, check))
def checkstatus(self, fetch, urldata, d):
"""
Check the status of a URL
@@ -1567,7 +1598,13 @@ class FetchMethod(object):
return True, str(latest_rev)
def generate_revision_key(self, ud, d, name):
return self._revision_key(ud, d, name)
key = self._revision_key(ud, d, name)
if d.getVar('BB_DONT_CACHE'):
# Mark the key so it can be removed on the next bitbake run even if
# BB_SRCREV_POLICY is "cache".
return "dontcache-%s" % key
else:
return key
def latest_versionstring(self, ud, d):
"""
@@ -1577,6 +1614,16 @@ class FetchMethod(object):
"""
return ('', '')
def done(self, ud, d):
"""
Is the download done ?
"""
if os.path.exists(ud.localpath):
return True
if ud.localpath.find("*") != -1:
return True
return False
class Fetch(object):
def __init__(self, urls, d, cache = True, localonly = False, connection_cache = None):
if localonly and cache:
@@ -1640,7 +1687,7 @@ class Fetch(object):
ud = self.ud[u]
ud.setup_localpath(self.d)
m = ud.method
localpath = ""
done = False
if ud.lockfile:
lf = bb.utils.lockfile(ud.lockfile)
@@ -1648,28 +1695,28 @@ class Fetch(object):
try:
self.d.setVar("BB_NO_NETWORK", network)
if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
localpath = ud.localpath
if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
done = True
elif m.try_premirror(ud, self.d):
logger.debug(1, "Trying PREMIRRORS")
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
localpath = try_mirrors(self, self.d, ud, mirrors, False)
if localpath:
done = m.try_mirrors(self, ud, self.d, mirrors)
if done:
try:
# early checksum verification so that if the checksum of the premirror
# contents mismatch the fetcher can still try upstream and mirrors
update_stamp(ud, self.d)
m.update_donestamp(ud, self.d)
except ChecksumError as e:
logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
logger.debug(1, str(e))
localpath = ""
done = False
if premirroronly:
self.d.setVar("BB_NO_NETWORK", "1")
firsterr = None
verified_stamp = verify_donestamp(ud, self.d)
if not localpath and (not verified_stamp or m.need_update(ud, self.d)):
verified_stamp = m.verify_donestamp(ud, self.d)
if not done and (not verified_stamp or m.need_update(ud, self.d)):
try:
if not trusted_network(self.d, ud.url):
raise UntrustedUrl(ud.url)
@@ -1677,10 +1724,10 @@ class Fetch(object):
m.download(ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(ud, self.d)
localpath = ud.localpath
done = True
# early checksum verify, so that if checksum mismatched,
# fetcher still have chance to fetch from mirror
update_stamp(ud, self.d)
m.update_donestamp(ud, self.d)
except bb.fetch2.NetworkAccess:
raise
@@ -1702,14 +1749,14 @@ class Fetch(object):
m.clean(ud, self.d)
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
localpath = try_mirrors(self, self.d, ud, mirrors)
done = m.try_mirrors(self, ud, self.d, mirrors)
if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
if not done or not m.done(ud, self.d):
if firsterr:
logger.error(str(firsterr))
raise FetchError("Unable to fetch URL from any source.", u)
update_stamp(ud, self.d)
m.update_donestamp(ud, self.d)
except IOError as e:
if e.errno in [errno.ESTALE]:
@@ -1740,14 +1787,14 @@ class Fetch(object):
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
ret = try_mirrors(self, self.d, ud, mirrors, True)
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
if not ret:
# Next try checking from the original uri, u
ret = m.checkstatus(self, ud, self.d)
if not ret:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
ret = try_mirrors(self, self.d, ud, mirrors, True)
ret = m.try_mirrors(self, ud, self.d, mirrors, True)
if not ret:
raise FetchError("URL %s doesn't work" % u, u)
@@ -1852,6 +1899,7 @@ from . import osc
from . import repo
from . import clearcase
from . import npm
from . import npmsw
methods.append(local.Local())
methods.append(wget.Wget())
@@ -1870,3 +1918,4 @@ methods.append(osc.Osc())
methods.append(repo.Repo())
methods.append(clearcase.ClearCase())
methods.append(npm.Npm())
methods.append(npmsw.NpmShrinkWrap())

View File

@@ -1,300 +1,296 @@
# Copyright (C) 2020 Savoir-Faire Linux
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
BitBake 'Fetch' NPM implementation
BitBake 'Fetch' npm implementation
The NPM fetcher is used to retrieve files from the npmjs repository
npm fetcher support the SRC_URI with format of:
SRC_URI = "npm://some.registry.url;OptionA=xxx;OptionB=xxx;..."
Usage in the recipe:
Supported SRC_URI options are:
SRC_URI = "npm://registry.npmjs.org/;name=${PN};version=${PV}"
Suported SRC_URI options are:
- package
The npm package name. This is a mandatory parameter.
- name
- version
- version
The npm package version. This is a mandatory parameter.
npm://registry.npmjs.org/${PN}/-/${PN}-${PV}.tgz would become npm://registry.npmjs.org;name=${PN};version=${PV}
The fetcher all triggers off the existence of ud.localpath. If that exists and has the ".done" stamp, its assumed the fetch is good/done
- downloadfilename
Specifies the filename used when storing the downloaded file.
- destsuffix
Specifies the directory to use to unpack the package (default: npm).
"""
import os
import urllib.request, urllib.parse, urllib.error
import base64
import json
import subprocess
import signal
import os
import re
import shlex
import tempfile
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
from bb.fetch2 import ChecksumError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
from bb.fetch2 import UnpackError
from bb.fetch2 import ParameterError
from bb.fetch2 import Fetch
from bb.fetch2 import FetchError
from bb.fetch2 import FetchMethod
from bb.fetch2 import MissingParameterError
from bb.fetch2 import ParameterError
from bb.fetch2 import URI
from bb.fetch2 import check_network_access
from bb.fetch2 import runfetchcmd
from bb.utils import is_semver
def subprocess_setup():
# Python installs a SIGPIPE handler by default. This is usually not what
# non-Python subprocesses expect.
# SIGPIPE errors are known issues with gzip/bash
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
def npm_package(package):
"""Convert the npm package name to remove unsupported character"""
# Scoped package names (with the @) use the same naming convention
# as the 'npm pack' command.
if package.startswith("@"):
return re.sub("/", "-", package[1:])
return package
def npm_filename(package, version):
"""Get the filename of a npm package"""
return npm_package(package) + "-" + version + ".tgz"
def npm_localfile(package, version):
"""Get the local filename of a npm package"""
return os.path.join("npm2", npm_filename(package, version))
def npm_integrity(integrity):
"""
Get the checksum name and expected value from the subresource integrity
https://www.w3.org/TR/SRI/
"""
algo, value = integrity.split("-", maxsplit=1)
return "%ssum" % algo, base64.b64decode(value).hex()
def npm_unpack(tarball, destdir, d):
"""Unpack a npm tarball"""
bb.utils.mkdirhier(destdir)
cmd = "tar --extract --gzip --file=%s" % shlex.quote(tarball)
cmd += " --no-same-owner"
cmd += " --strip-components=1"
runfetchcmd(cmd, d, workdir=destdir)
class NpmEnvironment(object):
"""
Using a npm config file seems more reliable than using cli arguments.
This class allows to create a controlled environment for npm commands.
"""
def __init__(self, d, configs=None):
self.d = d
self.configs = configs
def run(self, cmd, args=None, configs=None, workdir=None):
"""Run npm command in a controlled environment"""
with tempfile.TemporaryDirectory() as tmpdir:
d = bb.data.createCopy(self.d)
d.setVar("HOME", tmpdir)
cfgfile = os.path.join(tmpdir, "npmrc")
if not workdir:
workdir = tmpdir
def _run(cmd):
cmd = "NPM_CONFIG_USERCONFIG=%s " % cfgfile + cmd
cmd = "NPM_CONFIG_GLOBALCONFIG=%s " % cfgfile + cmd
return runfetchcmd(cmd, d, workdir=workdir)
if self.configs:
for key, value in self.configs:
_run("npm config set %s %s" % (key, shlex.quote(value)))
if configs:
for key, value in configs:
_run("npm config set %s %s" % (key, shlex.quote(value)))
if args:
for key, value in args:
cmd += " --%s=%s" % (key, shlex.quote(value))
return _run(cmd)
class Npm(FetchMethod):
"""Class to fetch urls via 'npm'"""
def init(self, d):
pass
"""Class to fetch a package from a npm registry"""
def supports(self, ud, d):
"""
Check to see if a given url can be fetched with npm
"""
return ud.type in ['npm']
def debug(self, msg):
logger.debug(1, "NpmFetch: %s", msg)
def clean(self, ud, d):
logger.debug(2, "Calling cleanup %s" % ud.pkgname)
bb.utils.remove(ud.localpath, False)
bb.utils.remove(ud.pkgdatadir, True)
bb.utils.remove(ud.fullmirror, False)
"""Check if a given url can be fetched with npm"""
return ud.type in ["npm"]
def urldata_init(self, ud, d):
"""
init NPM specific variable within url data
"""
if 'downloadfilename' in ud.parm:
ud.basename = ud.parm['downloadfilename']
else:
ud.basename = os.path.basename(ud.path)
"""Init npm specific variables within url data"""
ud.package = None
ud.version = None
ud.registry = None
# Get the 'package' parameter
if "package" in ud.parm:
ud.package = ud.parm.get("package")
if not ud.package:
raise MissingParameterError("Parameter 'package' required", ud.url)
# Get the 'version' parameter
if "version" in ud.parm:
ud.version = ud.parm.get("version")
# can't call it ud.name otherwise fetcher base class will start doing sha1stuff
# TODO: find a way to get an sha1/sha256 manifest of pkg & all deps
ud.pkgname = ud.parm.get("name", None)
if not ud.pkgname:
raise ParameterError("NPM fetcher requires a name parameter", ud.url)
ud.version = ud.parm.get("version", None)
if not ud.version:
raise ParameterError("NPM fetcher requires a version parameter", ud.url)
ud.bbnpmmanifest = "%s-%s.deps.json" % (ud.pkgname, ud.version)
ud.bbnpmmanifest = ud.bbnpmmanifest.replace('/', '-')
ud.registry = "http://%s" % (ud.url.replace('npm://', '', 1).split(';'))[0]
prefixdir = "npm/%s" % ud.pkgname
ud.pkgdatadir = d.expand("${DL_DIR}/%s" % prefixdir)
if not os.path.exists(ud.pkgdatadir):
bb.utils.mkdirhier(ud.pkgdatadir)
ud.localpath = d.expand("${DL_DIR}/npm/%s" % ud.bbnpmmanifest)
raise MissingParameterError("Parameter 'version' required", ud.url)
self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -O -t 2 -T 30 -nv --passive-ftp --no-check-certificate "
ud.prefixdir = prefixdir
if not is_semver(ud.version) and not ud.version == "latest":
raise ParameterError("Invalid 'version' parameter", ud.url)
ud.write_tarballs = ((d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0") != "0")
mirrortarball = 'npm_%s-%s.tar.xz' % (ud.pkgname, ud.version)
mirrortarball = mirrortarball.replace('/', '-')
ud.fullmirror = os.path.join(d.getVar("DL_DIR"), mirrortarball)
ud.mirrortarballs = [mirrortarball]
# Extract the 'registry' part of the url
ud.registry = re.sub(r"^npm://", "http://", ud.url.split(";")[0])
# Using the 'downloadfilename' parameter as local filename
# or the npm package name.
if "downloadfilename" in ud.parm:
ud.localfile = d.expand(ud.parm["downloadfilename"])
else:
ud.localfile = npm_localfile(ud.package, ud.version)
# Get the base 'npm' command
ud.basecmd = d.getVar("FETCHCMD_npm") or "npm"
# This fetcher resolves a URI from a npm package name and version and
# then forwards it to a proxy fetcher. A resolve file containing the
# resolved URI is created to avoid unwanted network access (if the file
# already exists). The management of the donestamp file, the lockfile
# and the checksums are forwarded to the proxy fetcher.
ud.proxy = None
ud.needdonestamp = False
ud.resolvefile = self.localpath(ud, d) + ".resolved"
def _resolve_proxy_url(self, ud, d):
def _npm_view():
configs = []
configs.append(("json", "true"))
configs.append(("registry", ud.registry))
pkgver = shlex.quote(ud.package + "@" + ud.version)
cmd = ud.basecmd + " view %s" % pkgver
env = NpmEnvironment(d)
check_network_access(d, cmd, ud.registry)
view_string = env.run(cmd, configs=configs)
if not view_string:
raise FetchError("Unavailable package %s" % pkgver, ud.url)
try:
view = json.loads(view_string)
error = view.get("error")
if error is not None:
raise FetchError(error.get("summary"), ud.url)
if ud.version == "latest":
bb.warn("The npm package %s is using the latest " \
"version available. This could lead to " \
"non-reproducible builds." % pkgver)
elif ud.version != view.get("version"):
raise ParameterError("Invalid 'version' parameter", ud.url)
return view
except Exception as e:
raise FetchError("Invalid view from npm: %s" % str(e), ud.url)
def _get_url(view):
tarball_url = view.get("dist", {}).get("tarball")
if tarball_url is None:
raise FetchError("Invalid 'dist.tarball' in view", ud.url)
uri = URI(tarball_url)
uri.params["downloadfilename"] = ud.localfile
integrity = view.get("dist", {}).get("integrity")
shasum = view.get("dist", {}).get("shasum")
if integrity is not None:
checksum_name, checksum_expected = npm_integrity(integrity)
uri.params[checksum_name] = checksum_expected
elif shasum is not None:
uri.params["sha1sum"] = shasum
else:
raise FetchError("Invalid 'dist.integrity' in view", ud.url)
return str(uri)
url = _get_url(_npm_view())
bb.utils.mkdirhier(os.path.dirname(ud.resolvefile))
with open(ud.resolvefile, "w") as f:
f.write(url)
def _setup_proxy(self, ud, d):
if ud.proxy is None:
if not os.path.exists(ud.resolvefile):
self._resolve_proxy_url(ud, d)
with open(ud.resolvefile, "r") as f:
url = f.read()
# Avoid conflicts between the environment data and:
# - the proxy url checksum
data = bb.data.createCopy(d)
data.delVarFlags("SRC_URI")
ud.proxy = Fetch([url], data)
def _get_proxy_method(self, ud, d):
self._setup_proxy(ud, d)
proxy_url = ud.proxy.urls[0]
proxy_ud = ud.proxy.ud[proxy_url]
proxy_d = ud.proxy.d
proxy_ud.setup_localpath(proxy_d)
return proxy_ud.method, proxy_ud, proxy_d
def verify_donestamp(self, ud, d):
"""Verify the donestamp file"""
proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
return proxy_m.verify_donestamp(proxy_ud, proxy_d)
def update_donestamp(self, ud, d):
"""Update the donestamp file"""
proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
proxy_m.update_donestamp(proxy_ud, proxy_d)
def need_update(self, ud, d):
if os.path.exists(ud.localpath):
return False
return True
"""Force a fetch, even if localpath exists ?"""
if not os.path.exists(ud.resolvefile):
return True
if ud.version == "latest":
return True
proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
return proxy_m.need_update(proxy_ud, proxy_d)
def _runpack(self, ud, d, pkgfullname: str, quiet=False) -> str:
"""
Runs npm pack on a full package name.
Returns the filename of the downloaded package
"""
bb.fetch2.check_network_access(d, pkgfullname, ud.registry)
dldir = d.getVar("DL_DIR")
dldir = os.path.join(dldir, ud.prefixdir)
command = "npm pack {} --registry {}".format(pkgfullname, ud.registry)
logger.debug(2, "Fetching {} using command '{}' in {}".format(pkgfullname, command, dldir))
filename = runfetchcmd(command, d, quiet, workdir=dldir)
return filename.rstrip()
def _unpackdep(self, ud, pkg, data, destdir, dldir, d):
file = data[pkg]['tgz']
logger.debug(2, "file to extract is %s" % file)
if file.endswith('.tgz') or file.endswith('.tar.gz') or file.endswith('.tar.Z'):
cmd = 'tar xz --strip 1 --no-same-owner --warning=no-unknown-keyword -f %s/%s' % (dldir, file)
else:
bb.fatal("NPM package %s downloaded not a tarball!" % file)
# Change to subdir before executing command
if not os.path.exists(destdir):
os.makedirs(destdir)
path = d.getVar('PATH')
if path:
cmd = "PATH=\"%s\" %s" % (path, cmd)
bb.note("Unpacking %s to %s/" % (file, destdir))
ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True, cwd=destdir)
if ret != 0:
raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud.url)
if 'deps' not in data[pkg]:
return
for dep in data[pkg]['deps']:
self._unpackdep(ud, dep, data[pkg]['deps'], "%s/node_modules/%s" % (destdir, dep), dldir, d)
def unpack(self, ud, destdir, d):
dldir = d.getVar("DL_DIR")
with open("%s/npm/%s" % (dldir, ud.bbnpmmanifest)) as datafile:
workobj = json.load(datafile)
dldir = "%s/%s" % (os.path.dirname(ud.localpath), ud.pkgname)
if 'subdir' in ud.parm:
unpackdir = '%s/%s' % (destdir, ud.parm.get('subdir'))
else:
unpackdir = '%s/npmpkg' % destdir
self._unpackdep(ud, ud.pkgname, workobj, unpackdir, dldir, d)
def _parse_view(self, output):
'''
Parse the output of npm view --json; the last JSON result
is assumed to be the one that we're interested in.
'''
pdata = json.loads(output);
try:
return pdata[-1]
except:
return pdata
def _getdependencies(self, pkg, data, version, d, ud, optional=False, fetchedlist=None):
if fetchedlist is None:
fetchedlist = []
pkgfullname = pkg
if version != '*' and not '/' in version:
pkgfullname += "@'%s'" % version
if pkgfullname in fetchedlist:
return
logger.debug(2, "Calling getdeps on %s" % pkg)
fetchcmd = "npm view %s --json --registry %s" % (pkgfullname, ud.registry)
output = runfetchcmd(fetchcmd, d, True)
pdata = self._parse_view(output)
if not pdata:
raise FetchError("The command '%s' returned no output" % fetchcmd)
if optional:
pkg_os = pdata.get('os', None)
if pkg_os:
if not isinstance(pkg_os, list):
pkg_os = [pkg_os]
blacklist = False
for item in pkg_os:
if item.startswith('!'):
blacklist = True
break
if (not blacklist and 'linux' not in pkg_os) or '!linux' in pkg_os:
logger.debug(2, "Skipping %s since it's incompatible with Linux" % pkg)
return
filename = self._runpack(ud, d, pkgfullname)
data[pkg] = {}
data[pkg]['tgz'] = filename
fetchedlist.append(pkgfullname)
dependencies = pdata.get('dependencies', {})
optionalDependencies = pdata.get('optionalDependencies', {})
dependencies.update(optionalDependencies)
depsfound = {}
optdepsfound = {}
data[pkg]['deps'] = {}
for dep in dependencies:
if dep in optionalDependencies:
optdepsfound[dep] = dependencies[dep]
else:
depsfound[dep] = dependencies[dep]
for dep, version in optdepsfound.items():
self._getdependencies(dep, data[pkg]['deps'], version, d, ud, optional=True, fetchedlist=fetchedlist)
for dep, version in depsfound.items():
self._getdependencies(dep, data[pkg]['deps'], version, d, ud, fetchedlist=fetchedlist)
def _getshrinkeddependencies(self, pkg, data, version, d, ud, lockdown, manifest, toplevel=True):
logger.debug(2, "NPM shrinkwrap file is %s" % data)
if toplevel:
name = data.get('name', None)
if name and name != pkg:
for obj in data.get('dependencies', []):
if obj == pkg:
self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest, False)
return
pkgnameWithVersion = "{}@{}".format(pkg, version)
logger.debug(2, "Get dependencies for {}".format(pkgnameWithVersion))
filename = self._runpack(ud, d, pkgnameWithVersion)
manifest[pkg] = {}
manifest[pkg]['tgz'] = filename
manifest[pkg]['deps'] = {}
if pkg in lockdown:
sha1_expected = lockdown[pkg][version]
sha1_data = bb.utils.sha1_file("npm/%s/%s" % (ud.pkgname, manifest[pkg]['tgz']))
if sha1_expected != sha1_data:
msg = "\nFile: '%s' has %s checksum %s when %s was expected" % (manifest[pkg]['tgz'], 'sha1', sha1_data, sha1_expected)
raise ChecksumError('Checksum mismatch!%s' % msg)
else:
logger.debug(2, "No lockdown data for %s@%s" % (pkg, version))
if 'dependencies' in data:
for obj in data['dependencies']:
logger.debug(2, "Found dep is %s" % str(obj))
self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest[pkg]['deps'], False)
def try_mirrors(self, fetch, ud, d, mirrors):
"""Try to use a mirror"""
proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
return proxy_m.try_mirrors(fetch, proxy_ud, proxy_d, mirrors)
def download(self, ud, d):
"""Fetch url"""
jsondepobj = {}
shrinkobj = {}
lockdown = {}
self._setup_proxy(ud, d)
ud.proxy.download()
if not os.listdir(ud.pkgdatadir) and os.path.exists(ud.fullmirror):
dest = d.getVar("DL_DIR")
bb.utils.mkdirhier(dest)
runfetchcmd("tar -xJf %s" % (ud.fullmirror), d, workdir=dest)
return
def unpack(self, ud, rootdir, d):
"""Unpack the downloaded archive"""
destsuffix = ud.parm.get("destsuffix", "npm")
destdir = os.path.join(rootdir, destsuffix)
npm_unpack(ud.localpath, destdir, d)
if ud.parm.get("noverify", None) != '1':
shwrf = d.getVar('NPM_SHRINKWRAP')
logger.debug(2, "NPM shrinkwrap file is %s" % shwrf)
if shwrf:
try:
with open(shwrf) as datafile:
shrinkobj = json.load(datafile)
except Exception as e:
raise FetchError('Error loading NPM_SHRINKWRAP file "%s" for %s: %s' % (shwrf, ud.pkgname, str(e)))
elif not ud.ignore_checksums:
logger.warning('Missing shrinkwrap file in NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % ud.pkgname)
lckdf = d.getVar('NPM_LOCKDOWN')
logger.debug(2, "NPM lockdown file is %s" % lckdf)
if lckdf:
try:
with open(lckdf) as datafile:
lockdown = json.load(datafile)
except Exception as e:
raise FetchError('Error loading NPM_LOCKDOWN file "%s" for %s: %s' % (lckdf, ud.pkgname, str(e)))
elif not ud.ignore_checksums:
logger.warning('Missing lockdown file in NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % ud.pkgname)
def clean(self, ud, d):
"""Clean any existing full or partial download"""
if os.path.exists(ud.resolvefile):
self._setup_proxy(ud, d)
ud.proxy.clean()
bb.utils.remove(ud.resolvefile)
if ('name' not in shrinkobj):
self._getdependencies(ud.pkgname, jsondepobj, ud.version, d, ud)
else:
self._getshrinkeddependencies(ud.pkgname, shrinkobj, ud.version, d, ud, lockdown, jsondepobj)
with open(ud.localpath, 'w') as outfile:
json.dump(jsondepobj, outfile)
def build_mirror_data(self, ud, d):
# Generate a mirror tarball if needed
if ud.write_tarballs and not os.path.exists(ud.fullmirror):
# it's possible that this symlink points to read-only filesystem with PREMIRROR
if os.path.islink(ud.fullmirror):
os.unlink(ud.fullmirror)
dldir = d.getVar("DL_DIR")
logger.info("Creating tarball of npm data")
runfetchcmd("tar -cJf %s npm/%s npm/%s" % (ud.fullmirror, ud.bbnpmmanifest, ud.pkgname), d,
workdir=dldir)
runfetchcmd("touch %s.done" % (ud.fullmirror), d, workdir=dldir)
def done(self, ud, d):
"""Is the download done ?"""
if not os.path.exists(ud.resolvefile):
return False
proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
return proxy_m.done(proxy_ud, proxy_d)

View File

@@ -0,0 +1,255 @@
# Copyright (C) 2020 Savoir-Faire Linux
#
# SPDX-License-Identifier: GPL-2.0-only
#
"""
BitBake 'Fetch' npm shrinkwrap implementation
npm fetcher support the SRC_URI with format of:
SRC_URI = "npmsw://some.registry.url;OptionA=xxx;OptionB=xxx;..."
Supported SRC_URI options are:
- dev
Set to 1 to also install devDependencies.
- destsuffix
Specifies the directory to use to unpack the dependencies (default: ${S}).
"""
import json
import os
import re
import bb
from bb.fetch2 import Fetch
from bb.fetch2 import FetchMethod
from bb.fetch2 import ParameterError
from bb.fetch2 import URI
from bb.fetch2.npm import npm_integrity
from bb.fetch2.npm import npm_localfile
from bb.fetch2.npm import npm_unpack
from bb.utils import is_semver
def foreach_dependencies(shrinkwrap, callback=None, dev=False):
"""
Run a callback for each dependencies of a shrinkwrap file.
The callback is using the format:
callback(name, params, deptree)
with:
name = the package name (string)
params = the package parameters (dictionary)
deptree = the package dependency tree (array of strings)
"""
def _walk_deps(deps, deptree):
for name in deps:
subtree = [*deptree, name]
_walk_deps(deps[name].get("dependencies", {}), subtree)
if callback is not None:
if deps[name].get("dev", False) and not dev:
continue
elif deps[name].get("bundled", False):
continue
callback(name, deps[name], subtree)
_walk_deps(shrinkwrap.get("dependencies", {}), [])
class NpmShrinkWrap(FetchMethod):
"""Class to fetch all package from a shrinkwrap file"""
def supports(self, ud, d):
"""Check if a given url can be fetched with npmsw"""
return ud.type in ["npmsw"]
def urldata_init(self, ud, d):
"""Init npmsw specific variables within url data"""
# Get the 'shrinkwrap' parameter
ud.shrinkwrap_file = re.sub(r"^npmsw://", "", ud.url.split(";")[0])
# Get the 'dev' parameter
ud.dev = bb.utils.to_boolean(ud.parm.get("dev"), False)
# Resolve the dependencies
ud.deps = []
def _resolve_dependency(name, params, deptree):
url = None
localpath = None
extrapaths = []
destsubdirs = [os.path.join("node_modules", dep) for dep in deptree]
destsuffix = os.path.join(*destsubdirs)
integrity = params.get("integrity", None)
resolved = params.get("resolved", None)
version = params.get("version", None)
# Handle registry sources
if is_semver(version) and resolved and integrity:
localfile = npm_localfile(name, version)
uri = URI(resolved)
uri.params["downloadfilename"] = localfile
checksum_name, checksum_expected = npm_integrity(integrity)
uri.params[checksum_name] = checksum_expected
url = str(uri)
localpath = os.path.join(d.getVar("DL_DIR"), localfile)
# Create a resolve file to mimic the npm fetcher and allow
# re-usability of the downloaded file.
resolvefile = localpath + ".resolved"
bb.utils.mkdirhier(os.path.dirname(resolvefile))
with open(resolvefile, "w") as f:
f.write(url)
extrapaths.append(resolvefile)
# Handle http tarball sources
elif version.startswith("http") and integrity:
localfile = os.path.join("npm2", os.path.basename(version))
uri = URI(version)
uri.params["downloadfilename"] = localfile
checksum_name, checksum_expected = npm_integrity(integrity)
uri.params[checksum_name] = checksum_expected
url = str(uri)
localpath = os.path.join(d.getVar("DL_DIR"), localfile)
# Handle git sources
elif version.startswith("git"):
regex = re.compile(r"""
^
git\+
(?P<protocol>[a-z]+)
://
(?P<url>[^#]+)
\#
(?P<rev>[0-9a-f]+)
$
""", re.VERBOSE)
match = regex.match(version)
if not match:
raise ParameterError("Invalid git url: %s" % version, ud.url)
groups = match.groupdict()
uri = URI("git://" + str(groups["url"]))
uri.params["protocol"] = str(groups["protocol"])
uri.params["rev"] = str(groups["rev"])
uri.params["destsuffix"] = destsuffix
url = str(uri)
# local tarball sources and local link sources are unsupported
else:
raise ParameterError("Unsupported dependency: %s" % name, ud.url)
ud.deps.append({
"url": url,
"localpath": localpath,
"extrapaths": extrapaths,
"destsuffix": destsuffix,
})
try:
with open(ud.shrinkwrap_file, "r") as f:
shrinkwrap = json.load(f)
except Exception as e:
raise ParameterError("Invalid shrinkwrap file: %s" % str(e), ud.url)
foreach_dependencies(shrinkwrap, _resolve_dependency, ud.dev)
# Avoid conflicts between the environment data and:
# - the proxy url revision
# - the proxy url checksum
data = bb.data.createCopy(d)
data.delVar("SRCREV")
data.delVarFlags("SRC_URI")
# This fetcher resolves multiple URIs from a shrinkwrap file and then
# forwards it to a proxy fetcher. The management of the donestamp file,
# the lockfile and the checksums are forwarded to the proxy fetcher.
ud.proxy = Fetch([dep["url"] for dep in ud.deps], data)
ud.needdonestamp = False
@staticmethod
def _foreach_proxy_method(ud, handle):
returns = []
for proxy_url in ud.proxy.urls:
proxy_ud = ud.proxy.ud[proxy_url]
proxy_d = ud.proxy.d
proxy_ud.setup_localpath(proxy_d)
returns.append(handle(proxy_ud.method, proxy_ud, proxy_d))
return returns
def verify_donestamp(self, ud, d):
"""Verify the donestamp file"""
def _handle(m, ud, d):
return m.verify_donestamp(ud, d)
return all(self._foreach_proxy_method(ud, _handle))
def update_donestamp(self, ud, d):
"""Update the donestamp file"""
def _handle(m, ud, d):
m.update_donestamp(ud, d)
self._foreach_proxy_method(ud, _handle)
def need_update(self, ud, d):
"""Force a fetch, even if localpath exists ?"""
def _handle(m, ud, d):
return m.need_update(ud, d)
return all(self._foreach_proxy_method(ud, _handle))
def try_mirrors(self, fetch, ud, d, mirrors):
"""Try to use a mirror"""
def _handle(m, ud, d):
return m.try_mirrors(fetch, ud, d, mirrors)
return all(self._foreach_proxy_method(ud, _handle))
def download(self, ud, d):
"""Fetch url"""
ud.proxy.download()
def unpack(self, ud, rootdir, d):
"""Unpack the downloaded dependencies"""
destdir = d.getVar("S")
destsuffix = ud.parm.get("destsuffix")
if destsuffix:
destdir = os.path.join(rootdir, destsuffix)
bb.utils.mkdirhier(destdir)
bb.utils.copyfile(ud.shrinkwrap_file,
os.path.join(destdir, "npm-shrinkwrap.json"))
auto = [dep["url"] for dep in ud.deps if not dep["localpath"]]
manual = [dep for dep in ud.deps if dep["localpath"]]
if auto:
ud.proxy.unpack(destdir, auto)
for dep in manual:
depdestdir = os.path.join(destdir, dep["destsuffix"])
npm_unpack(dep["localpath"], depdestdir, d)
def clean(self, ud, d):
"""Clean any existing full or partial download"""
ud.proxy.clean()
# Clean extra files
for dep in ud.deps:
for path in dep["extrapaths"]:
bb.utils.remove(path)
def done(self, ud, d):
"""Is the download done ?"""
def _handle(m, ud, d):
return m.done(ud, d)
return all(self._foreach_proxy_method(ud, _handle))

View File

@@ -47,7 +47,7 @@ class Svn(FetchMethod):
svndir = d.getVar("SVNDIR") or (d.getVar("DL_DIR") + "/svn")
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(svndir, ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
ud.moddir = os.path.join(ud.pkgdir, ud.path_spec)
# Protects the repository from concurrent updates, e.g. from two
# recipes fetching different revisions at the same time
ud.svnlock = os.path.join(ud.pkgdir, "svn.lock")
@@ -122,30 +122,30 @@ class Svn(FetchMethod):
try:
if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
svnupdatecmd = self._buildsvncommand(ud, d, "update")
svncmd = self._buildsvncommand(ud, d, "update")
logger.info("Update " + ud.url)
# We need to attempt to run svn upgrade first in case its an older working format
try:
runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir)
except FetchError:
pass
logger.debug(1, "Running %s", svnupdatecmd)
bb.fetch2.check_network_access(d, svnupdatecmd, ud.url)
runfetchcmd(svnupdatecmd, d, workdir=ud.moddir)
logger.debug(1, "Running %s", svncmd)
bb.fetch2.check_network_access(d, svncmd, ud.url)
runfetchcmd(svncmd, d, workdir=ud.moddir)
else:
svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
svncmd = self._buildsvncommand(ud, d, "fetch")
logger.info("Fetch " + ud.url)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
logger.debug(1, "Running %s", svnfetchcmd)
bb.fetch2.check_network_access(d, svnfetchcmd, ud.url)
runfetchcmd(svnfetchcmd, d, workdir=ud.pkgdir)
logger.debug(1, "Running %s", svncmd)
bb.fetch2.check_network_access(d, svncmd, ud.url)
runfetchcmd(svncmd, d, workdir=ud.pkgdir)
if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"):
# Warn the user if this had externals (won't catch them all)
output = runfetchcmd("svn propget svn:externals || true", d, workdir=ud.moddir)
if output:
if "--ignore-externals" in svnfetchcmd.split():
if "--ignore-externals" in svncmd.split():
bb.warn("%s contains svn:externals." % ud.url)
bb.warn("These should be added to the recipe SRC_URI as necessary.")
bb.warn("svn fetch has ignored externals:\n%s" % output)

View File

@@ -12,6 +12,7 @@ BitBake build tools.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import shlex
import re
import tempfile
import os
@@ -91,9 +92,9 @@ class Wget(FetchMethod):
fetchcmd = self.basecmd
if 'downloadfilename' in ud.parm:
dldir = d.getVar("DL_DIR")
bb.utils.mkdirhier(os.path.dirname(dldir + os.sep + ud.localfile))
fetchcmd += " -O " + dldir + os.sep + ud.localfile
localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile)
bb.utils.mkdirhier(os.path.dirname(localpath))
fetchcmd += " -O %s" % shlex.quote(localpath)
if ud.user and ud.pswd:
fetchcmd += " --user=%s --password=%s --auth-no-challenge" % (ud.user, ud.pswd)

View File

@@ -40,15 +40,20 @@ class SignatureGenerator(object):
def __init__(self, data):
self.basehash = {}
self.taskhash = {}
self.unihash = {}
self.runtaskdeps = {}
self.file_checksum_values = {}
self.taints = {}
self.unitaskhashes = {}
self.tidtopn = {}
self.setscenetasks = set()
def finalise(self, fn, d, varient):
return
def postparsing_clean_cache(self):
return
def get_unihash(self, tid):
return self.taskhash[tid]
@@ -79,19 +84,19 @@ class SignatureGenerator(object):
return
def get_taskdata(self):
return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks)
return (self.runtaskdeps, self.taskhash, self.unihash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.tidtopn, self.setscenetasks)
def set_taskdata(self, data):
self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks = data
self.runtaskdeps, self.taskhash, self.unihash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.tidtopn, self.setscenetasks = data
def reset(self, data):
self.__init__(data)
def get_taskhashes(self):
return self.taskhash, self.unitaskhashes
return self.taskhash, self.unihash, self.unitaskhashes, self.tidtopn
def set_taskhashes(self, hashes):
self.taskhash, self.unitaskhashes = hashes
self.taskhash, self.unihash, self.unitaskhashes, self.tidtopn = hashes
def save_unitaskhashes(self):
return
@@ -107,6 +112,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
def __init__(self, data):
self.basehash = {}
self.taskhash = {}
self.unihash = {}
self.taskdeps = {}
self.runtaskdeps = {}
self.file_checksum_values = {}
@@ -124,9 +130,10 @@ class SignatureGeneratorBasic(SignatureGenerator):
else:
self.checksum_cache = None
self.unihash_cache = bb.cache.SimpleCache("1")
self.unihash_cache = bb.cache.SimpleCache("3")
self.unitaskhashes = self.unihash_cache.init_cache(data, "bb_unihashes.dat", {})
self.localdirsexclude = (data.getVar("BB_SIGNATURE_LOCAL_DIRS_EXCLUDE") or "CVS .bzr .git .hg .osc .p4 .repo .svn").split()
self.tidtopn = {}
def init_rundepcheck(self, data):
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None
@@ -184,6 +191,14 @@ class SignatureGeneratorBasic(SignatureGenerator):
for task in taskdeps:
d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + ":" + task])
def postparsing_clean_cache(self):
#
# After parsing we can remove some things from memory to reduce our memory footprint
#
self.gendeps = {}
self.lookupcache = {}
self.taskdeps = {}
def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
# Return True if we should keep the dependency, False to drop it
# We only manipulate the dependencies for packages not in the whitelist
@@ -210,6 +225,9 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.runtaskdeps[tid] = []
self.file_checksum_values[tid] = []
recipename = dataCache.pkg_fn[fn]
self.tidtopn[tid] = recipename
for dep in sorted(deps, key=clean_basepath):
(depmc, _, deptaskname, depfn) = bb.runqueue.split_tid_mcfn(dep)
if mc != depmc:
@@ -251,7 +269,13 @@ class SignatureGeneratorBasic(SignatureGenerator):
data = self.basehash[tid]
for dep in self.runtaskdeps[tid]:
data = data + self.get_unihash(dep)
if dep in self.unihash:
if self.unihash[dep] is None:
data = data + self.taskhash[dep]
else:
data = data + self.unihash[dep]
else:
data = data + self.get_unihash(dep)
for (f, cs) in self.file_checksum_values[tid]:
if cs:
@@ -407,38 +431,50 @@ class SignatureGeneratorUniHashMixIn(object):
self._client = hashserv.create_client(self.server)
return self._client
def __get_task_unihash_key(self, tid):
# TODO: The key only *needs* to be the taskhash, the tid is just
# convenient
return '%s:%s' % (tid.rsplit("/", 1)[1], self.taskhash[tid])
def get_stampfile_hash(self, tid):
if tid in self.taskhash:
# If a unique hash is reported, use it as the stampfile hash. This
# ensures that if a task won't be re-run if the taskhash changes,
# but it would result in the same output hash
unihash = self.unitaskhashes.get(self.__get_task_unihash_key(tid), None)
unihash = self._get_unihash(tid)
if unihash is not None:
return unihash
return super().get_stampfile_hash(tid)
def set_unihash(self, tid, unihash):
self.unitaskhashes[self.__get_task_unihash_key(tid)] = unihash
(mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
key = mc + ":" + self.tidtopn[tid] + ":" + taskname
self.unitaskhashes[key] = (self.taskhash[tid], unihash)
self.unihash[tid] = unihash
def _get_unihash(self, tid, checkkey=None):
if tid not in self.tidtopn:
return None
(mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
key = mc + ":" + self.tidtopn[tid] + ":" + taskname
if key not in self.unitaskhashes:
return None
if not checkkey:
checkkey = self.taskhash[tid]
(key, unihash) = self.unitaskhashes[key]
if key != checkkey:
return None
return unihash
def get_unihash(self, tid):
taskhash = self.taskhash[tid]
# If its not a setscene task we can return
if self.setscenetasks and tid not in self.setscenetasks:
self.unihash[tid] = None
return taskhash
key = self.__get_task_unihash_key(tid)
# TODO: This cache can grow unbounded. It probably only needs to keep
# for each task
unihash = self.unitaskhashes.get(key, None)
unihash = self._get_unihash(tid)
if unihash is not None:
self.unihash[tid] = unihash
return unihash
# In the absence of being able to discover a unique hash from the
@@ -472,7 +508,8 @@ class SignatureGeneratorUniHashMixIn(object):
except hashserv.client.HashConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
self.unitaskhashes[key] = unihash
self.set_unihash(tid, unihash)
self.unihash[tid] = unihash
return unihash
def report_unihash(self, path, task, d):
@@ -484,13 +521,17 @@ class SignatureGeneratorUniHashMixIn(object):
tempdir = d.getVar('T')
fn = d.getVar('BB_FILENAME')
tid = fn + ':do_' + task
key = tid.rsplit("/", 1)[1] + ':' + taskhash
key = tid + ':' + taskhash
if self.setscenetasks and tid not in self.setscenetasks:
return
# This can happen if locked sigs are in action. Detect and just abort
if taskhash != self.taskhash[tid]:
return
# Sanity checks
cache_unihash = self.unitaskhashes.get(key, None)
cache_unihash = self._get_unihash(tid, checkkey=taskhash)
if cache_unihash is None:
bb.fatal('%s not in unihash cache. Please report this error' % key)

View File

@@ -2037,3 +2037,437 @@ class GitLfsTest(FetcherTest):
ud.method._find_git_lfs = lambda d: False
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
class NPMTest(FetcherTest):
def skipIfNoNpm():
import shutil
if not shutil.which('npm'):
return unittest.skip('npm not installed, tests being skipped')
return lambda f: f
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
self.assertTrue(os.path.exists(ud.localpath + '.done'))
self.assertTrue(os.path.exists(ud.resolvefile))
fetcher.unpack(self.unpackdir)
unpackdir = os.path.join(self.unpackdir, 'npm')
self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_bad_checksum(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch([url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Modify the tarball
bad = b'bad checksum'
with open(ud.localpath, 'wb') as f:
f.write(bad)
# Verify that the tarball is fetched again
fetcher.download()
badsum = hashlib.sha512(bad).hexdigest()
self.assertTrue(os.path.exists(ud.localpath + '_bad-checksum_' + badsum))
self.assertTrue(os.path.exists(ud.localpath))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_premirrors(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch([url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Setup the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
bb.utils.mkdirhier(mirrordir)
os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
# Fetch again
self.assertFalse(os.path.exists(ud.localpath))
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_mirrors(self):
# Fetch once to get a tarball
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Setup the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
bb.utils.mkdirhier(mirrordir)
os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
self.d.setVar('MIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
# Update the resolved url to an invalid url
with open(ud.resolvefile, 'r') as f:
url = f.read()
uri = URI(url)
uri.path = '/invalid'
with open(ud.resolvefile, 'w') as f:
f.write(str(uri))
# Fetch again
self.assertFalse(os.path.exists(ud.localpath))
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_destsuffix_downloadfilename(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0;destsuffix=foo/bar;downloadfilename=foo-bar.tgz'
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'foo-bar.tgz')))
fetcher.unpack(self.unpackdir)
unpackdir = os.path.join(self.unpackdir, 'foo', 'bar')
self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
def test_npm_no_network_no_tarball(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
self.d.setVar('BB_NO_NETWORK', '1')
fetcher = bb.fetch.Fetch([url], self.d)
with self.assertRaises(bb.fetch2.NetworkAccess):
fetcher.download()
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_no_network_with_tarball(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Disable network access
self.d.setVar('BB_NO_NETWORK', '1')
# Fetch again
fetcher.download()
fetcher.unpack(self.unpackdir)
unpackdir = os.path.join(self.unpackdir, 'npm')
self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_registry_alternate(self):
url = 'npm://registry.freajs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
unpackdir = os.path.join(self.unpackdir, 'npm')
self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_version_latest(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=latest'
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
unpackdir = os.path.join(self.unpackdir, 'npm')
self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_registry_invalid(self):
url = 'npm://registry.invalid.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_package_invalid(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/invalid;version=1.0.0'
fetcher = bb.fetch.Fetch([url], self.d)
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_version_invalid(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=invalid'
with self.assertRaises(bb.fetch2.ParameterError):
fetcher = bb.fetch.Fetch([url], self.d)
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_registry_none(self):
url = 'npm://;package=@savoirfairelinux/node-server-example;version=1.0.0'
with self.assertRaises(bb.fetch2.MalformedUrl):
fetcher = bb.fetch.Fetch([url], self.d)
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_package_none(self):
url = 'npm://registry.npmjs.org;version=1.0.0'
with self.assertRaises(bb.fetch2.MissingParameterError):
fetcher = bb.fetch.Fetch([url], self.d)
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npm_version_none(self):
url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example'
with self.assertRaises(bb.fetch2.MissingParameterError):
fetcher = bb.fetch.Fetch([url], self.d)
def create_shrinkwrap_file(self, data):
import json
datadir = os.path.join(self.tempdir, 'data')
swfile = os.path.join(datadir, 'npm-shrinkwrap.json')
bb.utils.mkdirhier(datadir)
with open(swfile, 'w') as f:
json.dump(data, f)
# Also configure the S directory
self.sdir = os.path.join(self.unpackdir, 'S')
self.d.setVar('S', self.sdir)
return swfile
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw(self):
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=',
'dependencies': {
'content-type': {
'version': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
'dependencies': {
'cookie': {
'version': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09',
'from': 'git+https://github.com/jshttp/cookie.git'
}
}
}
}
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'github.com.jshttp.cookie.git')))
fetcher.unpack(self.unpackdir)
self.assertTrue(os.path.exists(os.path.join(self.sdir, 'npm-shrinkwrap.json')))
self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'package.json')))
self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'node_modules', 'cookie', 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_dev(self):
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
},
'content-type': {
'version': '1.0.4',
'resolved': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
'dev': True
}
}
})
# Fetch with dev disabled
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
self.assertFalse(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
# Fetch with dev enabled
fetcher = bb.fetch.Fetch(['npmsw://' + swfile + ';dev=1'], self.d)
fetcher.download()
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_destsuffix(self):
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile + ';destsuffix=foo/bar'], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'foo', 'bar', 'node_modules', 'array-flatten', 'package.json')))
def test_npmsw_no_network_no_tarball(self):
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
self.d.setVar('BB_NO_NETWORK', '1')
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
with self.assertRaises(bb.fetch2.NetworkAccess):
fetcher.download()
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_no_network_with_tarball(self):
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
fetcher.download()
# Disable network access
self.d.setVar('BB_NO_NETWORK', '1')
# Fetch again
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_npm_reusability(self):
# Fetch once with npmsw
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
# Disable network access
self.d.setVar('BB_NO_NETWORK', '1')
# Fetch again with npm
fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'npm', 'package.json')))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_bad_checksum(self):
# Try to fetch with bad checksum
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-gfNEp2hqgLTFKT6P3AsBYMgsBqg='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
# Fetch correctly to get a tarball
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
localpath = os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')
self.assertTrue(os.path.exists(localpath))
# Modify the tarball
bad = b'bad checksum'
with open(localpath, 'wb') as f:
f.write(bad)
# Verify that the tarball is fetched again
fetcher.download()
badsum = hashlib.sha1(bad).hexdigest()
self.assertTrue(os.path.exists(localpath + '_bad-checksum_' + badsum))
self.assertTrue(os.path.exists(localpath))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_premirrors(self):
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Setup the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
bb.utils.mkdirhier(mirrordir)
os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
# Fetch again
self.assertFalse(os.path.exists(ud.localpath))
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
@skipIfNoNpm()
@skipIfNoNetwork()
def test_npmsw_mirrors(self):
# Fetch once to get a tarball
fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
ud = fetcher.ud[fetcher.urls[0]]
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))
# Setup the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
bb.utils.mkdirhier(mirrordir)
os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
self.d.setVar('MIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
# Fetch again with invalid url
self.assertFalse(os.path.exists(ud.localpath))
swfile = self.create_shrinkwrap_file({
'dependencies': {
'array-flatten': {
'version': '1.1.1',
'resolved': 'https://invalid',
'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
}
}
})
fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
fetcher.download()
self.assertTrue(os.path.exists(ud.localpath))

View File

@@ -590,6 +590,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if isinstance(event, bb.command.CommandExit):
if not return_value:
return_value = event.exitcode
main.shutdown = 2
continue
if isinstance(event, (bb.command.CommandCompleted, bb.cooker.CookerExit)):
main.shutdown = 2

View File

@@ -556,6 +556,20 @@ def sha1_file(filename):
import hashlib
return _hasher(hashlib.sha1(), filename)
def sha384_file(filename):
"""
Return the hex string representation of the SHA384 checksum of the filename
"""
import hashlib
return _hasher(hashlib.sha384(), filename)
def sha512_file(filename):
"""
Return the hex string representation of the SHA512 checksum of the filename
"""
import hashlib
return _hasher(hashlib.sha512(), filename)
def preserved_envvars_exported():
"""Variables which are taken from the environment and placed in and exported
from the metadata"""
@@ -850,7 +864,7 @@ def copyfile(src, dest, newmtime = None, sstat = None):
if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
os.unlink(dest)
os.symlink(target, dest)
#os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
return os.lstat(dest)
except Exception as e:
logger.warning("copyfile: failed to create symlink %s to %s (%s)" % (dest, target, e))
@@ -1597,3 +1611,29 @@ class LogCatcher(logging.Handler):
self.messages.append(bb.build.logformatter.format(record))
def contains(self, message):
return (message in self.messages)
def is_semver(version):
"""
Is the version string following the semver semantic?
https://semver.org/spec/v2.0.0.html
"""
regex = re.compile(
r"""
^
(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)
(?:-(
(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)
(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*
))?
(?:\+(
[0-9a-zA-Z-]+
(?:\.[0-9a-zA-Z-]+)*
))?
$
""", re.VERBOSE)
if regex.match(version) is None:
return False
return True

View File

@@ -24,7 +24,7 @@ class LayerIndexPlugin(ActionPlugin):
This class inherits ActionPlugin to get do_add_layer.
"""
def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer):
def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer, branch, shallow=False):
layername = self.get_layer_name(url)
if os.path.splitext(layername)[1] == '.git':
layername = os.path.splitext(layername)[0]
@@ -32,9 +32,15 @@ class LayerIndexPlugin(ActionPlugin):
layerdir = os.path.join(repodir, subdir)
if not os.path.exists(repodir):
if fetch_layer:
result = subprocess.call(['git', 'clone', url, repodir])
cmd = ['git', 'clone']
if shallow:
cmd.extend(['--depth', '1'])
if branch:
cmd.extend(['-b' , branch])
cmd.extend([url, repodir])
result = subprocess.call(cmd)
if result:
logger.error("Failed to download %s" % url)
logger.error("Failed to download %s (%s)" % (url, branch))
return None, None, None
else:
return subdir, layername, layerdir
@@ -171,7 +177,9 @@ class LayerIndexPlugin(ActionPlugin):
subdir, name, layerdir = self.get_fetch_layer(fetchdir,
layerBranch.layer.vcs_url,
layerBranch.vcs_subdir,
not args.show_only)
not args.show_only,
layerBranch.actual_branch,
args.shallow)
if not name:
# Error already shown
return 1
@@ -204,6 +212,7 @@ class LayerIndexPlugin(ActionPlugin):
parser_layerindex_fetch = self.add_command(sp, 'layerindex-fetch', self.do_layerindex_fetch, parserecipes=False)
parser_layerindex_fetch.add_argument('-n', '--show-only', help='show dependencies and do nothing else', action='store_true')
parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch')
parser_layerindex_fetch.add_argument('-s', '--shallow', help='do only shallow clones (--depth=1)', action='store_true')
parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER')
parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch')

View File

@@ -168,17 +168,17 @@ class Command(BaseCommand):
try:
self.cleanup()
except Exception as e:
logger.warn("runbuilds: cleanup exception %s" % str(e))
logger.warning("runbuilds: cleanup exception %s" % str(e))
try:
self.archive()
except Exception as e:
logger.warn("runbuilds: archive exception %s" % str(e))
logger.warning("runbuilds: archive exception %s" % str(e))
try:
self.schedule()
except Exception as e:
logger.warn("runbuilds: schedule exception %s" % str(e))
logger.warning("runbuilds: schedule exception %s" % str(e))
def handle(self, **options):
pidfile_path = os.path.join(os.environ.get("BUILDDIR", "."),

View File

@@ -76,6 +76,11 @@
# example publishes the 1.2 version of the PDF and HTML YP Development Tasks Manual
# for the 'denzil' branch.
#
# IN MEMORIAM: This comment is to remember Scott Rifenbark (scottrif), whom we lost
# in January, 2020. Scott was the primary technical writer for the Yocto Project for
# over 9 years. In that time, he contributed many thousands of patches, built this
# documentation tree, and enabled tens of thousands of developers to succeed with
# embedded Linux. He ran this Makefile many thousands of times. Godspeed, Dude.
ifeq ($(DOC),brief-yoctoprojectqs)
XSLTOPTS = --stringparam html.stylesheet brief-yoctoprojectqs-style.css \

View File

@@ -53,11 +53,11 @@ bitbake:
documentation:
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/
Mailing list: yocto@yoctoproject.org
Mailing list: docs@lists.yoctoproject.org
meta-poky, meta-yocto-bsp:
Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto(-bsp)
Mailing list: poky@yoctoproject.org
Mailing list: poky@lists.yoctoproject.org
Everything else should be sent to the OpenEmbedded Core mailing list. If in
doubt, check the oe-core git repository for the content you intend to modify.

View File

@@ -2,7 +2,7 @@
DISTRO_FEATURES_append = " pam"
# Use the LTSI Kernel
PREFERRED_VERSION_linux-yocto ?= "4.19%"
PREFERRED_VERSION_linux-yocto ?= "5.4%"
# Ensure the kernel nfs server is enabled
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"

View File

@@ -5,7 +5,7 @@ DISTRO_CODENAME = "master"
SDK_VENDOR = "-pokysdk"
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${DATE}', 'snapshot')}"
MAINTAINER = "Poky <poky@yoctoproject.org>"
MAINTAINER = "Poky <poky@lists.yoctoproject.org>"
TARGET_VENDOR = "-poky"
@@ -21,7 +21,7 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_VERSION_linux-yocto ?= "5.4%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"

View File

@@ -31,7 +31,6 @@
#MACHINE ?= "beaglebone-yocto"
#MACHINE ?= "genericx86"
#MACHINE ?= "genericx86-64"
#MACHINE ?= "mpc8315e-rdb"
#MACHINE ?= "edgerouter"
#
# This sets the default machine to be qemux86-64 if no other machine is selected:

View File

@@ -0,0 +1,105 @@
SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded"
HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
SRCREV = "99f4fa4a3b266b42b52af302610b0f4f429ba5e3"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/aehs29/baremetal-helloqemu.git;protocol=https;branch=master"
S = "${WORKDIR}/git/"
# These examples are not meant to be built when using either musl or glibc
COMPATIBLE_HOST_libc-musl_class-target = "null"
COMPATIBLE_HOST_libc-glibc_class-target = "null"
# This will be translated automatically to the architecture and
# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
# but the examples can also be run on other architectures/machines
# such as vexpress-a15 by overriding the setting on the machine.conf
COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64"
BAREMETAL_QEMUARCH ?= ""
BAREMETAL_QEMUARCH_qemuarmv5 = "versatile"
BAREMETAL_QEMUARCH_qemuarm = "arm"
BAREMETAL_QEMUARCH_qemuarm64 = "aarch64"
EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
do_install(){
install -d ${D}/${datadir}
install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${datadir}/hello_baremetal_${MACHINE}.bin
install -m 755 ${B}build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${datadir}/hello_baremetal_${MACHINE}.elf
}
# Borrowed from meta-freertos
inherit rootfs-postcommands
inherit deploy
do_deploy[dirs] = "${DEPLOYDIR} ${DEPLOY_DIR_IMAGE}"
do_rootfs[dirs] = "${DEPLOYDIR} ${DEPLOY_DIR_IMAGE}"
DEPLOYDIR = "${IMGDEPLOYDIR}"
IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
IMAGE_NAME_SUFFIX ?= ""
do_deploy(){
install ${D}/${datadir}/hello_baremetal_${MACHINE}.bin ${DEPLOYDIR}/${IMAGE_LINK_NAME}.bin
install ${D}/${datadir}/hello_baremetal_${MACHINE}.elf ${DEPLOYDIR}/${IMAGE_LINK_NAME}.elf
}
do_image(){
:
}
FILES_${PN} += " \
${datadir}/hello_baremetal_${MACHINE}.bin \
${datadir}/hello_baremetal_${MACHINE}.elf \
"
python do_rootfs(){
from oe.utils import execute_pre_post_process
from pathlib import Path
# Write empty manifest testdate file
deploy_dir = d.getVar('DEPLOYDIR')
link_name = d.getVar('IMAGE_LINK_NAME')
manifest_name = d.getVar('IMAGE_MANIFEST')
Path(manifest_name).touch()
if os.path.exists(manifest_name) and link_name:
manifest_link = deploy_dir + "/" + link_name + ".manifest"
if os.path.lexists(manifest_link):
os.remove(manifest_link)
os.symlink(os.path.basename(manifest_name), manifest_link)
execute_pre_post_process(d, d.getVar('ROOTFS_POSTPROCESS_COMMAND'))
}
# QEMU generic FreeRTOS parameters
QB_DEFAULT_KERNEL = "${IMAGE_LINK_NAME}.bin"
QB_MEM = "-m 256"
QB_OPT_APPEND = "-nographic"
QB_DEFAULT_FSTYPE = "bin"
QB_DTB = ""
# This next part is necessary to trick the build system into thinking
# its building an image recipe so it generates the qemuboot.conf
addtask do_deploy after do_write_qemuboot_conf before do_build
addtask do_rootfs before do_deploy after do_install
addtask do_image after do_rootfs before do_build
inherit qemuboot
# Based on image.bbclass to make sure we build qemu
python(){
# do_addto_recipe_sysroot doesnt exist for all recipes, but we need it to have
# /usr/bin on recipe-sysroot (qemu) populated
def extraimage_getdepends(task):
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
# Make sure we only add it for qemu
if 'qemu' in dep:
deps += " %s:%s" % (dep, task)
return deps
d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_addto_recipe_sysroot'))
d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_sysroot'))
}

View File

@@ -28,7 +28,6 @@ Hardware Reference Boards
The following boards are supported by the meta-yocto-bsp layer:
* Texas Instruments Beaglebone (beaglebone-yocto)
* Freescale MPC8315E-RDB (mpc8315e-rdb)
* Ubiquiti Networks EdgeRouter Lite (edgerouter)
* General IA platforms (genericx86 and genericx86-64)
@@ -155,147 +154,6 @@ From a Linux system with access to the image files perform the following steps:
3. Insert the SD card into the Beaglebone and boot the board.
Freescale MPC8315E-RDB (mpc8315e-rdb)
=====================================
The MPC8315 PowerPC reference platform (MPC8315E-RDB) is aimed at hardware and
software development of network attached storage (NAS) and digital media server
applications. The MPC8315E-RDB features the PowerQUICC II Pro processor, which
includes a built-in security accelerator.
(Note: you may find it easier to order MPC8315E-RDBA; this appears to be the
same board in an enclosure with accessories. In any case it is fully
compatible with the instructions given here.)
Setup instructions
------------------
You will need the following:
* NFS root setup on your workstation
* TFTP server installed on your workstation
* Straight-thru 9-conductor serial cable (DB9, M/F) connected from your
PC to UART1
* Ethernet connected to the first ethernet port on the board
--- Preparation ---
Note: if you have altered your board's ethernet MAC address(es) from the
defaults, or you need to do so because you want multiple boards on the same
network, then you will need to change the values in the dts file (patch
linux/arch/powerpc/boot/dts/mpc8315erdb.dts within the kernel source). If
you have left them at the factory default then you shouldn't need to do
anything here.
Note: To boot from USB disk you need u-boot that supports 'ext2load usb'
command. You need to setup TFTP server, load u-boot from there and
flash it to NOR flash.
Beware! Flashing bootloader is potentially dangerous operation that can
brick your device if done incorrectly. Please, make sure you understand
what below commands mean before executing them.
Load the new u-boot.bin from TFTP server to memory address 200000
=> tftp 200000 u-boot.bin
Disable flash protection
=> protect off all
Erase the old u-boot from fe000000 to fe06ffff in NOR flash.
The size is 0x70000 (458752 bytes)
=> erase fe000000 fe06ffff
Copy the new u-boot from address 200000 to fe000000
the size is 0x70000. It has to be greater or equal to u-boot.bin size
=> cp.b 200000 fe000000 70000
Enable flash protection again
=> protect on all
Reset the board
=> reset
--- Booting from USB disk ---
1. Flash partitioned image to the USB disk
# dd if=core-image-minimal-mpc8315e-rdb.wic of=/dev/sdb
2. Plug USB disk into the MPC8315 board
3. Connect the board's first serial port to your workstation and then start up
your favourite serial terminal so that you will be able to interact with
the serial console. If you don't have a favourite, picocom is suggested:
$ picocom /dev/ttyUSB0 -b 115200
4. Power up or reset the board and press a key on the terminal when prompted
to get to the U-Boot command line
5. Optional. Load the u-boot.bin from the USB disk:
=> usb start
=> ext2load usb 0:1 200000 u-boot.bin
and flash it to NOR flash as described above.
6. Load the kernel and dtb from the first partition of the USB disk:
=> usb start
=> ext2load usb 0:1 1000000 uImage
=> ext2load usb 0:1 2000000 dtb
7. Set bootargs and boot up the device
=> setenv bootargs root=/dev/sdb2 rw rootwait console=ttyS0,115200
=> bootm 1000000 - 2000000
--- Booting from NFS root ---
Load the kernel and dtb (device tree blob), and boot the system as follows:
1. Get the kernel (uImage-mpc8315e-rdb.bin) and dtb (uImage-mpc8315e-rdb.dtb)
files from the tmp/deploy directory, and make them available on your TFTP
server.
2. Connect the board's first serial port to your workstation and then start up
your favourite serial terminal so that you will be able to interact with
the serial console. If you don't have a favourite, picocom is suggested:
$ picocom /dev/ttyUSB0 -b 115200
3. Power up or reset the board and press a key on the terminal when prompted
to get to the U-Boot command line
4. Set up the environment in U-Boot:
=> setenv ipaddr <board ip>
=> setenv serverip <tftp server ip>
=> setenv bootargs root=/dev/nfs rw nfsroot=<nfsroot ip>:<rootfs path> ip=<board ip>:<server ip>:<gateway ip>:255.255.255.0:mpc8315e:eth0:off console=ttyS0,115200
5. Download the kernel and dtb, and boot:
=> tftp 1000000 uImage-mpc8315e-rdb.bin
=> tftp 2000000 uImage-mpc8315e-rdb.dtb
=> bootm 1000000 - 2000000
--- Booting from JFFS2 root ---
1. First boot the board with NFS root.
2. Erase the MTD partition which will be used as root:
$ flash_eraseall /dev/mtd3
3. Copy the JFFS2 image to the MTD partition:
$ flashcp core-image-minimal-mpc8315e-rdb.jffs2 /dev/mtd3
4. Then reboot the board and set up the environment in U-Boot:
=> setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttyS0,115200
Ubiquiti Networks EdgeRouter Lite (edgerouter)
==============================================

View File

@@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_VERSION_linux-yocto ?= "5.4%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"

View File

@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_VERSION_linux-yocto ?= "5.4%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"

View File

@@ -1,36 +0,0 @@
#@TYPE: Machine
#@NAME: Freescale MPC8315E-RDB
#@DESCRIPTION: Machine configuration for Freescale MPC8315E-RDB
TARGET_FPU = ""
require conf/machine/include/tune-ppce300c3.inc
KERNEL_IMAGETYPE = "uImage"
EXTRA_IMAGEDEPENDS += "u-boot"
UBOOT_MACHINE = "MPC8315ERDB_config"
SERIAL_CONSOLES = "115200;ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "xserver-xorg \
xf86-video-fbdev"
UBOOT_ENTRYPOINT = "0x00000000"
KERNEL_DEVICETREE = "mpc8315erdb.dtb"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
IMAGE_FSTYPES ?= "jffs2 tar.bz2"
JFFS2_ERASEBLOCK = "0x4000"
IMAGE_FSTYPES += "wic wic.bmap"
WKS_FILE ?= 'mpc8315e-rdb.wks'
IMAGE_BOOT_FILES ?= "u-boot.bin uImage mpc8315erdb.dtb;dtb"

View File

@@ -2,7 +2,6 @@ KBRANCH_genericx86 = "standard/base"
KBRANCH_genericx86-64 = "standard/base"
KBRANCH_edgerouter = "standard/edgerouter"
KBRANCH_beaglebone-yocto = "standard/beaglebone"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
@@ -12,4 +11,3 @@ COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"

View File

@@ -1,27 +0,0 @@
KBRANCH_genericx86 = "v4.19/standard/base"
KBRANCH_genericx86-64 = "v4.19/standard/base"
KBRANCH_edgerouter = "v4.19/standard/edgerouter"
KBRANCH_beaglebone-yocto = "v4.19/standard/beaglebone"
KBRANCH_mpc8315e-rdb = "v4.19/standard/fsl-mpc8315e-rdb"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
SRCREV_machine_genericx86 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
SRCREV_machine_genericx86-64 ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
SRCREV_machine_edgerouter ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
SRCREV_machine_beaglebone-yocto ?= "5664dc14399edcaad210bbeb6343d84561fb3ea8"
SRCREV_machine_mpc8315e-rdb ?= "d419f4ca6ba4b097b8ad710a93b89510f5b2998c"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.19.34"
LINUX_VERSION_genericx86-64 = "4.19.34"
LINUX_VERSION_edgerouter = "4.19.34"
LINUX_VERSION_beaglebone-yocto = "4.19.34"
LINUX_VERSION_mpc8315e-rdb = "4.19.34"

View File

@@ -2,7 +2,6 @@ KBRANCH_genericx86 = "v5.2/standard/base"
KBRANCH_genericx86-64 = "v5.2/standard/base"
KBRANCH_edgerouter = "v5.2/standard/edgerouter"
KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone"
KBRANCH_mpc8315e-rdb = "v5.2/standard/fsl-mpc8315e-rdb"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
@@ -12,16 +11,13 @@ SRCREV_machine_genericx86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_genericx86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_edgerouter ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_beaglebone-yocto ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_mpc8315e-rdb ?= "77f031b182885c177b3a96098ae61271911a7954"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "5.2.17"
LINUX_VERSION_genericx86-64 = "5.2.17"
LINUX_VERSION_edgerouter = "5.2.17"
LINUX_VERSION_beaglebone-yocto = "5.2.17"
LINUX_VERSION_mpc8315e-rdb = "5.2.17"

View File

@@ -0,0 +1,23 @@
KBRANCH_genericx86 = "v5.4/standard/base"
KBRANCH_genericx86-64 = "v5.4/standard/base"
KBRANCH_edgerouter = "v5.4/standard/edgerouter"
KBRANCH_beaglebone-yocto = "v5.4/standard/beaglebone"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
SRCREV_machine_genericx86 ?= "f4d7dbafb103e4f782323017c239c548871c1567"
SRCREV_machine_genericx86-64 ?= "f4d7dbafb103e4f782323017c239c548871c1567"
SRCREV_machine_edgerouter ?= "f4d7dbafb103e4f782323017c239c548871c1567"
SRCREV_machine_beaglebone-yocto ?= "f4d7dbafb103e4f782323017c239c548871c1567"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION_genericx86 = "5.4.20"
LINUX_VERSION_genericx86-64 = "5.4.20"
LINUX_VERSION_edgerouter = "5.4.20"
LINUX_VERSION_beaglebone-yocto = "5.4.20"

View File

@@ -1,4 +0,0 @@
# short-description: Create SD card image for MPC8315E-RDB
# long-description: Create a partitioned SD card image for Freescale MPC8315E-RDB reference hardware.
part /boot --source bootimg-partition --ondisk sdb --fstype=ext3 --label boot
part / --source rootfs --ondisk sdb --fstype=ext3 --label root

View File

@@ -90,7 +90,7 @@ oe_runconf () {
cfgscript=`python3 -c "import os; print(os.path.relpath(os.path.dirname('${CONFIGURE_SCRIPT}'), '.'))"`/$cfgscript_name
if [ -x "$cfgscript" ] ; then
bbnote "Running $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} $@"
if ! ${CACHED_CONFIGUREVARS} $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then
if ! ${CACHED_CONFIGUREVARS} CONFIG_SHELL=/bin/bash $cfgscript ${CONFIGUREOPTS} ${EXTRA_OECONF} "$@"; then
bbnote "The following config.log files may provide further information."
bbnote `find ${B} -ignore_readdir_race -type f -name config.log`
bbfatal_log "configure failed"

View File

@@ -496,7 +496,7 @@ python () {
d.appendVarFlag('do_devshell', 'depends', ' virtual/fakeroot-native:do_populate_sysroot')
need_machine = d.getVar('COMPATIBLE_MACHINE')
if need_machine:
if need_machine and not d.getVar('PARSE_ALL_RECIPES', False):
import re
compat_machines = (d.getVar('MACHINEOVERRIDES') or "").split(":")
for m in compat_machines:
@@ -505,7 +505,7 @@ python () {
else:
raise bb.parse.SkipRecipe("incompatible with machine %s (not in COMPATIBLE_MACHINE)" % d.getVar('MACHINE'))
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False) or d.getVar('PARSE_ALL_RECIPES', False)
if not source_mirror_fetch:
need_host = d.getVar('COMPATIBLE_HOST')
if need_host:

View File

@@ -40,6 +40,7 @@ BUILDHISTORY_SDK_FILES ?= "conf/local.conf conf/bblayers.conf conf/auto.conf con
BUILDHISTORY_COMMIT ?= "1"
BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
BUILDHISTORY_PUSH_REPO ?= ""
BUILDHISTORY_TAG ?= "build"
SSTATEPOSTINSTFUNCS_append = " buildhistory_emit_pkghistory"
# We want to avoid influencing the signatures of sstate tasks - first the function itself:
@@ -824,9 +825,9 @@ END
if [ ! -e .git ] ; then
git init -q
else
git tag -f build-minus-3 build-minus-2 > /dev/null 2>&1 || true
git tag -f build-minus-2 build-minus-1 > /dev/null 2>&1 || true
git tag -f build-minus-1 > /dev/null 2>&1 || true
git tag -f ${BUILDHISTORY_TAG}-minus-3 ${BUILDHISTORY_TAG}-minus-2 > /dev/null 2>&1 || true
git tag -f ${BUILDHISTORY_TAG}-minus-2 ${BUILDHISTORY_TAG}-minus-1 > /dev/null 2>&1 || true
git tag -f ${BUILDHISTORY_TAG}-minus-1 > /dev/null 2>&1 || true
fi
check_git_config

View File

@@ -63,8 +63,9 @@ OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM_class-native = "BOTH"
EXTRA_OECMAKE_append = " ${PACKAGECONFIG_CONFARGS}"
EXTRA_OECMAKE_BUILD_prepend_task-compile = "${PARALLEL_MAKE} "
EXTRA_OECMAKE_BUILD_prepend_task-install = "${PARALLEL_MAKEINST} "
export CMAKE_BUILD_PARALLEL_LEVEL
CMAKE_BUILD_PARALLEL_LEVEL_task-compile = "${@oe.utils.parallel_make(d, False)}"
CMAKE_BUILD_PARALLEL_LEVEL_task-install = "${@oe.utils.parallel_make(d, True)}"
OECMAKE_TARGET_COMPILE ?= "all"
OECMAKE_TARGET_INSTALL ?= "install"

View File

@@ -70,7 +70,6 @@ libdir = "${exec_prefix}/lib/${CROSS_TARGET_SYS_DIR}"
libexecdir = "${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/"
do_populate_sysroot[stamp-extra-info] = ""
do_packagedata[stamp-extra-info] = ""
do_install () {

View File

@@ -5,9 +5,15 @@ NATIVESDKLIBC ?= "libc-glibc"
LIBCOVERRIDE = ":${NATIVESDKLIBC}"
MACHINEOVERRIDES = ""
PACKAGE_ARCH = "${SDK_ARCH}"
python () {
# set TUNE_PKGARCH to SDK_ARCH
d.setVar('TUNE_PKGARCH', d.getVar('SDK_ARCH'))
# Set features here to prevent appends and distro features backfill
# from modifying nativesdk distro features
features = set(d.getVar("DISTRO_FEATURES_NATIVESDK").split())
filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVESDK"), d).split())
d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered)))
}
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
@@ -37,7 +43,6 @@ target_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
target_exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
baselib = "lib"
do_populate_sysroot[stamp-extra-info] = ""
do_packagedata[stamp-extra-info] = ""
# Need to force this to ensure consitency across architectures

View File

@@ -59,7 +59,7 @@ DT_BOOT_CPU ??= "0"
DTC_FLAGS ?= "-R ${DT_RESERVED_MAP} -b ${DT_BOOT_CPU}"
DTC_PPFLAGS ?= "-nostdinc -undef -D__DTS__ -x assembler-with-cpp"
DTC_BFLAGS ?= "-p ${DT_PADDING_SIZE}"
DTC_BFLAGS ?= "-p ${DT_PADDING_SIZE} -@"
DTC_OFLAGS ?= "-p 0 -@ -H epapr"
python () {

View File

@@ -23,6 +23,9 @@
# Copyright 2013 (C) O.S. Systems Software LTDA.
python () {
if d.getVar('PARSE_ALL_RECIPES', False):
return
# Assume at least one var is set.
distro_features = set((d.getVar('DISTRO_FEATURES') or '').split())

View File

@@ -20,7 +20,7 @@ if [ -n "$D" ] ; then
$INTERCEPT_DIR/postinst_intercept update_font_cache ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} \
'bindir="${bindir}"' \
'libdir="${libdir}"' \
'libexecdir="${libexecdir}"' \
'libexecdir="${libexecdir}"' \
'base_libdir="${base_libdir}"' \
'fontconfigcachedir="${FONTCONFIG_CACHE_DIR}"' \
'fontconfigcacheparams="${FONTCONFIG_CACHE_PARAMS}"' \

View File

@@ -53,6 +53,7 @@ GOTOOLDIR_class-native = "${STAGING_LIBDIR_NATIVE}/go/pkg/tool/${BUILD_GOTUPLE}"
export GOTOOLDIR
export CGO_ENABLED ?= "1"
export CGO_ENABLED_riscv64 = "0"
export CGO_CFLAGS ?= "${CFLAGS}"
export CGO_CPPFLAGS ?= "${CPPFLAGS}"
export CGO_CXXFLAGS ?= "${CXXFLAGS}"
@@ -147,7 +148,7 @@ INSANE_SKIP_${PN} += "ldflags"
# doesn't support -buildmode=pie, so skip the QA checking for mips and its
# variants.
python() {
if 'mips' in d.getVar('TARGET_ARCH'):
if 'mips' in d.getVar('TARGET_ARCH') or 'riscv' in d.getVar('TARGET_ARCH'):
d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
else:
d.appendVar('GOBUILDFLAGS', ' -buildmode=pie')

View File

@@ -105,7 +105,7 @@ def icecc_dep_prepend(d):
return "icecc-create-env-native"
return ""
DEPENDS_prepend += "${@icecc_dep_prepend(d)} "
DEPENDS_prepend = "${@icecc_dep_prepend(d)} "
get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC"
def get_cross_kernel_cc(bb,d):

View File

@@ -609,6 +609,7 @@ do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[noexec] = "1"
deltask do_populate_lic
deltask do_populate_sysroot
do_package[noexec] = "1"
deltask do_package_qa

View File

@@ -4,7 +4,7 @@ WICVARS ?= "\
BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \
IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS \
KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME"
KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME APPEND"
inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}

View File

@@ -182,7 +182,7 @@ def package_qa_check_staticdev(path, name, d, elf, messages):
libgcc.a, libgcov.a will be skipped in their packages
"""
if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a"):
if not name.endswith("-pic") and not name.endswith("-staticdev") and not name.endswith("-ptest") and path.endswith(".a") and not path.endswith("_nonshared.a") and not '/usr/lib/debug-static/' in path and not '/.debug-static/' in path:
package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
@@ -194,7 +194,7 @@ def package_qa_check_mime(path, name, d, elf, messages):
"""
if d.getVar("datadir") + "/mime/packages" in path and path.endswith('.xml') and not bb.data.inherits_class("mime", d):
package_qa_add_message(messages, "mime", "package contains mime types but does not inhert mime: %s path '%s'" % \
package_qa_add_message(messages, "mime", "package contains mime types but does not inherit mime: %s path '%s'" % \
(name, package_qa_clean_path(path,d)))
QAPATHTEST[mime-xdg] = "package_qa_check_mime_xdg"

View File

@@ -391,11 +391,10 @@ fitimage_assemble() {
if [ -n "${EXTERNAL_KERNEL_DEVICETREE}" ]; then
dtbcount=1
for DTBFILE in ${EXTERNAL_KERNEL_DEVICETREE}/*.dtb; do
DTB=`basename ${DTBFILE}`
for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" \( -name '*.dtb' -o -name '*.dtbo' \) -printf '%P\n' | sort); do
DTB=$(echo "${DTB}" | tr '/' '_')
DTBS="${DTBS} ${DTB}"
fitimage_emit_section_dtb ${1} ${DTB} ${DTBFILE}
fitimage_emit_section_dtb ${1} ${DTB} "${EXTERNAL_KERNEL_DEVICETREE}/${DTB}"
done
fi

View File

@@ -3,6 +3,22 @@ SRCTREECOVEREDTASKS += "do_kernel_configme do_validate_branches do_kernel_config
PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe"
PATCH_GIT_USER_NAME ?= "OpenEmbedded"
# The distro or local.conf should set this, but if nobody cares...
LINUX_KERNEL_TYPE ??= "standard"
# KMETA ?= ""
KBRANCH ?= "master"
KMACHINE ?= "${MACHINE}"
SRCREV_FORMAT ?= "meta_machine"
# LEVELS:
# 0: no reporting
# 1: report options that are specified, but not in the final config
# 2: report options that are not hardware related, but set by a BSP
KCONF_AUDIT_LEVEL ?= "1"
KCONF_BSP_AUDIT_LEVEL ?= "0"
KMETA_AUDIT ?= "yes"
# returns local (absolute) path names for all valid patches in the
# src_uri
def find_patches(d,subdir):
@@ -31,7 +47,7 @@ def find_sccs(d):
base, ext = os.path.splitext(os.path.basename(s))
if ext and ext in [".scc", ".cfg"]:
sources_list.append(s)
elif base and base in 'defconfig':
elif base and 'defconfig' in base:
sources_list.append(s)
return sources_list
@@ -83,13 +99,6 @@ do_kernel_metadata() {
fi
fi
machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
machine_srcrev="${SRCREV_machine}"
if [ -z "${machine_srcrev}" ]; then
# fallback to SRCREV if a non machine_meta tree is being built
machine_srcrev="${SRCREV}"
fi
# In a similar manner to the kernel itself:
#
# defconfig: $(obj)/conf
@@ -318,8 +327,6 @@ do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot"
do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot"
do_kernel_configme[dirs] += "${S} ${B}"
do_kernel_configme() {
set +e
# translate the kconfig_mode into something that merge_config.sh
# understands
case ${KCONFIG_MODE} in
@@ -345,13 +352,20 @@ do_kernel_configme() {
bbfatal_log "Could not find configuration queue (${meta_dir}/config.queue)"
fi
CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" CC="${KERNEL_CC}" ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} > ${meta_dir}/cfg/merge_config_build.log 2>&1
if [ $? -ne 0 ]; then
bbfatal_log "Could not configure ${KMACHINE}-${LINUX_KERNEL_TYPE}"
CFLAGS="${CFLAGS} ${TOOLCHAIN_OPTIONS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" ARCH=${ARCH} merge_config.sh -O ${B} ${config_flags} ${configs} > ${meta_dir}/cfg/merge_config_build.log 2>&1
if [ $? -ne 0 -o ! -f ${B}/.config ]; then
bberror "Could not generate a .config for ${KMACHINE}-${LINUX_KERNEL_TYPE}"
if [ ${KCONF_AUDIT_LEVEL} -gt 1 ]; then
bbfatal_log "`cat ${meta_dir}/cfg/merge_config_build.log`"
else
bbfatal_log "Details can be found at: ${S}/${meta_dir}/cfg/merge_config_build.log"
fi
fi
echo "# Global settings from linux recipe" >> ${B}/.config
echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config
if [ ! -z "${LINUX_VERSION_EXTENSION}" ]; then
echo "# Global settings from linux recipe" >> ${B}/.config
echo "CONFIG_LOCALVERSION="\"${LINUX_VERSION_EXTENSION}\" >> ${B}/.config
fi
}
addtask kernel_configme before do_configure after do_patch
@@ -370,6 +384,7 @@ python do_kernel_configcheck() {
env = os.environ.copy()
env['PATH'] = "%s:%s%s" % (d.getVar('PATH'), s, "/scripts/util/")
env['LD'] = "${KERNEL_LD}"
try:
configs = subprocess.check_output(['scc', '--configs', '-o', s + '/.kernel-meta'], env=env).decode('utf-8')
@@ -474,3 +489,8 @@ python () {
if 'do_diffconfig' in d:
bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d)
}
# extra tasks
addtask kernel_version_sanity_check after do_kernel_metadata do_kernel_checkout before do_compile
addtask validate_branches before do_patch after do_kernel_checkout
addtask kernel_configcheck after do_configure before do_compile

View File

@@ -508,7 +508,7 @@ sysroot_stage_all () {
:
}
KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" oldnoconfig"
KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" LD="${KERNEL_LD}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" LD="${KERNEL_LD}" oldnoconfig"
python check_oldest_kernel() {
oldest_kernel = d.getVar('OLDEST_KERNEL')

View File

@@ -1,37 +0,0 @@
do_install() {
oe_runmake install_root=${D} install
install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf
install -d ${D}${localedir}
make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
# get rid of some broken files...
for i in ${GLIBC_BROKEN_LOCALES}; do
sed -i "/$i/d" ${WORKDIR}/SUPPORTED
done
rm -f ${D}${sysconfdir}/rpc
rm -rf ${D}${datadir}/zoneinfo
rm -rf ${D}${libexecdir}/getconf
}
def get_libc_fpu_setting(bb, d):
if d.getVar('TARGET_FPU') in [ 'soft', 'ppc-efd' ]:
return "--without-fp"
return ""
python populate_packages_prepend () {
if d.getVar('DEBIAN_NAMES'):
pkgs = d.getVar('PACKAGES').split()
bpn = d.getVar('BPN')
prefix = d.getVar('MLPREFIX') or ""
# Set the base package...
d.setVar('PKG_' + prefix + bpn, prefix + 'libc6')
libcprefix = prefix + bpn + '-'
for p in pkgs:
# And all the subpackages.
if p.startswith(libcprefix):
renamed = p.replace(bpn, 'libc6', 1)
d.setVar('PKG_' + p, renamed)
# For backward compatibility with old -dbg package
d.appendVar('RPROVIDES_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
d.appendVar('RCONFLICTS_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
d.appendVar('RREPLACES_' + libcprefix + 'dbg', ' ' + prefix + 'libc-dbg')
}

View File

@@ -18,8 +18,15 @@ pkg_postinst_append_${MAN_PKG} () {
if test -n "$D"; then
if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true','false', d)}; then
sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf | ${@qemu_run_binary(d, '$D', '${bindir}/mandb')} -C - -u -q $D${mandir}
chown -R root:root $D${mandir}
mkdir -p $D${localstatedir}/cache/man
mv $D${mandir}/index.db $D${localstatedir}/cache/man
cd $D${mandir}
find . -name index.db | while read index; do
mkdir -p $D${localstatedir}/cache/man/$(dirname ${index})
mv ${index} $D${localstatedir}/cache/man/${index}
chown man:man $D${localstatedir}/cache/man/${index}
done
cd -
else
$INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX}
fi

View File

@@ -57,7 +57,7 @@ def meson_cpu_family(var, d):
return 'mips64'
elif re.match(r"i[3-6]86", arch):
return "x86"
elif arch == "microblazeel" or arch == "microblazeeb":
elif arch == "microblazeel":
return "microblaze"
else:
return arch
@@ -91,7 +91,6 @@ c = ${@meson_array('CC', d)}
cpp = ${@meson_array('CXX', d)}
ar = ${@meson_array('AR', d)}
nm = ${@meson_array('NM', d)}
ld = ${@meson_array('LD', d)}
strip = ${@meson_array('STRIP', d)}
readelf = ${@meson_array('READELF', d)}
pkgconfig = 'pkg-config'
@@ -122,6 +121,10 @@ EOF
CONFIGURE_FILES = "meson.build"
meson_do_configure() {
# Meson requires this to be 'bfd, 'lld' or 'gold' from 0.53 onwards
# https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3
unset LD
# Work around "Meson fails if /tmp is mounted with noexec #2972"
mkdir -p "${B}/meson-private/tmp"
export TMPDIR="${B}/meson-private/tmp"
@@ -158,6 +161,15 @@ meson_do_configure_prepend_class-native() {
export PKG_CONFIG="pkg-config-native"
}
python meson_do_qa_configure() {
import re
warn_re = re.compile(r"^WARNING: Cross property (.+) is using default value (.+)$", re.MULTILINE)
log = open(d.expand("${B}/meson-logs/meson-log.txt")).read()
for (prop, value) in warn_re.findall(log):
bb.warn("Meson cross property %s used without explicit assignment, defaulting to %s" % (prop, value))
}
do_configure[postfuncs] += "meson_do_qa_configure"
do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
meson_do_compile() {
ninja -v ${PARALLEL_MAKE}

View File

@@ -191,7 +191,6 @@ do_addto_recipe_sysroot[deptask] = "do_populate_sysroot"
inherit nopackages
do_packagedata[stamp-extra-info] = ""
do_populate_sysroot[stamp-extra-info] = ""
USE_NLS = "no"

View File

@@ -107,7 +107,6 @@ python () {
addhandler nativesdk_virtclass_handler
nativesdk_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
do_populate_sysroot[stamp-extra-info] = ""
do_packagedata[stamp-extra-info] = ""
USE_NLS = "${SDKUSE_NLS}"

View File

@@ -1,94 +1,307 @@
# Copyright (C) 2020 Savoir-Faire Linux
#
# SPDX-License-Identifier: GPL-2.0-only
#
# This bbclass builds and installs an npm package to the target. The package
# sources files should be fetched in the calling recipe by using the SRC_URI
# variable. The ${S} variable should be updated depending of your fetcher.
#
# Usage:
# SRC_URI = "..."
# inherit npm
#
# Optional variables:
# NPM_ARCH:
# Override the auto generated npm architecture.
#
# NPM_INSTALL_DEV:
# Set to 1 to also install devDependencies.
DEPENDS_prepend = "nodejs-native "
RDEPENDS_${PN}_prepend = "nodejs "
S = "${WORKDIR}/npmpkg"
def node_pkgname(d):
bpn = d.getVar('BPN')
if bpn.startswith("node-"):
return bpn[5:]
return bpn
NPMPN ?= "${@node_pkgname(d)}"
NPM_INSTALLDIR = "${libdir}/node_modules/${NPMPN}"
# function maps arch names to npm arch names
def npm_oe_arch_map(target_arch, d):
import re
if re.match('p(pc|owerpc)(|64)', target_arch): return 'ppc'
elif re.match('i.86$', target_arch): return 'ia32'
elif re.match('x86_64$', target_arch): return 'x64'
elif re.match('arm64$', target_arch): return 'arm'
return target_arch
NPM_ARCH ?= "${@npm_oe_arch_map(d.getVar('TARGET_ARCH'), d)}"
NPM_INSTALL_DEV ?= "0"
npm_do_compile() {
# Copy in any additionally fetched modules
if [ -d ${WORKDIR}/node_modules ] ; then
cp -a ${WORKDIR}/node_modules ${S}/
fi
# changing the home directory to the working directory, the .npmrc will
# be created in this directory
export HOME=${WORKDIR}
if [ "${NPM_INSTALL_DEV}" = "1" ]; then
npm config set dev true
else
npm config set dev false
fi
npm set cache ${WORKDIR}/npm_cache
# clear cache before every build
npm cache clear --force
# Install pkg into ${S} without going to the registry
if [ "${NPM_INSTALL_DEV}" = "1" ]; then
npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --no-registry install
else
npm --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry install
fi
def npm_target_arch_map(target_arch):
"""Maps arch names to npm arch names"""
import re
if re.match("p(pc|owerpc)(|64)", target_arch):
return "ppc"
elif re.match("i.86$", target_arch):
return "ia32"
elif re.match("x86_64$", target_arch):
return "x64"
elif re.match("arm64$", target_arch):
return "arm"
return target_arch
NPM_ARCH ?= "${@npm_target_arch_map(d.getVar("TARGET_ARCH"))}"
NPM_PACKAGE = "${WORKDIR}/npm-package"
NPM_CACHE = "${WORKDIR}/npm-cache"
NPM_BUILD = "${WORKDIR}/npm-build"
def npm_global_configs(d):
"""Get the npm global configuration"""
configs = []
# Ensure no network access is done
configs.append(("offline", "true"))
configs.append(("proxy", "http://invalid"))
# Configure the cache directory
configs.append(("cache", d.getVar("NPM_CACHE")))
return configs
def npm_pack(env, srcdir, workdir):
"""Run 'npm pack' on a specified directory"""
import shlex
cmd = "npm pack %s" % shlex.quote(srcdir)
configs = [("ignore-scripts", "true")]
tarball = env.run(cmd, configs=configs, workdir=workdir).strip("\n")
return os.path.join(workdir, tarball)
python npm_do_configure() {
"""
Step one: configure the npm cache and the main npm package
Every dependencies have been fetched and patched in the source directory.
They have to be packed (this remove unneeded files) and added to the npm
cache to be available for the next step.
The main package and its associated manifest file and shrinkwrap file have
to be configured to take into account these cached dependencies.
"""
import base64
import copy
import json
import re
import shlex
import tempfile
from bb.fetch2.npm import NpmEnvironment
from bb.fetch2.npm import npm_unpack
from bb.fetch2.npmsw import foreach_dependencies
from bb.progress import OutOfProgressHandler
bb.utils.remove(d.getVar("NPM_CACHE"), recurse=True)
bb.utils.remove(d.getVar("NPM_PACKAGE"), recurse=True)
env = NpmEnvironment(d, configs=npm_global_configs(d))
def _npm_cache_add(tarball):
"""Run 'npm cache add' for a specified tarball"""
cmd = "npm cache add %s" % shlex.quote(tarball)
env.run(cmd)
def _npm_integrity(tarball):
"""Return the npm integrity of a specified tarball"""
sha512 = bb.utils.sha512_file(tarball)
return "sha512-" + base64.b64encode(bytes.fromhex(sha512)).decode()
def _npm_version(tarball):
"""Return the version of a specified tarball"""
regex = r"-(\d+\.\d+\.\d+(-.*)?(\+.*)?)\.tgz"
return re.search(regex, tarball).group(1)
def _npmsw_dependency_dict(orig, deptree):
"""
Return the sub dictionary in the 'orig' dictionary corresponding to the
'deptree' dependency tree. This function follows the shrinkwrap file
format.
"""
ptr = orig
for dep in deptree:
if "dependencies" not in ptr:
ptr["dependencies"] = {}
ptr = ptr["dependencies"]
if dep not in ptr:
ptr[dep] = {}
ptr = ptr[dep]
return ptr
# Manage the manifest file and shrinkwrap files
orig_manifest_file = d.expand("${S}/package.json")
orig_shrinkwrap_file = d.expand("${S}/npm-shrinkwrap.json")
cached_manifest_file = d.expand("${NPM_PACKAGE}/package.json")
cached_shrinkwrap_file = d.expand("${NPM_PACKAGE}/npm-shrinkwrap.json")
with open(orig_manifest_file, "r") as f:
orig_manifest = json.load(f)
cached_manifest = copy.deepcopy(orig_manifest)
cached_manifest.pop("dependencies", None)
cached_manifest.pop("devDependencies", None)
with open(orig_shrinkwrap_file, "r") as f:
orig_shrinkwrap = json.load(f)
cached_shrinkwrap = copy.deepcopy(orig_shrinkwrap)
cached_shrinkwrap.pop("dependencies", None)
# Manage the dependencies
progress = OutOfProgressHandler(d, r"^(\d+)/(\d+)$")
progress_total = 1 # also count the main package
progress_done = 0
def _count_dependency(name, params, deptree):
nonlocal progress_total
progress_total += 1
def _cache_dependency(name, params, deptree):
destsubdirs = [os.path.join("node_modules", dep) for dep in deptree]
destsuffix = os.path.join(*destsubdirs)
with tempfile.TemporaryDirectory() as tmpdir:
# Add the dependency to the npm cache
destdir = os.path.join(d.getVar("S"), destsuffix)
tarball = npm_pack(env, destdir, tmpdir)
_npm_cache_add(tarball)
# Add its signature to the cached shrinkwrap
dep = _npmsw_dependency_dict(cached_shrinkwrap, deptree)
dep["version"] = _npm_version(tarball)
dep["integrity"] = _npm_integrity(tarball)
if params.get("dev", False):
dep["dev"] = True
# Display progress
nonlocal progress_done
progress_done += 1
progress.write("%d/%d" % (progress_done, progress_total))
dev = bb.utils.to_boolean(d.getVar("NPM_INSTALL_DEV"), False)
foreach_dependencies(orig_shrinkwrap, _count_dependency, dev)
foreach_dependencies(orig_shrinkwrap, _cache_dependency, dev)
# Configure the main package
with tempfile.TemporaryDirectory() as tmpdir:
tarball = npm_pack(env, d.getVar("S"), tmpdir)
npm_unpack(tarball, d.getVar("NPM_PACKAGE"), d)
# Configure the cached manifest file and cached shrinkwrap file
def _update_manifest(depkey):
for name in orig_manifest.get(depkey, {}):
version = cached_shrinkwrap["dependencies"][name]["version"]
if depkey not in cached_manifest:
cached_manifest[depkey] = {}
cached_manifest[depkey][name] = version
_update_manifest("dependencies")
if dev:
_update_manifest("devDependencies")
with open(cached_manifest_file, "w") as f:
json.dump(cached_manifest, f, indent=2)
with open(cached_shrinkwrap_file, "w") as f:
json.dump(cached_shrinkwrap, f, indent=2)
}
python npm_do_compile() {
"""
Step two: install the npm package
Use the configured main package and the cached dependencies to run the
installation process. The installation is done in a directory which is
not the destination directory yet.
A combination of 'npm pack' and 'npm install' is used to ensure that the
installed files are actual copies instead of symbolic links (which is the
default npm behavior).
"""
import shlex
import tempfile
from bb.fetch2.npm import NpmEnvironment
bb.utils.remove(d.getVar("NPM_BUILD"), recurse=True)
env = NpmEnvironment(d, configs=npm_global_configs(d))
dev = bb.utils.to_boolean(d.getVar("NPM_INSTALL_DEV"), False)
with tempfile.TemporaryDirectory() as tmpdir:
args = []
configs = []
if dev:
configs.append(("also", "development"))
else:
configs.append(("only", "production"))
# Report as many logs as possible for debugging purpose
configs.append(("loglevel", "silly"))
# Configure the installation to be done globally in the build directory
configs.append(("global", "true"))
configs.append(("prefix", d.getVar("NPM_BUILD")))
# Add node-gyp configuration
configs.append(("arch", d.getVar("NPM_ARCH")))
configs.append(("release", "true"))
sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
configs.append(("nodedir", nodedir))
bindir = os.path.join(sysroot, d.getVar("bindir_native").strip("/"))
pythondir = os.path.join(bindir, "python-native", "python")
configs.append(("python", pythondir))
# Add node-pre-gyp configuration
args.append(("target_arch", d.getVar("NPM_ARCH")))
args.append(("build-from-source", "true"))
# Pack and install the main package
tarball = npm_pack(env, d.getVar("NPM_PACKAGE"), tmpdir)
env.run("npm install %s" % shlex.quote(tarball), args=args, configs=configs)
}
npm_do_install() {
# changing the home directory to the working directory, the .npmrc will
# be created in this directory
export HOME=${WORKDIR}
mkdir -p ${D}${libdir}/node_modules
local NPM_PACKFILE=$(npm pack .)
npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPM_PACKFILE}
ln -fs node_modules ${D}${libdir}/node
find ${D}${NPM_INSTALLDIR} -type f \( -name "*.a" -o -name "*.d" -o -name "*.o" \) -delete
if [ -d ${D}${prefix}/etc ] ; then
# This will be empty
rmdir ${D}${prefix}/etc
fi
}
# Step three: final install
#
# The previous installation have to be filtered to remove some extra files.
python populate_packages_prepend () {
instdir = d.expand('${D}${NPM_INSTALLDIR}')
extrapackages = oe.package.npm_split_package_dirs(instdir)
pkgnames = extrapackages.keys()
d.prependVar('PACKAGES', '%s ' % ' '.join(pkgnames))
for pkgname in pkgnames:
pkgrelpath, pdata = extrapackages[pkgname]
pkgpath = '${NPM_INSTALLDIR}/' + pkgrelpath
# package names can't have underscores but npm packages sometimes use them
oe_pkg_name = pkgname.replace('_', '-')
expanded_pkgname = d.expand(oe_pkg_name)
d.setVar('FILES_%s' % expanded_pkgname, pkgpath)
if pdata:
version = pdata.get('version', None)
if version:
d.setVar('PKGV_%s' % expanded_pkgname, version)
description = pdata.get('description', None)
if description:
d.setVar('SUMMARY_%s' % expanded_pkgname, description.replace(u"\u2018", "'").replace(u"\u2019", "'"))
d.appendVar('RDEPENDS_%s' % d.getVar('PN'), ' %s' % ' '.join(pkgnames).replace('_', '-'))
rm -rf ${D}
# Copy the entire lib and bin directories
install -d ${D}/${nonarch_libdir}
cp --no-preserve=ownership --recursive ${NPM_BUILD}/lib/. ${D}/${nonarch_libdir}
if [ -d "${NPM_BUILD}/bin" ]
then
install -d ${D}/${bindir}
cp --no-preserve=ownership --recursive ${NPM_BUILD}/bin/. ${D}/${bindir}
fi
# If the package (or its dependencies) uses node-gyp to build native addons,
# object files, static libraries or other temporary files can be hidden in
# the lib directory. To reduce the package size and to avoid QA issues
# (staticdev with static library files) these files must be removed.
local GYP_REGEX=".*/build/Release/[^/]*.node"
# Remove any node-gyp directory in ${D} to remove temporary build files
for GYP_D_FILE in $(find ${D} -regex "${GYP_REGEX}")
do
local GYP_D_DIR=${GYP_D_FILE%/Release/*}
rm --recursive --force ${GYP_D_DIR}
done
# Copy only the node-gyp release files
for GYP_B_FILE in $(find ${NPM_BUILD} -regex "${GYP_REGEX}")
do
local GYP_D_FILE=${D}/${prefix}/${GYP_B_FILE#${NPM_BUILD}}
install -d ${GYP_D_FILE%/*}
install -m 755 ${GYP_B_FILE} ${GYP_D_FILE}
done
# Remove the shrinkwrap file which does not need to be packed
rm -f ${D}/${nonarch_libdir}/node_modules/*/npm-shrinkwrap.json
rm -f ${D}/${nonarch_libdir}/node_modules/@*/*/npm-shrinkwrap.json
# node(1) is using /usr/lib/node as default include directory and npm(1) is
# using /usr/lib/node_modules as install directory. Let's make both happy.
ln -fs node_modules ${D}/${nonarch_libdir}/node
}
FILES_${PN} += " \
${bindir} \
${libdir}/node \
${NPM_INSTALLDIR} \
${nonarch_libdir} \
"
EXPORT_FUNCTIONS do_compile do_install
EXPORT_FUNCTIONS do_configure do_compile do_install

View File

@@ -416,6 +416,49 @@ def splitdebuginfo(file, dvar, debugdir, debuglibdir, debugappend, debugsrcdir,
return (file, sources)
def splitstaticdebuginfo(file, dvar, debugstaticdir, debugstaticlibdir, debugstaticappend, debugsrcdir, d):
# Unlike the function above, there is no way to split a static library
# two components. So to get similar results we will copy the unmodified
# static library (containing the debug symbols) into a new directory.
# We will then strip (preserving symbols) the static library in the
# typical location.
#
# return a mapping of files:debugsources
import stat
import shutil
src = file[len(dvar):]
dest = debugstaticlibdir + os.path.dirname(src) + debugstaticdir + "/" + os.path.basename(src) + debugstaticappend
debugfile = dvar + dest
sources = []
# Copy the file...
bb.utils.mkdirhier(os.path.dirname(debugfile))
#bb.note("Copy %s -> %s" % (file, debugfile))
dvar = d.getVar('PKGD')
newmode = None
if not os.access(file, os.W_OK) or os.access(file, os.R_OK):
origmode = os.stat(file)[stat.ST_MODE]
newmode = origmode | stat.S_IWRITE | stat.S_IREAD
os.chmod(file, newmode)
# We need to extract the debug src information here...
if debugsrcdir:
sources = source_info(file, d)
bb.utils.mkdirhier(os.path.dirname(debugfile))
# Copy the unmodified item to the debug directory
shutil.copy2(file, debugfile)
if newmode:
os.chmod(file, origmode)
return (file, sources)
def copydebugsources(debugsrcdir, sources, d):
# The debug src information written out to sourcefile is further processed
# and copied to the destination here.
@@ -916,25 +959,37 @@ python split_and_strip_files () {
if d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-file-directory':
# Single debug-file-directory style debug info
debugappend = ".debug"
debugstaticappend = ""
debugdir = ""
debugstaticdir = ""
debuglibdir = "/usr/lib/debug"
debugstaticlibdir = "/usr/lib/debug-static"
debugsrcdir = "/usr/src/debug"
elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-without-src':
# Original OE-core, a.k.a. ".debug", style debug info, but without sources in /usr/src/debug
debugappend = ""
debugstaticappend = ""
debugdir = "/.debug"
debugstaticdir = "/.debug-static"
debuglibdir = ""
debugstaticlibdir = ""
debugsrcdir = ""
elif d.getVar('PACKAGE_DEBUG_SPLIT_STYLE') == 'debug-with-srcpkg':
debugappend = ""
debugstaticappend = ""
debugdir = "/.debug"
debugstaticdir = "/.debug-static"
debuglibdir = ""
debugstaticlibdir = ""
debugsrcdir = "/usr/src/debug"
else:
# Original OE-core, a.k.a. ".debug", style debug info
debugappend = ""
debugstaticappend = ""
debugdir = "/.debug"
debugstaticdir = "/.debug-static"
debuglibdir = ""
debugstaticlibdir = ""
debugsrcdir = "/usr/src/debug"
#
@@ -955,12 +1010,6 @@ python split_and_strip_files () {
for root, dirs, files in cpath.walk(dvar):
for f in files:
file = os.path.join(root, f)
if file.endswith(".ko") and file.find("/lib/modules/") != -1:
kernmods.append(file)
continue
if oe.package.is_static_lib(file):
staticlibs.append(file)
continue
# Skip debug files
if debugappend and file.endswith(debugappend):
@@ -971,6 +1020,13 @@ python split_and_strip_files () {
if file in skipfiles:
continue
if file.endswith(".ko") and file.find("/lib/modules/") != -1:
kernmods.append(file)
continue
if oe.package.is_static_lib(file):
staticlibs.append(file)
continue
try:
ltarget = cpath.realpath(file, dvar, False)
s = cpath.lstat(ltarget)
@@ -1050,8 +1106,11 @@ python split_and_strip_files () {
results = oe.utils.multiprocess_launch(splitdebuginfo, list(elffiles), d, extraargs=(dvar, debugdir, debuglibdir, debugappend, debugsrcdir, d))
if debugsrcdir and not targetos.startswith("mingw"):
for file in staticlibs:
results.extend(source_info(file, d, fatal=False))
if (d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'):
results = oe.utils.multiprocess_launch(splitstaticdebuginfo, staticlibs, d, extraargs=(dvar, debugstaticdir, debugstaticlibdir, debugstaticappend, debugsrcdir, d))
else:
for file in staticlibs:
results.append( (file,source_info(file, d)) )
sources = set()
for r in results:
@@ -1120,6 +1179,9 @@ python split_and_strip_files () {
sfiles.append((file, elf_file, strip))
for f in kernmods:
sfiles.append((f, 16, strip))
if (d.getVar('PACKAGE_STRIP_STATIC') == '1' or d.getVar('PACKAGE_DEBUG_STATIC_SPLIT') == '1'):
for f in staticlibs:
sfiles.append((f, 16, strip))
oe.utils.multiprocess_launch(oe.package.runstrip, sfiles, d)
@@ -1187,7 +1249,7 @@ python populate_packages () {
dir = os.sep
for f in (files + dirs):
path = "." + os.path.join(dir, f)
if "/.debug/" in path or path.endswith("/.debug"):
if "/.debug/" in path or "/.debug-static/" in path or path.endswith("/.debug"):
debug.append(path)
for pkg in packages:
@@ -2109,10 +2171,12 @@ python package_depchains() {
# iteration, we need to list them here:
PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm pkg_postinst_ontarget INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
def gen_packagevar(d):
def gen_packagevar(d, pkgvars="PACKAGEVARS"):
ret = []
pkgs = (d.getVar("PACKAGES") or "").split()
vars = (d.getVar("PACKAGEVARS") or "").split()
vars = (d.getVar(pkgvars) or "").split()
for v in vars:
ret.append(v)
for p in pkgs:
for v in vars:
ret.append(v + "_" + p)

View File

@@ -45,6 +45,7 @@ def ipk_write_pkg(pkg, d):
import subprocess
import textwrap
import collections
import glob
def cleanupcontrol(root):
for p in ['CONTROL', 'DEBIAN']:
@@ -101,8 +102,7 @@ def ipk_write_pkg(pkg, d):
bb.utils.mkdirhier(pkgoutdir)
os.chdir(root)
cleanupcontrol(root)
from glob import glob
g = glob('*')
g = glob.glob('*')
if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV'), localdata.getVar('PKGR')))
return
@@ -237,6 +237,10 @@ def ipk_write_pkg(pkg, d):
cleanupcontrol(root)
bb.utils.unlockfile(lf)
# Have to list any variables referenced as X_<pkg> that aren't in pkgdata here
IPKEXTRAVARS = "PRIORITY MAINTAINER PACKAGE_ARCH HOMEPAGE"
ipk_write_pkg[vardeps] += "${@gen_packagevar(d, 'IPKEXTRAVARS')}"
# Otherwise allarch packages may change depending on override configuration
ipk_write_pkg[vardepsexclude] = "OVERRIDES"

View File

@@ -5,6 +5,13 @@ QUILTRCFILE ?= "${STAGING_ETCDIR_NATIVE}/quiltrc"
PATCHDEPENDENCY = "${PATCHTOOL}-native:do_populate_sysroot"
# 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. Add the dependency
# to target recipes to avoid this problem until we can rely on 2.7.4 or later.
PATCHDEPENDENCY_append_class-target = " patch-replacement-native:do_populate_sysroot"
PATCH_GIT_USER_NAME ?= "OpenEmbedded"
PATCH_GIT_USER_EMAIL ?= "oe.patch@oe"

View File

@@ -1,35 +0,0 @@
python pod_strip_version() {
import re
def opener(filename, mode):
if filename.endswith(".gz"):
import gzip
return gzip.open(filename, mode)
elif filename.endswith(".bz2"):
import bz2
return bz2.open(filename, mode)
else:
return open(filename, mode)
bad_re = re.compile(rb"Automatically generated by Pod::Man( [0-9]+.+)")
for root, dirs, files in os.walk(d.expand("${D}${mandir}")):
for filename in files:
filename = os.path.join(root, filename)
if not os.path.isfile(filename):
continue
with opener(filename, "rb") as manfile:
manpage = manfile.read()
m = bad_re.search(manpage)
if not m:
continue
bb.note("podfix: stripping version from %s" % filename)
os.unlink(filename)
with opener(filename, "wb") as manfile:
manfile.write(manpage[:m.start(1)])
manfile.write(manpage[m.end(1):])
}
do_install[postfuncs] += "pod_strip_version"

View File

@@ -21,6 +21,7 @@ def complementary_globs(featurevar, d):
SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs src-pkgs ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'doc-pkgs', '', d)}"
SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)}'
SDKIMAGE_INSTALL_COMPLEMENTARY[vardeps] += "SDKIMAGE_FEATURES"
PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target"
SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}"

View File

@@ -613,8 +613,8 @@ sdk_ext_preinst() {
exit 1
fi
# The relocation script used by buildtools installer requires python
if ! command -v python > /dev/null; then
echo "ERROR: The installer requires python, please install it first"
if ! command -v python3 > /dev/null; then
echo "ERROR: The installer requires python3, please install it first"
exit 1
fi
missing_utils=""

View File

@@ -44,10 +44,12 @@ SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
SSTATETASKS += "do_deploy_source_date_epoch"
do_deploy_source_date_epoch () {
echo "Deploying SDE to ${SDE_DIR}."
mkdir -p ${SDE_DEPLOYDIR}
if [ -e ${SDE_FILE} ]; then
echo "Deploying SDE from ${SDE_FILE} -> ${SDE_DEPLOYDIR}."
cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt
else
echo "${SDE_FILE} not found!"
fi
}
@@ -56,7 +58,11 @@ python do_deploy_source_date_epoch_setscene () {
bb.utils.mkdirhier(d.getVar('SDE_DIR'))
sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), '__source_date_epoch.txt')
if os.path.exists(sde_file):
os.rename(sde_file, d.getVar('SDE_FILE'))
target = d.getVar('SDE_FILE')
bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target))
os.rename(sde_file, target)
else:
bb.debug(1, "%s not found!" % sde_file)
}
do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}"
@@ -164,16 +170,32 @@ python do_create_source_date_epoch_stamp() {
f.write(str(source_date_epoch))
}
def get_source_date_epoch_value(d):
cached = d.getVar('__CACHED_SOURCE_DATE_EPOCH')
if cached:
return cached
epochfile = d.getVar('SDE_FILE')
source_date_epoch = 0
if os.path.isfile(epochfile):
with open(epochfile, 'r') as f:
s = f.read()
try:
source_date_epoch = int(s)
except ValueError:
bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to 0" % s)
source_date_epoch = 0
bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
else:
bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch))
d.setVar('__CACHED_SOURCE_DATE_EPOCH', str(source_date_epoch))
return str(source_date_epoch)
export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
python () {
if d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1':
d.appendVarFlag("do_unpack", "postfuncs", " do_create_source_date_epoch_stamp")
epochfile = d.getVar('SDE_FILE')
source_date_epoch = "0"
if os.path.isfile(epochfile):
with open(epochfile, 'r') as f:
source_date_epoch = f.read()
bb.debug(1, "SOURCE_DATE_EPOCH: %s" % source_date_epoch)
d.setVar('SOURCE_DATE_EPOCH', source_date_epoch)
}

View File

@@ -7,6 +7,3 @@ export PERL_HASH_SEED = "0"
export SOURCE_DATE_EPOCH ??= "1520598896"
REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
BUILDNAME ??= "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"
inherit podfix

View File

@@ -356,6 +356,11 @@ python rootfs_log_check_recommends() {
# Perform any additional adjustments needed to make rootf binary reproducible
rootfs_reproducible () {
if [ "${REPRODUCIBLE_TIMESTAMP_ROOTFS}" != "" ]; then
# Convert UTC into %4Y%2m%2d%2H%2M%2S
sformatted=`date -u -d @${REPRODUCIBLE_TIMESTAMP_ROOTFS} +%4Y%2m%2d%2H%2M%2S`
echo $sformatted > ${IMAGE_ROOTFS}/etc/version
bbnote "rootfs_reproducible: set /etc/version to $sformatted"
if [ -d ${IMAGE_ROOTFS}${sysconfdir}/gconf ]; then
find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name '%gconf.xml' -print0 | xargs -0r \
sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g'

View File

@@ -2,7 +2,7 @@
# Sanity check the users setup for common misconfigurations
#
SANITY_REQUIRED_UTILITIES ?= "patch diffstat makeinfo git bzip2 tar \
SANITY_REQUIRED_UTILITIES ?= "patch diffstat git bzip2 tar \
gzip gawk chrpath wget cpio perl file which"
def bblayers_conf_file(d):

View File

@@ -35,7 +35,6 @@ def siteinfo_data_for_machine(arch, os, d):
"lm32": "endian-big bit-32",
"m68k": "endian-big bit-32",
"microblaze": "endian-big bit-32 microblaze-common",
"microblazeeb": "endian-big bit-32 microblaze-common",
"microblazeel": "endian-little bit-32 microblaze-common",
"mips": "endian-big bit-32 mips-common",
"mips64": "endian-big bit-64 mips-common",
@@ -89,8 +88,6 @@ def siteinfo_data_for_machine(arch, os, d):
"arm-linux-musleabi": "arm-linux",
"armeb-linux-gnueabi": "armeb-linux",
"armeb-linux-musleabi": "armeb-linux",
"microblazeeb-linux" : "microblaze-linux",
"microblazeeb-linux-musl" : "microblaze-linux",
"microblazeel-linux" : "microblaze-linux",
"microblazeel-linux-musl" : "microblaze-linux",
"mips-linux-musl": "mips-linux",

View File

@@ -20,7 +20,7 @@ def generate_sstatefn(spec, hash, taskname, siginfo, d):
components = spec.split(":")
# Fields 0,5,6 are mandatory, 1 is most useful, 2,3,4 are just for information
# 7 is for the separators
avail = (254 - len(hash + "_" + taskname + extension) - len(components[0]) - len(components[1]) - len(components[5]) - len(components[6]) - 7) / 3
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]
components[4] = components[4][:avail]
@@ -934,9 +934,11 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
missed.add(tid)
bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
pass
bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
if len(tasklist) >= min_tasks:
bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
tasklist = []
min_tasks = 100
for tid in sq_data['hash']:
if tid in found:
continue
@@ -945,8 +947,9 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
tasklist.append((tid, sstatefile))
if tasklist:
msg = "Checking sstate mirror object availability"
bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
if len(tasklist) >= min_tasks:
msg = "Checking sstate mirror object availability"
bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
import multiprocessing
nproc = min(multiprocessing.cpu_count(), len(tasklist))
@@ -960,7 +963,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
pool.wait_completion()
bb.event.disable_threadlock()
bb.event.fire(bb.event.ProcessFinished(msg), d)
if len(tasklist) >= min_tasks:
bb.event.fire(bb.event.ProcessFinished(msg), d)
# Likely checking an individual task hash again for multiconfig sharing of sstate tasks so skip reporting
if len(sq_data['hash']) == 1:

View File

@@ -470,6 +470,7 @@ python extend_recipe_sysroot() {
elif os.path.lexists(depdir + "/" + c):
os.unlink(depdir + "/" + c)
binfiles = {}
# Now handle installs
for dep in configuredeps:
c = setscenedeps[dep][0]
@@ -562,7 +563,16 @@ python extend_recipe_sysroot() {
if l.endswith("/"):
staging_copydir(l, targetdir, dest, seendirs)
continue
staging_copyfile(l, targetdir, dest, postinsts, seendirs)
if "/bin/" in l or "/sbin/" in l:
# defer /*bin/* files until last in case they need libs
binfiles[l] = (targetdir, dest)
else:
staging_copyfile(l, targetdir, dest, postinsts, seendirs)
# Handle deferred binfiles
for l in binfiles:
(targetdir, dest) = binfiles[l]
staging_copyfile(l, targetdir, dest, postinsts, seendirs)
bb.note("Installed into sysroot: %s" % str(msg_adding))
bb.note("Skipping as already exists in sysroot: %s" % str(msg_exists))

View File

@@ -34,6 +34,17 @@ TESTIMAGE_AUTO ??= "0"
# TEST_QEMUPARAMS can be used to pass extra parameters to qemu, e.g. "-m 1024" for setting the amount of ram to 1 GB.
# TEST_RUNQEMUPARAMS can be used to pass extra parameters to runqemu, e.g. "gl" to enable OpenGL acceleration.
# TESTIMAGE_BOOT_PATTERNS can be used to override certain patterns used to communicate with the target when booting,
# if a pattern is not specifically present on this variable a default will be used when booting the target.
# TESTIMAGE_BOOT_PATTERNS[<flag>] overrides the pattern used for that specific flag, where flag comes from a list of accepted flags
# e.g. normally the system boots and waits for a login prompt (login:), after that it sends the command: "root\n" to log as the root user
# if we wanted to log in as the hypothetical "webserver" user for example we could set the following:
# 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 accepted flags 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
TEST_LOG_DIR ?= "${WORKDIR}/testimage"
TEST_EXPORT_DIR ?= "${TMPDIR}/testimage/${PN}"
@@ -46,7 +57,7 @@ BASICTESTSUITE = "\
ping date df ssh scp python perl gi ptest parselogs \
logrotate connman systemd oe_syslog pam stap ldd xorg \
kernelmodule gcc buildcpio buildlzip buildgalculator \
dnf rpm opkg apt"
dnf rpm opkg apt weston"
DEFAULT_TEST_SUITES = "${BASICTESTSUITE}"
@@ -68,6 +79,8 @@ TEST_TARGET ?= "qemu"
TEST_QEMUPARAMS ?= ""
TEST_RUNQEMUPARAMS ?= ""
TESTIMAGE_BOOT_PATTERNS ?= ""
TESTIMAGEDEPENDS = ""
TESTIMAGEDEPENDS_append_qemuall = " qemu-native:do_populate_sysroot qemu-helper-native:do_populate_sysroot qemu-helper-native:do_addto_recipe_sysroot"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
@@ -150,6 +163,29 @@ def get_testimage_json_result_dir(d):
def get_testimage_result_id(configuration):
return '%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['MACHINE'], configuration['STARTTIME'])
def get_testimage_boot_patterns(d):
from collections import defaultdict
boot_patterns = defaultdict(str)
# Only accept certain values
accepted_patterns = ['search_reached_prompt', 'send_login_user', 'search_login_succeeded', 'search_cmd_finished']
# Not all patterns need to be overriden, e.g. perhaps we only want to change the user
boot_patterns_flags = d.getVarFlags('TESTIMAGE_BOOT_PATTERNS') or {}
if boot_patterns_flags:
patterns_set = [p for p in boot_patterns_flags.items() if p[0] in d.getVar('TESTIMAGE_BOOT_PATTERNS').split()]
for flag, flagval in patterns_set:
if flag not in accepted_patterns:
bb.fatal('Testimage: The only accepted boot patterns are: search_reached_prompt,send_login_user, \
search_login_succeeded,search_cmd_finished\n Make sure your TESTIMAGE_BOOT_PATTERNS=%s \
contains an accepted flag.' % d.getVar('TESTIMAGE_BOOT_PATTERNS'))
return
# We know boot prompt is searched through in binary format, others might be expressions
if flag == 'search_reached_prompt':
boot_patterns[flag] = flagval.encode()
else:
boot_patterns[flag] = flagval.encode().decode('unicode-escape')
return boot_patterns
def testimage_main(d):
import os
import json
@@ -207,7 +243,7 @@ def testimage_main(d):
if d.getVar("TEST_TARGET") == "qemu":
fstypes = [fs for fs in fstypes if fs in supported_fstypes]
if not fstypes:
bb.fatal('Unsupported image type built. Add a comptible image to '
bb.fatal('Unsupported image type built. Add a compatible image to '
'IMAGE_FSTYPES. Supported types: %s' %
', '.join(supported_fstypes))
qfstype = fstypes[0]
@@ -256,8 +292,12 @@ def testimage_main(d):
'kvm' : kvm,
'slirp' : slirp,
'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"),
'serial_ports': len(d.getVar("SERIAL_CONSOLES").split()),
}
if d.getVar("TESTIMAGE_BOOT_PATTERNS"):
target_kwargs['boot_patterns'] = get_testimage_boot_patterns(d)
# TODO: Currently BBPATH is needed for custom loading of targets.
# It would be better to find these modules using instrospection.
target_kwargs['target_modules_path'] = d.getVar('BBPATH')

View File

@@ -6,13 +6,13 @@
# Texinfo recipe, you can remove texinfo-native from ASSUME_PROVIDED and
# makeinfo from SANITY_REQUIRED_UTILITIES.
TEXDEP = "texinfo-native"
TEXDEP = "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'texinfo-replacement-native', 'texinfo-dummy-native', d)}"
TEXDEP_class-native = "texinfo-dummy-native"
TEXDEP_class-cross = "texinfo-dummy-native"
TEXDEP_class-crosssdk = "texinfo-dummy-native"
TEXDEP_class-cross-canadian = "texinfo-dummy-native"
DEPENDS_append = " ${TEXDEP}"
PATH_prepend_class-native = "${STAGING_BINDIR_NATIVE}/texinfo-dummy-native:"
PATH_prepend_class-cross = "${STAGING_BINDIR_NATIVE}/texinfo-dummy-native:"
# libtool-cross doesn't inherit cross
TEXDEP_pn-libtool-cross = "texinfo-dummy-native"
PATH_prepend_pn-libtool-cross = "${STAGING_BINDIR_NATIVE}/texinfo-dummy-native:"

View File

@@ -126,11 +126,12 @@ def _toaster_dumpdata(pkgdatadir, d):
datadir = os.path.join(pkgdatadir, 'runtime')
# scan and send data for each generated package
for datafile in os.listdir(datadir):
if not datafile.endswith('.packaged'):
lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
# Fire an event containing the pkg data
bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
if os.path.exists(datadir):
for datafile in os.listdir(datadir):
if not datafile.endswith('.packaged'):
lpkgdata = _toaster_load_pkgdatafile(datadir, datafile)
# Fire an event containing the pkg data
bb.event.fire(bb.event.MetadataEvent("SinglePackageInfo", lpkgdata), d)
python toaster_package_dumpdata() {
_toaster_dumpdata(d.getVar('PKGDESTWORK'), d)

View File

@@ -1,4 +1,4 @@
UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}"
UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('BUILD_ARCH', 'ppc64le', 'ld64.so.2', '', d)}"
UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
UNINATIVE_URL ?= "unset"

View File

@@ -5,3 +5,11 @@
# with general agreement from the core team.
#
OELAYOUT_ABI = "12"
#
# HASHEQUIV_HASH_VERSION is injected into the output hash calculation used by
# hashequiv. Changing this means previous hashes will no longer match, allowing
# a reset of the equivalence, for example when reproducibility issues break the
# existing match data. Distros can also append to this value for the same effect.
#
HASHEQUIV_HASH_VERSION = "1"

View File

@@ -325,7 +325,7 @@ FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
SECTION_${PN}-staticdev = "devel"
RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
FILES_${PN}-dbg = "/usr/lib/debug /usr/src/debug"
FILES_${PN}-dbg = "/usr/lib/debug /usr/lib/debug-static /usr/src/debug"
SECTION_${PN}-dbg = "devel"
ALLOW_EMPTY_${PN}-dbg = "1"
@@ -431,7 +431,7 @@ OLDEST_KERNEL = "3.2.0"
OLDEST_KERNEL_aarch64 = "3.14"
OLDEST_KERNEL_nios2 = "3.19"
OLDEST_KERNEL_powerpc64le = "3.10.0"
OLDEST_KERNEL_riscv32 = "4.15"
OLDEST_KERNEL_riscv32 = "5.4"
OLDEST_KERNEL_riscv64 = "4.15"
# SDK_OLDEST_KERNEL can't be set using overrides since there are
@@ -487,9 +487,10 @@ HOSTTOOLS += " \
[ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
head hostname iconv id install ld ldd ln ls make makeinfo md5sum mkdir mknod \
mktemp mv nm objcopy objdump od patch perl pod2man pr printf pwd \
python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh sha256sum \
head hostname iconv id install ld ldd ln ls make md5sum mkdir mknod \
mktemp mv nm objcopy objdump od patch perl pr printf pwd \
python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
sha1sum sha224sum sha256sum sha384sum sha512sum \
sleep sort split stat strings strip tail tar tee test touch tr true uname \
uniq wc wget which xargs \
"

View File

@@ -10,7 +10,7 @@ LOCALE_UTF8_ONLY ?= "0"
LOCALE_UTF8_IS_DEFAULT ?= "1"
LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
IMAGE_FEATURES ?= ""

View File

@@ -15,7 +15,7 @@ DISTRO_PN_ALIAS_pn-alsa-utils-scripts = "OE-Core"
DISTRO_PN_ALIAS_pn-atk = "Fedora=atk OpenSuSE=atk"
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
DISTRO_PN_ALIAS_pn-bjam = "OpenSuSE=boost-jam Debina=bjam"
DISTRO_PN_ALIAS_pn-bjam = "OpenSuSE=boost-jam Debian=bjam"
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez Opensuse=bluez"
DISTRO_PN_ALIAS_pn-bootchart2 = "Fedora=bootchart2 Opensuse=bootchart"
@@ -130,7 +130,7 @@ DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi-testfs = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-testfs = "OE-Core"
DISTRO_PN_ALIAS_pn-initscripts = "Fedora=initscripts Mandravia=initscripts"
DISTRO_PN_ALIAS_pn-initscripts = "Fedora=initscripts Mandriva=initscripts"
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
DISTRO_PN_ALIAS_pn-jpeg = "OpenSuSE=libjpeg Ubuntu=libjpeg62"
DISTRO_PN_ALIAS_pn-kernel-devsrc = "Debian=linux-base Ubuntu=linux"

View File

@@ -49,9 +49,9 @@ RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-at = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-at-spi2-atk = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-at-spi2-core = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-atk = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-atk = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-attr = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-autoconf = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-autoconf-archive = "Robert Yang <liezhi.yang@windriver.com>"
@@ -94,8 +94,6 @@ RECIPE_MAINTAINER_pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chkconfig-alternatives-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-clutter-1.0 = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-clutter-gst-3.0 = "Ross Burton <ross.burton@intel.com>"
@@ -148,6 +146,7 @@ RECIPE_MAINTAINER_pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
RECIPE_MAINTAINER_pn-depmodwrapper-cross = "Mark Hatle <mark.hatle@windriver.com>"
RECIPE_MAINTAINER_pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-dhcp = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-diffoscope = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-diffstat = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-diffutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-distcc = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -285,6 +284,7 @@ RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-json-c = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-json-glib = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-jquery = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-kbd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-kern-tools-native = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-kernel-devsrc = "Bruce Ashfield <bruce.ashfield@gmail.com>"
@@ -340,7 +340,6 @@ RECIPE_MAINTAINER_pn-libgudev = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libical = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libice = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libid3tag = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libidn = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libidn2 = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libinput = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-libjitterentropy = "Ross Burton <ross.burton@intel.com>"
@@ -386,6 +385,7 @@ RECIPE_MAINTAINER_pn-libtirpc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libtool = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libtool-cross = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libtool-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libucontext = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-liburcu = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -396,6 +396,7 @@ RECIPE_MAINTAINER_pn-libva = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libvorbis = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxau = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster <akuster808@gmail.com>"
@@ -580,6 +581,8 @@ RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr
RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -708,6 +711,7 @@ RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-wireless-regdb = "Adrian Bunk <bunk@kernel.org>"
RECIPE_MAINTAINER_pn-wpa-supplicant = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-wpebackend-fdo = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-x11perf = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-x264 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-xauth = "Armin Kuster <akuster808@gmail.com>"

View File

@@ -47,6 +47,7 @@ PTESTS_FAST = "\
quilt-ptest \
sed-ptest \
slang-ptest \
wayland-ptest \
zlib-ptest \
"
@@ -57,9 +58,12 @@ PTESTS_FAST = "\
# lz4-ptest \ # Needs a rewrite
# rt-tests-ptest \ # Needs to be checked whether it runs at all
# bash-ptest \ # Test outcomes are non-deterministic by design
# ifupdown-ptest \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py
# mdadm-ptest \ # Tests rely on non-deterministic sleep() amounts
#"
PTESTS_SLOW = "\
babeltrace-ptest \
busybox-ptest \
dbus-test-ptest \
e2fsprogs-ptest \
@@ -67,7 +71,6 @@ PTESTS_SLOW = "\
gstreamer1.0-ptest \
libevent-ptest \
lttng-tools-ptest \
mdadm-ptest \
openssh-ptest \
openssl-ptest \
perl-ptest \

View File

@@ -27,7 +27,7 @@ BASEDEPENDS_remove_class-target = "virtual/${TARGET_PREFIX}compilerlibs"
TARGET_OS = "elf"
TARGET_OS_arm = "eabi"
TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE}"
TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE} nativesdk-qemu"
TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= ""
TOOLCHAIN_TARGET_TASK ?= "libgcc-dev"
TOOLCHAIN_NEED_CONFIGSITE_CACHE_remove = "virtual/${MLPREFIX}libc zlib ncurses"

View File

@@ -38,7 +38,7 @@ BASE_DEFAULT_DEPS_append_class-target = " ${NEWLIB_EXTENDED}"
TARGET_OS = "elf"
TARGET_OS_arm = "eabi"
TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE}"
TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE} nativesdk-qemu"
TOOLCHAIN_TARGET_TASK ?= "${LIBC_DEPENDENCIES}"
TOOLCHAIN_NEED_CONFIGSITE_CACHE_remove = "zlib ncurses"

View File

@@ -18,12 +18,12 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "9.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.33%"
GDBVERSION ?= "8.3%"
GLIBCVERSION ?= "2.30%"
BINUVERSION ?= "2.34%"
GDBVERSION ?= "9.%"
GLIBCVERSION ?= "2.31"
LINUXLIBCVERSION ?= "5.4%"
QEMUVERSION ?= "4.1%"
GOVERSION ?= "1.13%"
QEMUVERSION ?= "4.2%"
GOVERSION ?= "1.14%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "9.0.1"

View File

@@ -43,6 +43,8 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
opkg-utils \
gstreamer1.0-meta-base \
ca-certificates \
shared-mime-info \
desktop-file-utils \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \

View File

@@ -1,7 +1,7 @@
# Standards are great! Everyone has their own. In an effort to standardize licensing
# names, common-licenses will use the SPDX standard license names. In order to not
# break the non-standardized license names that we find in LICENSE, we'll set
# up a bunch of VarFlags to accomodate non-SPDX license names.
# up a bunch of VarFlags to accommodate non-SPDX license names.
#
# We should really discuss standardizing this field, but that's a longer term goal.
# For now, we can do this and it should grab the most common LICENSE naming variations.

View File

@@ -4,35 +4,41 @@
TUNEVALID[microblaze] = "MicroBlaze"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "microblaze", "microblaze:", "", d)}"
# 64-bit
TUNEVALID[64-bit] = "64-bit MicroBlaze"
TUNECONFLICTS[64-bit] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6 v10.0"
MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "64-bit", "microblaze64:", "", d)}"
# Endian
TUNEVALID[bigendian] = "Use Microblaze Big Endian"
TUNECONFLICTS[bigendian] += "v10.0"
TUNECONFLICTS[bigendian] = "v10.0"
MBPKGARCH_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el", d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-mbig-endian", "-mlittle-endian", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
# General features
TUNEVALID[barrel-shift] = "Enable Hardware Barrel Shifter"
TUNEVALID[pattern-compare] = "Enable Pattern Compare Instructions"
TUNEVALID[reorder] = "Enable Reorder Instructions"
TUNECONFLICTS[reorder] += "v8.00 v8.10 v8.20"
TUNECONFLICTS[reorder] = "v8.00 v8.10 v8.20"
# Core configuration tune optimizations
TUNEVALID[frequency-optimized] = "Enabling tuning for frequency optimized core (AREA_OPTIMIZED_2)"
TUNECONFLICTS[frequency-optimized] += "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6"
TUNECONFLICTS[frequency-optimized] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6"
# Feature compiler args
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-mxl-barrel-shift", "-mno-xl-barrel-shift", d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-mxl-pattern-compare", "-mno-xl-pattern-compare", d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-mxl-frequency", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", " -mxl-barrel-shift", " -mno-xl-barrel-shift", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", " -mxl-pattern-compare", " -mno-xl-pattern-compare", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", " -mxl-frequency", "", d)}"
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "64-bit", " -m64", "", d)}"
# Disable reorder for v8.30 if pattern-compare is not enabled
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \
TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", \
bb.utils.contains("TUNE_FEATURES", "v8.30", \
bb.utils.contains("TUNE_FEATURES", "pattern-compare", \
"-mxl-reorder", "-mno-xl-reorder", d), \
"-mxl-reorder", d), "-mno-xl-reorder", d)}"
" -mxl-reorder", " -mno-xl-reorder", d), \
" -mxl-reorder", d), " -mno-xl-reorder", d)}"
# Feature package architecture formatting
MBPKGARCH_TUNE = ""
@@ -45,9 +51,12 @@ MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized",
require conf/machine/include/microblaze/feature-microblaze-versions.inc
require conf/machine/include/microblaze/feature-microblaze-math.inc
# Architecture name, either 'microblazeeb' or 'microblazeel' depending on endianess
TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el", d)}"
# Architecture name, either 'microblaze' or 'microblazeel' depending on endianess
TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}"
# Add 64-bit to the PKGARCH if enabled.
MBPKGARCH_SIZE = "${@bb.utils.contains("TUNE_FEATURES", "64-bit", "64", "", d)}"
# Package Architecture formatting
TUNE_PKGARCH = "microblaze${MBPKGARCH_ENDIAN}${MBPKGARCH_VERSION}${MBPKGARCH_TUNE}${MBPKGARCH_MATH}"
TUNE_PKGARCH = "microblaze${MBPKGARCH_SIZE}${MBPKGARCH_ENDIAN}${MBPKGARCH_VERSION}${MBPKGARCH_TUNE}${MBPKGARCH_MATH}"

View File

@@ -13,14 +13,14 @@ TUNECONFLICTS[fpu-hard] = "fpu-soft"
TUNECONFLICTS[fpu-hard-extended] = "fpu-soft"
# Compiler args
TUNE_CCARGS += "${@bb.utils.contains_any('TUNE_FEATURES', ['multiply-low', 'multiply-high'], '-mno-xl-soft-mul', '-mxl-soft-mul', d)}"
TUNE_CCARGS += "${@bb.utils.contains('TUNE_FEATURES', 'multiply-high', '-mxl-multiply-high', '', d)}"
TUNE_CCARGS .= "${@bb.utils.contains_any('TUNE_FEATURES', ['multiply-low', 'multiply-high'], ' -mno-xl-soft-mul', ' -mxl-soft-mul', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'multiply-high', ' -mxl-multiply-high', '', d)}"
TUNE_CCARGS += "${@bb.utils.contains('TUNE_FEATURES', 'divide-hard', '-mno-xl-soft-div', '-mxl-soft-div', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'divide-hard', ' -mno-xl-soft-div', ' -mxl-soft-div', d)}"
TUNE_CCARGS += "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', '', '', d)}"
TUNE_CCARGS += "${@bb.utils.contains_any('TUNE_FEATURES', ['fpu-hard', 'fpu-hard-extended'], '-mhard-float', '', d)}"
TUNE_CCARGS += "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard-extended', '-mxl-float-convert -mxl-float-sqrt', '', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', '', '', d)}"
TUNE_CCARGS .= "${@bb.utils.contains_any('TUNE_FEATURES', ['fpu-hard', 'fpu-hard-extended'], ' -mhard-float', '', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard-extended', ' -mxl-float-convert -mxl-float-sqrt', '', d)}"
# Set target fpu (bitbake known target) to soft or hard (basic or extended)
TARGET_FPU = "${@bb.utils.contains_any('TUNE_FEATURES', 'fpu-hard fpu-hard-extended', 'fpu-hard', 'fpu-soft', d)}"

View File

@@ -64,6 +64,6 @@ TUNECONFLICTS[v10.0] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3
TUNECONFLICTS[v11.0] = "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6 v10.0"
# Version flags
TUNE_CCARGS += "-mcpu=${@microblaze_current_version(d, True)}"
MBPKGARCH_VERSION = "-${@microblaze_current_version(d)}"
TUNE_CCARGS += "${@'-mcpu=%s' % (microblaze_current_version(d, True)) if microblaze_current_version(d, True) != '' else ''}"
MBPKGARCH_VERSION = "${@'-%s' % (microblaze_current_version(d, True)) if microblaze_current_version(d, True) != '' else ''}"

View File

@@ -7,4 +7,4 @@ QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
QB_OPT_APPEND += "-device cirrus-vga"
QB_OPT_APPEND += "-vga std"

View File

@@ -8,9 +8,8 @@ QB_CPU_KVM_x86-64 = "-cpu core2duo"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
UVESA_MODE ?= "640x480-32"

View File

@@ -14,8 +14,8 @@ TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -
AVAILTUNES += "cortexa72-cortexa53 cortexa72-cortexa53-crypto"
ARMPKGARCH_tune-cortexa72-cortexa53 = "cortexa72-cortexa53"
ARMPKGARCH_tune-cortexa72-cortexa53-crypto = "cortexa72-cortexa53"
TUNE_FEATURES_tune-cortexa72-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc}"
TUNE_FEATURES_tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES_tune-armv8a-crc-crypto}"
TUNE_FEATURES_tune-cortexa72-cortexa53 = "${TUNE_FEATURES_tune-armv8a-crc} cortexa72-cortexa53"
TUNE_FEATURES_tune-cortexa72-cortexa53-crypto = "${TUNE_FEATURES_tune-armv8a-crc-crypto} cortexa72-cortexa53"
PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} cortexa72-cortexa53"
PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} cortexa72-cortexa53 cortexa72-cortexa53-crypto"
BASE_LIB_tune-cortexa72-cortexa53 = "lib64"

View File

@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
PREFERRED_VERSION_linux-yocto ??= "5.2%"
PREFERRED_VERSION_linux-yocto ??= "5.4%"
#
# XSERVER subcomponents, used to build the XSERVER variable

View File

@@ -11,7 +11,7 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine virt"
QB_MACHINE = "-machine virt,highmem=off"
QB_CPU = "-cpu cortex-a15"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"

View File

@@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
PREFERRED_VERSION_linux-yocto ??= "5.2%"
PREFERRED_VERSION_linux-yocto ??= "5.4%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE_qemuarmv5 = "qemuarm"

View File

@@ -4,6 +4,8 @@
require conf/machine/include/riscv/qemuriscv.inc
XVISOR_PLAT = "riscv/virt64"
EXTRA_IMAGEDEPENDS += "u-boot"
UBOOT_MACHINE = "qemu-riscv64_smode_defconfig"
UBOOT_ELF = "u-boot"

View File

@@ -37,10 +37,6 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
MACHINE_EXTRA_RRECOMMENDS = "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
KERNEL_MODULE_AUTOLOAD += "uvesafb"
KERNEL_MODULE_PROBECONF += "uvesafb"
module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
WKS_FILE ?= "qemux86-directdisk.wks"
do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"

View File

@@ -34,10 +34,6 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
MACHINE_EXTRA_RRECOMMENDS = "kernel-module-snd-ens1370 kernel-module-snd-rawmidi"
KERNEL_MODULE_AUTOLOAD += "uvesafb"
KERNEL_MODULE_PROBECONF += "uvesafb"
module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
WKS_FILE ?= "qemux86-directdisk.wks"
do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"

View File

@@ -249,7 +249,7 @@ if [ @SDK_ARCHIVE_TYPE@ = "zip" ]; then
rm sdk.zip && exit 1
fi
else
tail -n +$payload_offset $0| $SUDO_EXEC tar xJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1
tail -n +$payload_offset $0| $SUDO_EXEC tar mxJ -C $target_sdk_dir --checkpoint=.2500 $EXTRA_TAR_OPTIONS || exit 1
fi
echo "done"

Some files were not shown because too many files have changed in this diff Show More