Compare commits

..

340 Commits

Author SHA1 Message Date
Richard Purdie
cb26830f76 build-appliance-image: Update to thud head revision
(From OE-Core rev: d3d3f443039b03f1200a14bfe99f985592632018)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-01 11:58:15 +01:00
Richard Purdie
d43a86de1a poky.conf: Bump version for 2.6.3 thud release
(From meta-yocto rev: 9a1d9fd77e2dd2d324654755633e143ef7730dc5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-01 11:58:07 +01:00
Anuj Mittal
d49de3810a expat: fix CVE-2018-20843
(From OE-Core rev: aad245ea1c55f8e778ae3420c5c31e94301e7cba)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Ross Burton
9e0a120c8e libcroco: fix CVE-2017-7961
(From OE-Core rev: 480f15850820746cecdfe0b8450b2be484c1f8f9)

(From OE-Core rev: f5cf064b3c138c8a6591d34f40253e10a6f01a14)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Ovidiu Panait
e6058824bb ghostscript: Fix 3 CVEs
It was discovered that the ghostscript /invalidaccess checks fail under
certain conditions. An attacker could possibly exploit this to bypass
the -dSAFER protection and, for example, execute arbitrary shell commands
via a specially crafted PostScript document.

It was found that the superexec operator was available in the internal
dictionary in ghostscript before 9.27. A specially crafted PostScript
file could use this flaw in order to, for example, have access to the
file system outside of the constrains imposed by -dSAFER.

It was found that the forceput operator could be extracted from the
DefineResource method in ghostscript before 9.27. A specially crafted
PostScript file could use this flaw in order to, for example, have
access to the file system outside of the constrains imposed by -dSAFER.

References:
https://nvd.nist.gov/vuln/detail/CVE-2019-6116
https://www.openwall.com/lists/oss-security/2019/01/23/5
https://nvd.nist.gov/vuln/detail/CVE-2019-3835
https://nvd.nist.gov/vuln/detail/CVE-2019-3838

Upstream patches:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=13b0a36
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2db98f9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99f1309
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59d8f4d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2768d1a
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49c8092
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2ff600a
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=779664d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e8acf6d
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2055917
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d683d1e
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=ed9fcd9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a82601e

(From OE-Core rev: 12e140dfdac8456772223c816e37bd869419bb18)

(From OE-Core rev: cf5d29dcac6247e8476f7af78b4e0bb129b94677)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fix for CVE-2019-6116 is already in thud, so that has been removed]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Anuj Mittal
885459d264 bzip2: fix CVE-2019-12900
Also include a patch to fix regression caused by it. See:

https://gitlab.com/federicomenaquintero/bzip2/issues/24

(From OE-Core rev: 7c0b2d228f51aebb4415e63a07bdd645e85b09d8)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Ross Burton
d0e65410f4 libarchive: integrate security fixes
Fix the following CVEs by backporting patches from upstream:
- CVE-2019-1000019
- CVE-2019-1000020
- CVE-2018-1000877
- CVE-2018-1000878
- CVE-2018-1000879
- CVE-2018-1000880

(From OE-Core rev: ea251020304b9c18f31c39de867a47311b1bb46c)

(From OE-Core rev: 6cba048de29dfea44e926b00e5ea91359e7cbebd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Anuj Mittal
acd46a34c4 gstreamer1.0-plugins-base: fix CVE-2019-9928
(From OE-Core rev: 276567b6a8e4b21dc978b352b5c715d6381867b1)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Anuj Mittal
ecc1ac5b04 libsdl: CVE fixes
Fixes CVE-2019-7572, CVE-2019-7574, CVE-2019-7575, CVE-2019-7576,
CVE-2019-7577, CVE-2019-7578, CVE-2019-7635, CVE-2019-7637,
CVE-2019-7638.

(From OE-Core rev: 2cfcb3b0fce7e1156eb52260df4330c95d87dc17)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Alejandro del Castillo
e8cd30ba6c OpkgPM: use --add-ignore-recommends to process BAD_RECOMMENDATIONS
Currently, BAD_RECOMMENDATIONS on the opkg backed relies on editing the
opkg status file (it sets BAD_RECOMMENDATIONS pkg want state to
deinstalled and pinned). This is brittle, and not consistent across the
different solver backends. Use new --add-ignore-recommends flag instead.

(From OE-Core rev: 0d11e813ba9b4e8de9e6e5099ff85f5d914243bc)

(From OE-Core rev: bfb0acb6bc6bc11e4aa2c9527916359e1a763e85)

(From OE-Core rev: 13ba66338d16cc07cb0129de932f090d0edb7760)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Alejandro del Castillo
eecc4121ad opkg: add --ignore-recommends flag
To be used for BAD_RECOMMENDATIONS feature.

(From OE-Core rev: 788d97b4f8e4452cef1ba6bb3e565e1b52dbb7de)

(From OE-Core rev: 85007cdb260bc77ac4ae5f914b0e3a4408606dfd)

(From OE-Core rev: c60f9c47380bb53bd2b54373b72f86006edf326e)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Backport from opkg_0.4.0.bb]
Signed-off-by: Quentin Schulz <quentin.schulz@streamunlimited.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Richard Purdie
a872c96192 scripts: Remove deprecated imp module usage
The imp module is deprecated, port the code over to use importlib
as recently done for bb.utils as well.

(From OE-Core rev: f3ba6cee5927c7475c3dc47658fa0548aec52115)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-29 23:50:43 +01:00
Robert Yang
4d63da3fad uboot-sign.bbclass: Remove tab indentations in python code
Use 4 spaces to replace a tab.

(From OE-Core rev: 2bf6098ac1cbbf7ed28522b7f7dce84c8341ce00)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
a51a3b1c82 glib: Security fix for CVE-2019-9633
Source: gnome.org
MR: 98802
Type: Security Fix
Disposition: Backport from d553d92d6e
ChangeID: b73c332f27f47ddc1b1cfd7424f24778acc0c318
Description:

includes supporting patch.
Fixes CVE-2019-9633

(From OE-Core rev: 3ebf0fc043b6c9b6c2381dab893b54ebcb8ac13d)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
e2f3997a84 qemu: Security fixes CVE-2018-20815 CVE-2019-9824
Source: qemu.org
MR: 98623
Type: Security Fix
Disposition: Backport from qemu.org
ChangeID: 03b3f28e5860ef1cb9f58dce89f252bd7ed59f37
Description:

Fixes both CVE-2018-20815 and CVE-2019-9824

(From OE-Core rev: 5c45cd09fb29d4a1ebda6153a25f16e312049c44)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Ross Burton
45e662b445 glibc: backport CVE fixes
Backport the fixes for several CVEs from the 2.28 stable branch:
- CVE-2016-10739
- CVE-2018-19591

(From OE-Core rev: 950a60c0e4183037a807031ddc9167b1a81a5348)

Signed-off-by: Ross Burton <ross.burton@intel.com>
[Dropped CVE-2019-9169 as its in my contrib already]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Ross Burton
f749c69115 lighttpd: fix CVE-2019-11072
(From OE-Core rev: 0dbd16a40a28bb75962f38c6ce450c909c22ee79)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Richard Purdie
573a935860 uninative: Update to 2.6 release
The 2.6 release contains both libcrypt.so.1 and libcrypt.so.2 which fixes
compatibility with recent fedora/suse releases.

The difference is one is built with obsolete APIs enabled and one disabled.
We now ship both in uninative for compatibility regardless of which distro
a binary is built on.

(From OE-Core rev: 352ab80333096df92ef0f4cd331baea98e71aa21)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Richard Purdie
59400377bb uninative: Switch from bz2 to xz
(From OE-Core rev: 29fc9210b973be68de474e75068e4c72371afe5a)

(From OE-Core rev: 16785ebdc50f38ef4bc30d477a6833bdd4b541d1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Richard Purdie
594d5c20e2 yocto-uninative: Update to 2.5 release
This includes libstdc++ changes from gcc 9.X.

It also switches uninative from bz2 to xz compression.

(From OE-Core rev: 0497623882da714cbe098a4281982b7f9ce6030f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
8e6d657a9c qemu: Security fix for CVE-2019-12155
Source: qemu.org
MR: 98382
Type: Security Fix
Disposition: Backport from https://git.qemu.org/?p=qemu.git;a=commit;h=d52680fc932efb8a2f334cc6993e705ed1e31e99
ChangeID: e4e5983ec1fa489eb8a0db08d1afa0606e59dde3
Description:

Fixes CVE-2019-12155
Affects: <= 4.0.0
(From OE-Core rev: 6045c57895cad301c5e3a94de740427343a08065)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
a43499cf8e Curl: Securiyt fix CVE-2019-5435 CVE-2019-5436
Source: CUrl.org
MR: 98455
Type: Security Fix
Disposition: Backport from https://curl.haxx.se/
ChangeID: 86b094a440ea473b114764e8d64df8142d561609
Description:

Fixes CVE-2019-5435 CVE-2019-5436

(From OE-Core rev: 9d5a7dd654a17b67f5cd8a73145e5f5299bfebcc)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
21188466bc wget: Security fix for CVE-2019-5953
Source: http://git.savannah.gnu.org/cgit/wget.git
MR: 89341
Type: Security Fix
Disposition: Backport from http://git.savannah.gnu.org/cgit/wget.git/commit/?id=692d5c5215de0db482c252492a92fc424cc6a97c
ChangeID: 1c19a2fd7ead88cc4ee92d425179d60d4635864b
Description:

Fixes CVE-2019-5953
Affects: < 1.20.1
(From OE-Core rev: c897b862c6cfaa341cc6155b2c9d98ea7ad02884)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
f2d2148adb glib-2.0: Security fix for CVE-2019-12450
Source: glib-2.0
MR: 98443
Type: Security Fix
Disposition: Backport from d8f8f4d637
ChangeID: 880b9b349cb8d82c7c1314a3657ec9094baba741
Description:

(From OE-Core rev: 71bfb9dfdc806e0e95f1302d0d6c3c751f03bb4b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
abefff23cd Tar: Security fix CVE-2019-0023
Source: tar.git
MR: 97928
Type: Security Fix
Disposition: Backport from http://git.savannah.gnu.org/cgit/tar.git/commit/?id=cb07844454d8cc9fb21f53ace75975f91185a120
ChangeID: 7aee4c0daf8ce813242fe7b872583560a32bc4e3
Description:

Affects tar < 1.32

fixes CVE-2019-9923

(From OE-Core rev: fc77edc8245ab90eee1f1e857f470b6842dc256f)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
e53f7d53f4 qemu: Security fix for CVE-2018-19489
Source: Qemu.org
MR: 97453
Type: Security Fix
Disposition: Backport from git.qemu.org/gemu.git

ChangeID: a06fcb432d447cec2ed1caf112822dd1b4831ace
Description:

In the spirt of YP Compatible, sending change upstream.

fixes CVE CVE-2018-19489

Affect < = 4.0.0

(From OE-Core rev: 249447828cd1ed13f9faf19793208b503acf0d30)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Joshua DeWeese
f381b778ae wpa_supplicant: Changed systemd template units
I goofed up the scissor line on the last attempt. Not sure how much it matters,
but here it is correct this time.

Here it is, updated to work with wpa-supplicant_2.6.bb.

-- >8 --
https://www.freedesktop.org/software/systemd/man/systemd.unit.html#WantedBy=

When building root filesystems with any of the wpa_supplicant systemd
template service files enabled (current default is to have them disabled) the
systemd-native-fake script would not process the line:

Alias=multi-user.target.wants/wpa_supplicant@%i.service

appropriately due the the use of "%i."

According to the systemd documentation "WantedBy=foo.service in a service
bar.service is mostly equivalent to Alias=foo.service.wants/bar.service in
the same file." However, this is not really the intended purpose of install
Aliases.

All lines of the form:

Alias=multi-user.target.wants/*%i.service

Were replaced with the following lines:

WantedBy=multi-user.target

(From OE-Core rev: d05e98cdccbe36be8906c31249adeb0f0bc13ac5)

Signed-off-by: Joshua DeWeese <jdeweese@hennypenny.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
47d06b4c85 go: update to minor update 1.11.10
Source: golang.org
MR: 97548,
Type: Security Fix
Disposition: Backport from https://github.com/golang/go/issues?q=milestone%3AGo1.11.5
ChangeID: 54377c454f038a41bf35dd447a784e3e66db6268
Description:

Bug fix updates only
https://golang.org/doc/devel/release.html#go1.11

Fixes:
Affects <= 1.11.6
CVE-2019-6486
CVE-2019-9741

(From OE-Core rev: 4e40da53851c550f1a38eff5737d4b69c8cd0afb)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Khem Raj
d89c54ee99 go: Upgrade 1.11.1 -> 1.11.4 minor release
Source: OpenEmbedded.org
MR: 98328, 98329, 98330
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/go?h=warrior&id=b964551a0d08aa921d4e0ceea2f1e28a5e83510e

ChangeID: 0b4cc69c357ba14c4e7a6c7ff926cfc6f09489b2
Description:
include:
CVE-2018-16873
CVE-2018-16874
CVE-2018-16875

Changes: https://golang.org/doc/devel/release.html#go1.11

(From OE-Core rev: 69964488112899371b7fd88b6e86e533d968b457)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Bug fix only update]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Richard Purdie
94bacd598d go-crosssdk: PN should use SDK_SYS, not TARGET_ARCH
The crosssdk dependencies are handled using the virtual/ namespace so
this name doesn't matter in the general sense. We want to be able to provide
recipe maintainer information through overrides though, so this standardises it
with the behaviour from gcc-crosssdk and ensures the maintainer overrides work.

(From OE-Core rev: 025cd45d4129266d34a919573c02a8504f092c1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Hongxu Jia
3975d95822 go-target.inc: fix go not found while multilib enabled
Go binaries were installed to ${libdir}/go/bin, and create symlink
in ${bindir}, while enabling multilib, libdir was extended (such as
/usr/lib64), but BASELIB was not (still /lib), so use
baselib (such as /lib64)) to replace

(From OE-Core rev: fca74928bf2002daf526ad8c1446c8d9ba891a78)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Ross Burton
fc06d9b06d cairo: fix CVE-2018-19876 CVE-2019-6461 CVE-2019-6462
Source: OpenEmbedded.org
MR: 97538, 97543
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/cairo?h=warrior&id=078e4d5c2114d942806cd0d5ad501805a011e841
ChangeID: fa8bdd44ad8613bb0679a1f6d9d670c3b47a0677
Description:

CVE-2018-19876 is a backport from upstream.

CVE-2019-6461 and CVE-2019-6462 are patches taken from Clear Linux.

(From OE-Core rev: 8b5e68afc9767d8b6b966503e9353cadafae9bfb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Dropped CVE-2018-19876, not affected]
Issue was introduced in 1.15.8 by:
commit 721b7ea0a785afaa04b6da63f970c3c57666fdfe

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Chen Qi
f24f361404 cups: upgrade to 2.2.10
Source: OpenEmbedded.org
MR: 97351
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-extended/cups?h=warrior&id=fbe7a0c9bab7c9be7fd2c0da8b2af61e66de1ebd
ChangeID: fbe7a0c9bab7c9be7fd2c0da8b2af61e66de1ebd
Description:

(From OE-Core rev: 85541b9ae8cff770e2c20a9132c0867a25d190c2)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

CUPS 2.2.10 is a bug fix release that addresses issues in the scheduler, IPP Everywhere support, CUPS library, and USB printer support. Changes include:

    CVE-2018-4300: Linux session cookies used a predictable random number seed.
    The lpoptions command now works with IPP Everywhere printers that have not yet been added as local queues (Issue #5045)
    Added USB quirk rules (Issue #5395, Issue #5443)
    The generated PPD files for IPP Everywhere printers did not contain the cupsManualCopies keyword (Issue #5433)
    Kerberos credentials might be truncated (Issue #5435)
    The handling of MaxJobTime 0 did not match the documentation (Issue #5438)
    Incorporated the page accounting changes from CUPS 2.3 (Issue #5439)
    Fixed a bug adding a queue with the -E option (Issue #5440)
    Fixed a crash bug when mapping PPD duplex options to IPP attributes (rdar://46183976)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Chen Qi
a6ffadd75f cups: upgrade to 2.2.9
Source: OpenEmbedded.org
MR: 97351
Type: Integration
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-extended/cups?h=warrior&id=ee57d79aec06e9b160cf2713636cda650ba68d5a
ChangeID: ee57d79aec06e9b160cf2713636cda650ba68d5a
Description:

The following patch is rebased.

  0001-don-t-try-to-run-generated-binaries.patch

(From OE-Core rev: 3c76b6660fc21a987e960dedb2631dcd27b87d07)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

CUPS 2.2.9 is a bug fix release that addresses issues in the scheduler,
IPP Everywhere support, CUPS library, and USB printer support. Changes include:

    Localization changes (Issue #5348, Issue #5362, Issue #5408)
    Documentation updates (Issue #5369)
    The lpadmin command would create a non-working printer in some error cases
    (Issue #5305)
    The scheduler would crash if an empty AccessLog directive was specified
    (Issue #5309)
    Fixed a regression in the changes to ippValidateAttribute (Issue #5322,
    Issue #5330)
    Fixed a crash bug in the Epson dot matrix driver (Issue #5323)
    Automatic debug logging of job errors did not work with systemd (Issue #5337)
    The web interface did not list the IPP Everywhere "driver" (Issue #5338)
    The IPP Everywhere "driver" now properly supports face-up printers
    (Issue #5345)
    Fixed some typos in the label printer drivers (Issue #5350)
    Multi-file jobs could get stuck if the backend failed (Issue #5359,
    Issue #5413)
    The IPP Everywhere "driver" no longer does local filtering when printing to
    a shared CUPS printer (Issue #5361)
    The lpadmin command now correctly reports IPP errors when configuring an
    IPP Everywhere printer (Issue #5370)
    Fixed some memory leaks discovered by Coverity (Issue #5375)
    The PPD compiler incorrectly terminated JCL options (Issue #5379)
    The cupstestppd utility did not generate errors for missing/mismatched
    CloseUI/JCLCloseUI keywords (Issue #5381)
    The scheduler now reports the actual location of the log file (Issue #5398)
    Added a USB quirk rule (Issue #5420)
    The scheduler was being backgrounded on macOS, causing applications to spin
    (rdar://40436080)
    The scheduler did not validate that required initial request attributes were
    in the operation group (rdar://41098178)
    Authentication in the web interface did not work on macOS (rdar://41444473)
    Fixed an issue with HTTP Digest authentication (rdar://41709086)
    The scheduler could crash when job history was purged (rdar://42198057)
    Dropped non-working RSS subscriptions UI from web interface templates.
    Fixed a memory leak for some IPP (extension) syntaxes.

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
4faf6e9e07 file: Multiple Secruity fixes
Source: https://github.com/file
MR: 97573, 97578, 97583, 97588
Type: Security Fix
Disposition: Backport from https://github.com/file/file
ChangeID: 159e532d518623f19ba777c8edc24d2dc7e3a4e9
Description:

CVE-2019-8905 is the same fix as CVE-2019-8907

Affects < 5.36.0

Fixes:
CVE-2019-8904
CVE-2019-8906
CVE-2019-8906
CVE-2019-8907

(From OE-Core rev: 3d7375eb2e459b891b4ba16c1fc486afbfecef2c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
015bfc5971 sqlite3: Security fixes for CVE-2018-20505 & 20506
Source: sqlite.org
MR: 97484, 97490
Type: Security Fix
Disposition: Backport from sqilte.org
ChangeID: c6105b5d3ce4fb2c0f38c3cab745b769d2df38f5
Description:

Affects < 3.26.0
fixes:
CVE-2018-20505
CVE-2018-20506

(From OE-Core rev: e2f9efdc93068bce00b07021aa447f0b8786f69d)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
14d23c29a2 busybox: Security fixes for CVE-2018-20679 CVE-2019-5747
Source: busybox.git
MR: 97332
Type: Security Fix
Disposition: Backport from busybox.git
ChangeID: ec203c79e7322de1ed5721d08b6f59b1eca67c7d
Description:

Affects < 1.30.0

Fixes:
CVE-2018-20679
CVE-2019-5747

(From OE-Core rev: 7db146abad6d2bbb7d7a549e7091412e0e494db2)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Martin Jansa
016a0b830e python: add a fix for CVE-2019-9948 and CVE-2019-9636
Source: OpenEmbedded.org
MR: 98320, 98319
Type: Security Fix
Disposition: Backport from https://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/python/python_2.7.16.bb?id=9d23b982fa4e0290761b3d15f6959779fed72ad6
ChangeID: e79b6fe3b7b4253bf0d76b029070ae869d5234bd
Description:

Fixes:
CVE-2019-9948
CVE-2019-9636

CVE-2019-9940 is a dup of 9948 per python.org
CVE-2019-9947 appears to be a dup of 9940 per https://bugs.python.org/issue30458#msg295067

(From OE-Core rev: e7bdff05da6075efc21c5ac9492b06e481e5a239)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Minor clean up for thud]
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
81439e7d18 python: Update to 2.7.16
Source: Python.org
MR: 98220
Type: Security Fix & Integration
Disposition: Backport from python.org
ChangeID: 96fdd2dee9fe9317eb72584583ae0100c0be9eaa
Description:

Bug fix update per Python.org
https://www.python.org/downloads/release/python-2716/

drop backported patch

License-update: copyright years

Helps prepare Thud for 2.7 EOL support moving forward.

Update includes:
CVE-CVE-2019-5010
06b15424b0

(From OE-Core rev: 592e7de7f5208940fbcfcad3371f93f8ce2ca738)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
f2961d88af qemu: Several CVE fixes
Source: qemu.org
MR: 97258, 97342, 97438, 97443
Type: Security Fix
Disposition: Backport from git.qemu.org/qemu.git
ChangeID: a5e9fd03ca5bebc880dcc3c4567e10a9ae47dba5
Description:

These issues affect qemu < 3.1.0

Fixes:
CVE-2018-16867
CVE-2018-16872
CVE-2018-18849
CVE-2018-19364

(From OE-Core rev: e3dfe53a334cd952cc2194fd3baad6d082659b7e)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:18 +01:00
Armin Kuster
cd7f7bf385 elfutils: Security fixes CVE-2019-7146,7149,7150
Source: http://sourceware.org/git/elfutils.git
MR: 97563, 97568, 97558
Type: Security Fix
Disposition: Backport from http://sourceware.org/git/elfutils.git
ChangeID: 6183c2a25d5e32eec1846a428dd165e1de659f24
Description:

Affects <= 0.175

Fixes:
CVE-2019-7146
CVE-2019-7149
CVE-2019-7150

(From OE-Core rev: ac5dca7dc68519b36aa976dfd25d8efa76af74ec)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:17 +01:00
Armin Kuster
2c225a199d glibc: Security fix CVE-2019-9169
(From OE-Core rev: 3103f407ff0c579c7e5887fd925d52d5c92c83f9)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-27 18:05:17 +01:00
Scott Rifenbark
a7ffffd440 ref-manual: Fixed typo for BBMULTICONFIG variable.
There was a typo in the BBMULTICONFIG variable description.
It appeared as "BBMULTIFONFIG". I fixed it.

(From yocto-docs rev: 2ef4ab6d93ccb6208169db9757f9ca2c2551a6d2)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Scott Rifenbark
57d351b8e3 bsp-guide: Fixed build error.
I accidently submitted this with a build error.

(From yocto-docs rev: 44b659aa7fa1dca96cb38cd272ea96e20b94aadb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Scott Rifenbark
4a8d999249 bsp-guide: Minor edits to Configuring Kernel section.
(From yocto-docs rev: de86d2725fc70e5805727ad1eca1a4cebd14228d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Scott Rifenbark
ebfe32a474 bsp.xml: Updated some output examples and the BSP structure
I ran fresh commands for several output examples where
repositories are cloned.  I also dumped the really detailed
listing of the Raspberry Pi BSP.  Rather, I provided a link
to the layer itself and sent the reader there to do their
own exploring.

(From yocto-docs rev: d6976296f237420cae7c9f157a4e3a868b0ac588)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Scott Rifenbark
90d98a4c9d brief-yoctoprojectqs: Updated examples.
I ran the examples against the latest poky repo to get updated
example output.

(From yocto-docs rev: c2b272f10b731e744f0ecddab6ad37dc13579dcf)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Scott Rifenbark
f8e62cc5e1 Documentation: Prepare for 2.6.3 release.
poky.ent - updated variables
mega-manual.sed - updated release string
<manual>.xml - updated manual revision history tables

(From yocto-docs rev: 6fd8afecc73b6734f9beb02e7ae3cea4d1148177)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-18 12:17:05 +01:00
Mark Hatle
2dd610cc27 bitbake: gitsm: Add need_update method to determine when we are going to a new SRCREV
If the system had previously fetched a source repository for use by gitsm,
and then the SRCREV was updated and the new commit already existed, the system
would not re-evaluate the submodules and update them accordingly.

The cause of this issue was that need_update was being used, unmodified, from
the base git fetcher.  It did not have any knowledge, nor did it care if we
were moving commits and needed to re-evaluate what was happening due to this
switch.

To fix the issue, during the download process we add all processed (by
gitsm) srcrevs to the git config file, as bitbake.srcrev.  This allows us to
use a new need_update function that not only checks if the git commit is
present, but if we have previously processed this commit to ensure all of the
submodule components are also present.

This approach is used, instead of iterating over the submodules in need_update
to avoid a potential race condition that has affected us in the past.  The
need_update is called only with the parent locking.  Any time we need to dive
into the submodules, we need to lock, and unlock them, at each stage.  This
opens the possibility of errors in either the code, or unintended race
conditions with rm_work.

This issue was discovered by William A. Kennington III <wak@google.com>.  The
included test case was also written by him, and included unmodified.

(Bitbake rev: 4ce92f43eeac6a4bfd06e8567fa6891614b5b3b0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-18 11:31:10 +01:00
Mark Hatle
1f82ca6713 bitbake: gitsm: Fix a bug where the wrong path was used for the submodule init
Because we are trying to avoid network activity and use our own fetcher,
the system emulates the behavior of 'git submodule init'.

git submodule init uses the .gitmodules file, where typically the module
name and path are the same.  However, in this case the module name and
path (in the tree) were different. i.e.:

[submodule "edgelet/hsm-sys/azure-iot-hsm-c/deps/azure-c-shared-utility"]
        path = edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared
        url = https://github.com/Azure/azure-c-shared-utility.git

Previously the code assumed the 'path' was both the checkout location
under .git/modules, as well as the path to extract the components.  This
proved to be incorrect as the .git/modules path needs to match the submodule
'name'.  This causes the components that were fetched to be initialized in
the wrong location, which later caused the 'git submodule update' process to
skip not properly initialized modules.

A test case was added for this specific case to ensure a regression does
not appear in the future.

(Bitbake rev: ffd7ed530a17d22df576d986ac78428a6979e79c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-18 11:31:10 +01:00
Alexander Kanavin
b035b4dcee bitbake: bitbake: fix version comparison when one of the versions ends in .
Previously, this would happen:

======================================================================
ERROR: test_vercmpstring (bb.tests.utils.VerCmpString)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/alexander/development/poky/bitbake/lib/bb/tests/utils.py", line 45, in test_vercmpstring
    result = bb.utils.vercmp_string('1.', '1.1')
  File "/home/alexander/development/poky/bitbake/lib/bb/utils.py", line 143, in vercmp_string
    return vercmp(ta, tb)
  File "/home/alexander/development/poky/bitbake/lib/bb/utils.py", line 135, in vercmp
    r = vercmp_part(va, vb)
  File "/home/alexander/development/poky/bitbake/lib/bb/utils.py", line 124, in vercmp_part
    elif ca < cb:
TypeError: '<' not supported between instances of 'NoneType' and 'int'

----------------------------------------------------------------------

(Bitbake rev: bd953d56d007a8bfa5ecb6e753da4abfb035f9f2)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-15 11:06:38 +01:00
Joshua Watt
a358cc2010 bitbake: bitbake: cooker: Rename __depends in all multiconfigs
The renaming of the __depends variable to __base_depends and file
watches needs to occurs for all multiconfigs, not just the base config.
Failing to do this for all multiconfigs will result in a huge increase
in the size of the parsing cache (about 5x for a single mulitconfig)
because all multiconfig caches will still depend on the base config
files. This will also seen a similar jump in the amount of time required
to load the parsing cache from memory, both because the cache is larger
and because of explosion of additional existence checks that must be
done for the base files.

[YOCTO #13359]

(Bitbake rev: da5d1560d4ad1c735f6166a5d9ce94f36c94186b)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-11 13:28:21 +01:00
David Reyna
14040a2613 bitbake: toaster: Fix Thud Bitbake release metadata
Fix the Bitbake version ID for Thud (1.40).

[YOCTO #13356]

(Bitbake rev: f8a23ad4f8f0336470a5d5b074b7a2d02ec94631)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-10 09:44:41 +01:00
Richard Purdie
cdd4a52578 core-image-sato-sdk-ptest: Tweak size to stay within 4GB limit
Adding the valgrind debug symbol information caused the genericx86-64 image to
overflow the 4GB boundary. Tweak the sizes to avoid autobuilder failures yet
leave enough space all the tests still run successfully.

(From OE-Core rev: f162d5bfe6eaeca24f441c83c87252c8d05744fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
ef1b4d1310 core-image-sato-sdk-ptest: Try and keep image below 4GB limit
(From OE-Core rev: 22f4d5218ad016442b8511e9ccae649faf79152c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Chee Yang Lee
34503c75b0 wic/bootimg-efi: replace hardcoded volume name with label
volume name should refer to --label in .wks.
Replace the hardcoded volume name  with label.
set "ESP" as default name when no lable specified.

(From OE-Core rev: becb0a3f855eff7700fa284a0a7981d6a260a1c5)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Joshua Watt
2d1077bb4f resulttool: Add option to dump all ptest logs
Adds an option to dump all the ptest logs to individual files in a
specified directory. If multiple test runs are present, the
'--prepend-run' argument will create separate directories for each test
run under the target directory and put the logs there to prevent each
test run from clobbering the others.

[YOCTO #13331]

(From OE-Core rev: 7d0dfd6ada9b2fdf0c14833c388730ffc887af49)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Ross Burton
c965cb80ed wic: change expand behaviour to match docs
The documentation says that --expand takes a comma-separated list of
partition:size pairs, but the code was splitting on hyphens.

Hyphens are not a transitional separator for a list of items, so change the code
to reflect the documentation.

(From OE-Core rev: 8f6d55056a1c6f9fd00b09a8e91b3e888750e793)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Alex Kiernan
fa3daedf7c recipetool: fix unbound variable when fixed SRCREV can't be found
If attempting to find a fixed SRCREV fails because the directory doesn't exit,
avoid failing with:

  Traceback (most recent call last):
    File "/home/vagrant/poky/scripts/recipetool", line 121, in <module>
      ret = main()
    File "/home/vagrant/poky/scripts/recipetool", line 110, in main
      ret = args.func(args)
    File "/home/vagrant/poky/scripts/lib/recipetool/create.py", line 707, in create_recipe
      srcrev = stdout.rstrip()
  UnboundLocalError: local variable 'stdout' referenced before assignment

Fixes: 000480c42797 ("recipetool / devtool: set a fixed SRCREV by default when fetching from git")
(From OE-Core rev: 7dbaaf8a823527a3523187327f5b0885fc682510)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
sangeeta jain
a005b1897a resulttool/manualexecution: Enable test case configuration option
Current manualexecution required user to exceute all test cases defined inside a "modulename.json" file in oeqa/manual

There are cases when all test cases all not required to run for a module on specific DUT.

Enable manualexecution to have the optional feature where it will use pre-defined json format test case configuration file
where user will be able to select test cases from the "modulename.json" instead of running all of them. This will help
in reducing testing time and reporting unneccesary skip or failures.

Example pre-defined json format test case configuration file (for build-applince):

{
    "testcases" : [
        "build-appliance.build-appliance.Create_core-image-sato-sdk_using_build_appliance",
        "build-appliance.build-appliance.Build_a_image_without_error_(added_recipe)"
    ]
}

(From OE-Core rev: 1d3696bd3b6d05b91c119ade79c40510d1426a56)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
ee7cffefbf resultool/resultutils: Fix module import error
Fix AttributeError: module 'urllib' has no attribute 'request' when
using remote http urls.

(From OE-Core rev: 170a233452539b0b6b8fc4db50cf69d848d1ac5b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Joshua Watt
02d88de4b5 resulttool: Add log subcommand
Adds a subcommand for dumping various logs from test results

(From OE-Core rev: 7bfb8bef5ec9c4137f439b35c56856697c6b79a4)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Joshua Watt
35fa3e7e18 resulttool: Load results from URL
Adds support for resulttool to load JSON files directly from a http://
or https:// URL

(From OE-Core rev: 3e48404afe27c93fa6ffbd8d66bc52dcd6216005)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Yeoh Ee Peng
47d3b81ad3 resulttool/manualexecution: Refactor and remove duplicate code
Remove duplicate codes. Replace unnecessary class variables with
local variables. Rename variables and arguments with simple and
standard name.

(From OE-Core rev: 3dae8d5a02c29523dc640bee31a362f46ffde6ca)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Yeoh Ee Peng
559176c191 resulttool/manualexecution: Enable creation of configuration option file
Allow the creation of configuration option file based on user inputs.
Where this configuration option file will be used by the the manual
execution to display options for configuration rather than user
need to inputs configuration manually.

(From OE-Core rev: 17fd507e218bfd0f6745737bcd1a170d82e712e5)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Hongxu Jia
87661cbe0c oeqa/targetcontrol.py: fix qemuparams not work in runqemu with launch_cmd
As runqemu with launch_cmd means directly run the command, don't need set
rootfs or env vars.

Since commit [a847dd7202 runqemu: Let qemuparams override default settings]
applied in oe-core, if launch_cmd contains "qemuparams='***'", it does not
work, which is overridden by latter qemuparams="-serial tcp:127.0.0.1" in
QemuRunner.launch();

So we set qemuparams as a parameter in runqemu, the fix makes it work

(From OE-Core rev: 7d4450d373a297f246b8c3708fd7d2cafadd3ae9)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
afb311001c oeqa/target/ssh: Replace suggogatepass with ignoring errors
We continued to see encoding problems with ssh commands run in oeqa. After much
research the conclusion was we should use ignore the errors since some occasional bad
locale encoding is better than the unicode decoding issues we were seeing which crashed
large parts of tests.

(From OE-Core rev: cf4d3230ac439118a2ad3c381bac38e11b3e14e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Mikko Rapeli
29e2a3f5e8 oeqa/sdk: use bash to execute SDK test commands
The commands only work with with bash. If /bin/sh is
dash like in Debian, the command execution fails with
errors like:

Standard Output: /bin/sh: 5: export: --sysroot: bad variable name

and all SDK tests fail.

(From OE-Core rev: 274c22a1fd95418e4afb6633bb4b2e6debc4d7ea)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
8356d0f38c oeqa/concurrenttest: Patch subunit module to handle classSetup failures
Currently setupClass errors were not being mapped back to the failing tests
and they were hence being marked as UNKNOWN and the test statistics were
inaccurate.

This is because whilst the errors were being encoded into the test results
stream, the decoder doesn't cope with an error outside a testStart event.

We patch in an addError handler to the outsideTest parser so that this
does get handled in a way similar to the non-concurrent case.

It would be nice if we didn't have to do this but there doesn't seem
to be any other way to fix this other than forking subunit.

We also make a minor change so another of our changes can cope with
tests without a start time.

(From OE-Core rev: 6f58c301e2d3463848df35c5b5c55d167ab34035)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
63bea82d93 oeqa/runner: Fix subunit setupClass/setupModule failure handling
The string format for subunit setupClass/setupModule failures is slightly
different, tweak the regex to correctly handle both cases.

(From OE-Core rev: f1009d6d44097a3f140e2f8679e9184031b10b44)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
7b1cbc340b oeqa/core/runner: Handle unexpectedSucesses
Instead of showing:
RESULTS - ptest.PtestRunnerTest.test_ptestrunner - Testcase 1600: UNKNOWN (32.30s)

map unexpectedSuccesses to PASSED and improve the way they're displayed. We
expect/allow ptest runner to fail but if it passes we should handle it correctly.

(From OE-Core rev: 3c164b94fbb0efc513ee747cccd571a73688b541)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
2f91565eab oeqa/ssh: Avoid unicode decode exceptions
This code really needs to be rewritten to not split potential
multibyte characters, for now work around it to avoid exceptions like:

  File "/home/pokybuild/yocto-worker/qa-extras2/build/meta/lib/oeqa/core/target/ssh.py", line 211, in run
    data = reader.read(1024, 4096)
  File "/usr/lib64/python3.6/codecs.py", line 503, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 0: invalid start byte

(From OE-Core rev: 53df0c93c46b6ab1366df44bd9927dc6f8699b29)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Mardegan, Alberto
2ba5557e0b oeqa/core/runner: dump stdout and stderr of each test case
Some CI pipelines might perform further processing of the test output
(for instance, to plot some metrics into a chart). However, Since `thud`
we switched away from the XML-based jUnit reporting, and at the same
time we lost the ability of collecting the stdout and stderr of the
various tests.

We now restore this functionality by adding `stdout` and `stderr` keys
to the JSON reports. This behavior is off by default; in order to enable
it, one must set the `TESTREPORT_FULLLOGS` variable in the bitbake
configuration.

(From OE-Core rev: 68919826fe4d4db4582223569c5a939a9c2f9c72)

Signed-off-by: Alberto Mardegan <amardegan@luxoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:49 +01:00
Richard Purdie
bb3a8929c7 oeqa/utils/qemurunner: Fix typo in previous commit
(From OE-Core rev: 909baeb5901f7f212fbdd6c358c5ada6fe25e091)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Richard Purdie
a01c029898 oeqa/qemurunner: Dont mix binary and non-binary strings
self.msg is a str(), bootlog is b'' so this code clearly doesn't work. Add
in a decode since its being used as a string.

(From OE-Core rev: 5685a349eb471f4c8c9dcc2dc3b34f20369920bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ming Liu
cba849c25b opkg-utils: backport a patch to fix a sstate timestamp issue
When using sstate, two parallel builds can produce two packages
with the same mtime but different checksums. When later one of
those two builds fetches the others ipk, the package index does
not get udpated properly (since mtime matches). This ends up with
messages such as:
  Downloading file:/../tmp/work/../image/...ipk.
  Removing corrupt package file /../sysroot/../var/cache/opkg/volatile/...ipk

However, in that case, ctime is different. Use ctime instead of
mtime to prevent failures like this.

(From OE-Core rev: 6351f52609af51055786f7b3b24aee722b4dcea4)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Andreas Müller
522b0d8615 adwaita-icon-theme: do not delete symbolic svg but pack them in ${PN}-symbolic
This fixes:
* gtk-icon-browser: for symbolic view almost all icons were missing
* xfce's thunar: 'home' and 'up' icons were missing. Had a long discussion with
  XFCE-people [1] and asked here [2].

How could I overlook the most obvious...

[1] https://bugzilla.xfce.org/show_bug.cgi?id=14443
[2] http://lists.openembedded.org/pipermail/openembedded-core/2018-November/275815.html

(From OE-Core rev: 0911e7d2f5443210b594a198ada8465af7a2fc78)

(From OE-Core rev: 9c63433010aae6891149a7605a637bee879dc4ef)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Chen Qi
a84ff1c062 runqemu: do not check return code of tput
The subprocess.run was replaced by subprocess.check_call because
of compatibility support down to python 3.4. But we really don't
care about whether that command succeeds. Some user reports that
in some tmux environment, this command fails and gives some
unpleasant traceback output. So we use 'call' instead of 'check_call'
to avoid such problem.

(From OE-Core rev: ced3c75fa75d9b9373d695d9204b197b98ea3bd9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Hongxu Jia
dfc74324c9 image_types.bbclass: fix a race between the ubi and ubifs FSTYPES
The ubi, ubifs and multiubi FSTYPES calls `mkfs.ubifs' to create UBIFS
images.

In do_image_ubi, $vname is empty, the name of UBIFS image conflicts with
the one in do_image_ubifs, and it's a race risk.
[do_image_ubi]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
[do_image_ubi]

[do_image_ubifs]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}
[do_image_ubifs]

In do_image_multiubi, $vname is not empty, the UBIFS image name does
not conflict with others.

So do not call mkfs.ubifs in do_image_ubi and depend on do_image_ubifs
to create UBIFS images.

The fix does not affect do_image_multiubi which still call mkfs.ubifs to
create multiple UBIFS images and symlinks.

[YOCTO #13272]

(From OE-Core rev: 5e900f2c9319843c8905713dd3dd12a1ad435976)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Richard Purdie
cd7114274d e2fsprogs: Skip slow ptest tests
The slow tests run unreliably with our current setup/infrsstructure/timeouts.

There are only five slow ones and having the other ~250 run reliably without timeouts
is the priority right now. We can revisit the slow tests at some later date if wanted.

(From OE-Core rev: ae87e2fab31590aaf8c2f0672d327d633f896cbd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Changqing Li
0e354a5184 ruby: add ptest
(From OE-Core rev: ed650ca30379279f6a0f1e8f9f728cc542504732)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Changqing Li
6e17a309e2 ruby: make ext module fiddle can compile success
ext module fiddle depend on libffi, in ruby source tree,
there is in internal libffi in case target platfrom don't
install libffi, but autotools.bbclass delete configure
under libffi and not run autoreconf to regenerate one.so
we met this error:
ruby-2.5.3/ext/fiddle/libffi-3.2.1/configure: No such file or directory

the fix is add depend and extra_oeconf to use libffi in the system

(From OE-Core rev: 3a0272bab546a4b47feab117713e32873419bbe7)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Grandbois, Brett
0e159278a1 ruby: remove CVE-2018-1000073.patch as already fixed
rubygems 2.7.6 which is in ruby 2.5.3 has this fix and as currently
applied all gem extraction fails as the realpath check is done against
the full path including the file to be extracted which will always fail
as the file hasnt been extracted yet

(From OE-Core rev: a9cc1b3f9a684c14f02b06226693b023adc3e609)

Signed-off-by: Brett Grandbois <brett.grandbois@opengear.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Manjukumar Matha
589437ee23 ruby.inc: Add dependency on readline-native
Add dependency on readline-native to fix the following issue

uninitialized constant Logfile
|       Check ext/fiddle/mkmf.log for more details.
| readline:
|       Could not be configured. It will not be installed.
|
build/tmp/work/x86_64-linux/ruby-native/2.5.1-r0/ruby-2.5.1/ext/readline/extconf.rb:62:
Neither readline nor libedit was found
|       Check ext/readline/mkmf.log for more details.
| *** Fix the problems, then remove these directories and try again if
you want.

(From OE-Core rev: bddf9bec4913fb8eabe6f2995020bf06cc7f890a)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Lei Yang
70846334d1 recipetool: add missed module
When I use recipetool to add a new recipe, it says:

[snip]
sys.exit(14)
NameError: name 'sys' is not defined
[snip]

(From OE-Core rev: 4cf8d01d0066699f39162e25d1cdc847c0175473)

Signed-off-by: Lei Yang <Lei.Yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Richard Purdie
3c0cf0ecb2 pseudo: Update to gain key bugfixes
Newer distros are using new versions of glibc and coreutils which use the new glibc
renameat2 function. We need to intercept this for correct functioning of pseudo. This
is essential to ensure new distros continue to work with the project.

Also, this version has a fix for path/inode cross corruption problems which
may explain our mysterious locale permissions issues.

Many thanks to Otavio and Peter Seebach for the help in figuring this out and
fixing it.

(From OE-Core rev: b768cfb6c849cbbc2d6e2d03974af009ca5340de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Yeoh Ee Peng
3cbf1342dd resulttool/manualexecution: Enable configuration options selection
Current manualexecution required user to input configuration manually
where there were inconsistent inputs and human typo issues.

Enable manualexecution to have the optional feature where it
will use pre-compiled configuration options file where user will
be able to select configuration from the pre-compiled list instead
of manual key-in the configuration. This will eliminate human error.

Expect the pre-compiled configuration options file in json format below

{
    "bsps-hw": {
        "IMAGE_BASENAME": {
            "1": "core-image-sato-sdk"
        },
        "MACHINE": {
            "1": "beaglebone-yocto",
            "2": "edgerouter",
            "3": "mpc8315e-rdb",
            "4": "genericx86",
            "5": "genericx86-64"
        }
    },
    "bsps-qemu": {
        "IMAGE_BASENAME": {
            "1": "core-image-sato-sdk"
        },
        "MACHINE": {
            "1": "qemuarm",
            "2": "qemuarm64",
            "3": "qemumips",
            "4": "qemumips64",
            "5": "qemuppc",
            "6": "qemux86",
            "7": "qemux86-64"
        }
    }
}

(From OE-Core rev: 4c6bac8453768cab9c416c012019ead5edeaafa5)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Bruce Ashfield
2acd92292d linux-yocto/4.18: update to v4.18.33
Integrating Paul Gortmaker's -stable ports to 4.18 which comprise the
following commits:

   56f9fe35a4c5 Linux 4.18.33
   bf44ff79b855 net: hns: Fixes the missing put_device in positive leg for roce reset
   81614c514f4e mm: Use fixed constant in page_frag_alloc instead of size + 1
   035b5a7a3e3f ipvs: fix warning on unused variable
   58ab04e46d92 intel_th: gth: Fix an off-by-one in output unassigning
   8cb600d53c6c ARM: dts: exynos: Fix max voltage for buck8 regulator on Odroid XU3/XU4
   f11b815f39bf s390/setup: fix boot crash for machine without EDAT-1
   4059d23a36a6 KVM: nVMX: Ignore limit checks on VMX instructions using flat segments
   d94637dc73e5 KVM: nVMX: Apply addr size mask to effective address for VMX instructions
   ee356457f2a3 KVM: nVMX: Sign extend displacements of VMX instr's mem operands
   b4485d9eb039 KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux
   fe7d69927661 KVM: x86/mmu: Detect MMIO generation wrap in any address space
   c34cae89374b KVM: Call kvm_arch_memslots_updated() before updating memslots
   9fb8b858d552 drm/amd/display: don't call dm_pp_ function from an fpu block
   d4302b79ffbd drm/amd/powerplay: correct power reading on fiji
   5f8c51055244 drm/radeon/evergreen_cs: fix missing break in switch statement
   3fc39cdce701 media: imx: csi: Stop upstream before disabling IDMA channel
   5c008f7971b8 media: imx: csi: Disable CSI immediately after last EOF
   74a5ff7db3b2 media: uvcvideo: Avoid NULL pointer dereference at the end of streaming
   142a9bd66395 media: lgdt330x: fix lock status reporting
   465204a0c772 media: imx: prpencvf: Stop upstream before disabling IDMA channel
   42a2c1a40db0 rcu: Do RCU GP kthread self-wakeup from softirq and interrupt
   f9480ca4fb29 tpm: Unify the send callback behaviour
   5f28509f81ad tpm/tpm_crb: Avoid unaligned reads in crb_recv()
   ea37270d4c87 md: Fix failed allocation of md_register_thread
   bd77b69a20ba perf intel-pt: Fix divide by zero when TSC is not available
   c9a63c17458f perf/x86/intel/uncore: Fix client IMC events return huge result
   63a25bdd4227 perf intel-pt: Fix overlap calculation for padding
   66a57e3b95b5 perf auxtrace: Define auxtrace record alignment
   76650254e18e perf intel-pt: Fix CYC timestamp calculation after OVF
   274ef4840d79 x86/unwind/orc: Fix ORC unwind table alignment
   3928a903e185 vt: perform safe console erase in the right order
   645a7ca69855 stable-kernel-rules.rst: add link to networking patch queue
   1c14622adb15 bcache: never writeback a discard operation
   261aad0b3ea7 PM / wakeup: Rework wakeup source timer cancellation
   ee610ce938cd svcrpc: fix UDP on servers with lots of threads
   0530b66bfd53 NFSv4.1: Reinitialise sequence results before retransmitting a request
   9a1d7090b36e nfsd: fix wrong check in write_v4_end_grace()
   e7edb30fd6b7 nfsd: fix memory corruption caused by readdir
   672f2e600d21 nfsd: fix performance-limiting session calculation
   624865483faa NFS: Don't recoalesce on error in nfs_pageio_complete_mirror()
   2b5fef7c9927 NFS: Fix an I/O request leakage in nfs_do_recoalesce
   63adecfe53e9 NFS: Fix I/O request leakages
   0b0545dd7e6e cpcap-charger: generate events for userspace
   8f27f8570fa7 mfd: sm501: Fix potential NULL pointer dereference
   f964d308797d dm integrity: limit the rate of error messages
   1ed46c0c4f65 dm: fix to_sector() for 32bit
   ea77e999f649 ipmi_si: fix use-after-free of resource->name
   5a0bc68e9a0d arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2
   9dc4a1a6447e arm64: debug: Ensure debug handlers check triggering exception level
   c33e96f8ddb2 arm64: Fix HCR.TGE status for NMI contexts
   bb7edb8a409a ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify
   e8d7edd36a92 powerpc/traps: Fix the message printed when stack overflows
   fbea0579063f powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR configuration
   88d0042148f0 powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning
   b0fc119506bf powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest
   6e975dad4a8e powerpc/powernv: Don't reprogram SLW image on every KVM guest entry/exit
   fcf2d15a0a32 powerpc/83xx: Also save/restore SPRG4-7 during suspend
   87481c65c805 powerpc/powernv: Make opal log only readable by root
   12319dcc9a80 powerpc/wii: properly disable use of BATs when requested.
   be851891b1c9 powerpc/32: Clear on-stack exception marker upon exception return
   24d0b4b51dd1 security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock
   3ea70bdc892f selinux: add the missing walk_size + len check in selinux_sctp_bind_connect
   00d550a195f2 jbd2: fix compile warning when using JBUFFER_TRACE
   b18848cc624a jbd2: clear dirty flag when revoking a buffer from an older transaction
   108ba9f62780 serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 chip use the pci_pericom_setup()
   a79bc3e5fb7c serial: 8250_pci: Fix number of ports for ACCES serial cards
   78e39f8bb56e serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart
   04eb2755b4e9 serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO
   9007ccc01a91 bpf: only test gso type on gso packets
   ef5b4e1f5735 drm/i915: Relax mmap VMA check
   23ca68189393 can: flexcan: FLEXCAN_IFLAG_MB: add () around macro argument
   8529fecb481e gpio: pca953x: Fix dereference of irq data in shutdown
   31e04ac8a8ba media: i2c: ov5640: Fix post-reset delay
   1855d8c9e6c4 i2c: tegra: fix maximum transfer size
   8bc3433b216d parport_pc: fix find_superio io compare code, should use equal test.
   2c0542dbb267 intel_th: Don't reference unassigned outputs
   c64422307c34 device property: Fix the length used in PROPERTY_ENTRY_STRING()
   c88db9c0d127 kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv
   5374924c9332 mm/memory.c: do_fault: avoid usage of stale vm_area_struct
   db693b432779 mm/vmalloc: fix size check for remap_vmalloc_range_partial()
   1811478753e3 mm: hwpoison: fix thp split handing in soft_offline_in_use_page()
   492ea426ddce dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit
   f1bb88d5cee1 usb: chipidea: tegra: Fix missed ci_hdrc_remove_device()
   9377917b523a clk: ingenic: Fix doc of ingenic_cgu_div_info
   f0412cfc06af clk: ingenic: Fix round_rate misbehaving with non-integer dividers
   b6b4011ce7d1 clk: samsung: exynos5: Fix kfree() of const memory on setting driver_override
   715fe29adfd1 clk: samsung: exynos5: Fix possible NULL pointer exception on platform_device_alloc() failure
   eb9aa4ebf835 clk: clk-twl6040: Fix imprecise external abort for pdmclk
   917fa829bbf5 clk: uniphier: Fix update register for CPU-gear
   80d526380136 ext2: Fix underflow in ext2_max_size()
   bbf30be02326 cxl: Wrap iterations over afu slices inside 'afu_list_lock'
   94f31d712f26 IB/hfi1: Close race condition on user context disable and close
   a80eceacf85c PCI: dwc: skip MSI init if MSIs have been explicitly disabled
   084005af4966 PCI/ASPM: Use LTR if already enabled by platform
   821934eb7e75 ext4: fix crash during online resizing
   01767d409537 ext4: add mask of ext4 flags to swap
   f21830e67d5d ext4: update quota information while swapping boot loader inode
   4de71f7481a7 ext4: cleanup pagecache before swap i_data
   4821bf3c61bb ext4: fix check of inode in swap_inode_boot_loader
   3cd2f1153739 cpufreq: pxa2xx: remove incorrect __init annotation
   dc4443928ee2 cpufreq: tegra124: add missing of_node_put()
   a0e15a764318 cpufreq: kryo: Release OPP tables on module removal
   d28564a8e60e x86/kprobes: Prohibit probing on optprobe template code
   56955276ba2e irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code
   14dda7949f82 irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table
   3a8560230470 libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer
   7e7e5728d161 Btrfs: fix corruption reading shared and compressed extents after hole punching
   be1ee0e2fd42 btrfs: ensure that a DUP or RAID1 block group has exactly two stripes
   cb292a678ee2 Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl
   f1f0ee2859e6 Btrfs: setup a nofs context for memory allocation at btrfs_create_tree()
   0e6de290666f m68k: Add -ffreestanding to CFLAGS
   f78f0d35d43a splice: don't merge into linked buffers
   433cbc2d30f3 fs/devpts: always delete dcache dentry-s in dput()
   dbb3e594eecd scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock
   528af139ff6b scsi: sd: Optimal I/O size should be a multiple of physical block size
   ee579fc4e875 scsi: aacraid: Fix performance issue on logical drives
   818838eea45d scsi: virtio_scsi: don't send sc payload with tmfs
   478bd6b7f170 s390/virtio: handle find on invalid queue gracefully
   47c6ea331f58 s390/setup: fix early warning messages
   69304bcf9021 clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer instability
   947a053a6d47 clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown
   084c1f5522f1 clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR
   95d7c41e448f regulator: s2mpa01: Fix step values for some LDOs
   69913dbd2d55 regulator: max77620: Initialize values for DT properties
   060c4f4e5d0c regulator: s2mps11: Fix steps for buck7, buck8 and LDO35
   9a215e43276c spi: pxa2xx: Setup maximum supported DMA transfer length
   913cb6579c9a spi: ti-qspi: Fix mmap read when more than one CS in use
   bb427df35f34 netfilter: ipt_CLUSTERIP: fix warning unused variable cn
   8fb8fb9b67bb mmc:fix a bug when max_discard is 0
   85d7e5a8000a mmc: sdhci-esdhc-imx: fix HS400 timing issue
   882b6b31ea55 ACPI / device_sysfs: Avoid OF modalias creation for removed device
   b3a0dfcfdd64 tracing/perf: Use strndup_user() instead of buggy open-coded version
   054dec51d4e6 tracing: Do not free iter->trace in fail path of tracing_open_pipe()
   9031822970ed tracing: Use strncpy instead of memcpy for string keys in hist triggers
   9367b21da22c CIFS: Fix read after write for files with read caching
   db6a6106224d CIFS: Do not reset lease state to NONE on lease break
   aef1cf600f41 crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine
   134135d884be crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling
   6779d6bdf611 crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP
   2dc6214860a1 crypto: x86/aesni-gcm - fix crash on empty plaintext
   a6e83e8b0777 crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP
   f62b08c81429 crypto: testmgr - skip crc32c context test for ahash algorithms
   817cbacff744 crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails
   bc647ef1085e crypto: pcbc - remove bogus memcpy()s with src == dest
   9fb0d7b8f9c2 crypto: morus - fix handling chunked inputs
   76bc71692818 crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails
   67a69738546d crypto: arm64/crct10dif - revert to C code for short inputs
   e1369ad2e0fc crypto: arm64/aes-neonbs - fix returning final keystream block
   7807003aab85 crypto: arm/crct10dif - revert to C code for short inputs
   f54fbb0e595b crypto: aegis - fix handling chunked inputs
   1e1f858caf7d crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails
   c81bf050b880 fix cgroup_do_mount() handling of failure exits
   638f4fb4ec67 libnvdimm: Fix altmap reservation size calculation
   5ebf4aa4cf6b libnvdimm/pmem: Honor force_raw for legacy pmem regions
   8f42d7ac37af libnvdimm, pfn: Fix over-trim in trim_pfn_device()
   68ab49b299fb libnvdimm/label: Clear 'updating' flag after label-set update
   063d65ab9fdd nfit/ars: Attempt short-ARS even in the no_init_ars case
   387b9f01ac16 nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot
   b4a1581c801d acpi/nfit: Fix bus command validation
   0c27d62e5752 nfit: acpi_nfit_ctl(): Check out_obj->type in the right place
   fd8e9cd85f26 stm class: Prevent division by zero
   dd1250b50c61 tmpfs: fix uninitialized return value in shmem_link
   f4cadb1ec900 selftests: fib_tests: sleep after changing carrier. again.
   7d856eb21fd5 net: set static variable an initial value in atl2_probe()
   193e19cdf7a0 bnxt_en: Wait longer for the firmware message response to complete.
   36ca3daa9b6a bnxt_en: Fix typo in firmware message timeout logic.
   aae48df6d81b nfp: bpf: fix ALU32 high bits clearance bug
   9fbe31fda762 nfp: bpf: fix code-gen bug on BPF_ALU | BPF_XOR | BPF_K
   a58be12de08d net: thunderx: add nicvf_send_msg_to_pf result check for set_rx_mode_task
   76320607b755 net: thunderx: make CFG_DONE message to run through generic send-ack sequence
   6d0ebfc3fd3c bpf, lpm: fix lookup bug in map_delete_elem
   4e9c4ca54607 mac80211_hwsim: propagate genlmsg_reply return code
   ce8e30135705 phonet: fix building with clang
   92f628f3c945 ARCv2: don't assume core 0x54 has dual issue
   1faac2e0838b ARCv2: support manual regfile save on interrupts
   53fc181c111c ARC: uacces: remove lp_start, lp_end from clobber list
   515122c2d88a ARCv2: lib: memcpy: fix doing prefetchw outside of buffer
   b1ba6184493e ixgbe: fix older devices that do not support IXGBE_MRQC_L3L4TXSWEN
   a7bc4915f286 tmpfs: fix link accounting when a tmpfile is linked in
   5beffa8382a9 mm: handle lru_add_drain_all for UP properly
   7bd326b49004 net: marvell: mvneta: fix DMA debug warning
   70e79b53dd95 arm64: Relax GIC version check during early boot
   e3ca5da971e0 ARM: dts: armada-xp: fix Armada XP boards NAND description
   2ac1b780dae0 qed: Fix iWARP syn packet mac address validation.
   9e1395d75177 qed: Fix iWARP buffer size provided for syn packet processing.
   5db253fa68bf ASoC: topology: free created components in tplg load error
   31983c568574 mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue
   98b9e4e542eb net: mv643xx_eth: disable clk on error path in mv643xx_eth_shared_probe()
   d19e6c11ca1f qmi_wwan: apply SET_DTR quirk to Sierra WP7607
   59e3fdbb9d45 pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins
   63c87ecf5134 net: dsa: bcm_sf2: Do not assume DSA master supports WoL
   a2e5d18914c1 net: systemport: Fix reception of BPDUs
   8d33e97da9c5 scsi: libiscsi: Fix race between iscsi_xmit_task and iscsi_complete_task
   1c976b2c9f19 keys: Fix dependency loop between construction record and auth key
   590d6228f163 assoc_array: Fix shortcut creation
   5aa6e4f891a2 af_key: unconditionally clone on broadcast
   8cae27e41068 bpf: fix lockdep false positive in stackmap
   c16b543d92ee bpf: only adjust gso_size on bytestream protocols
   908e6fda5d7d ARM: 8824/1: fix a migrating irq bug when hotplug cpu
   d6fb8e0d9e7d esp: Skip TX bytes accounting when sending from a request socket
   2dd0beec5a84 clk: sunxi: A31: Fix wrong AHB gate number
   48db12b60b5b kallsyms: Handle too long symbols in kallsyms.c
   882dbe3d5c03 clk: sunxi-ng: v3s: Fix TCON reset de-assert bit
   1ab0225d6786 Input: st-keyscan - fix potential zalloc NULL dereference
   8a6ef92721b7 auxdisplay: ht16k33: fix potential user-after-free on module unload
   53f4d6948b35 i2c: bcm2835: Clear current buffer pointers and counts after a transfer
   60bc9292260f i2c: cadence: Fix the hold bit setting
   e6e2c6c26a58 net: hns: Fix object reference leaks in hns_dsaf_roce_reset()
   bf6be978fece mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs
   7f72a70062d7 x86/CPU: Add Icelake model number
   4342d099969c net: dsa: bcm_sf2: potential array overflow in bcm_sf2_sw_suspend()
   6093401c933b scsi: qla2xxx: Fix panic from use after free in qla2x00_async_tm_cmd
   09f4a1b6edf1 Revert "mm: use early_pfn_to_nid in page_ext_init"
   7b9dd6a4976b mm/gup: fix gup_pmd_range() for dax
   3cd584b00e50 NFS: Don't use page_file_mapping after removing the page
   7d8cf3eb1dc7 xprtrdma: Make sure Send CQ is allocated on an existing compvec
   5c64b19db5ce floppy: check_events callback should not return a negative number
   1cae395dd7c0 ipvs: fix dependency on nf_defrag_ipv6
   d05d4feda816 blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue
   0af0889613a8 netfilter: compat: initialize all fields in xt_init
   f2883b8eb0a9 mac80211: Fix Tx aggregation session tear down with ITXQs
   665cb8ebf0f3 mac80211: call drv_ibss_join() on restart
   0a1d76449997 Input: matrix_keypad - use flush_delayed_work()
   375152e09de2 Input: ps2-gpio - flush TX work when closing port
   b15599627bd0 Input: cap11xx - switch to using set_brightness_blocking()
   a1e0fb446a4b ARM: OMAP2+: fix lack of timer interrupts on CPU1 after hotplug
   7a587d77b211 ASoC: samsung: Prevent clk_get_rate() calls in atomic context
   bf74076b7dd3 KVM: arm64: Forbid kprobing of the VHE world-switch code
   d74df61de605 arm/arm64: KVM: Don't panic on failure to properly reset system registers
   58d6ec80a286 arm/arm64: KVM: Allow a VCPU to fully reset itself
   c05c5a6e1f0e KVM: arm/arm64: Reset the VCPU without preemption and vcpu state loaded
   ba274486de32 ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables
   a3d8ea1f2555 ARM: OMAP2+: Variable "reg" in function omap4_dsi_mux_pads() could be uninitialized
   237e6c308062 Input: pwm-vibra - stop regulator after disabling pwm, not before
   6a48d09a77a1 Input: pwm-vibra - prevent unbalanced regulator
   fcae9decbc8f s390/dasd: fix using offset into zero size array error
   f98a25dc02b7 KVM: arm/arm64: vgic: Make vgic_dist->lpi_list_lock a raw_spinlock
   74b6b1e49d06 gpu: ipu-v3: Fix CSI offsets for imx53
   1c0723cba9a9 drm/imx: imx-ldb: add missing of_node_puts
   321e0fbdae09 gpu: ipu-v3: Fix i.MX51 CSI control registers offset
   f0e52962b9f2 drm/imx: ignore plane updates on disabled crtcs
   38fc637ca52e crypto: rockchip - update new iv to device in multiple operations
   5d89757429b3 crypto: rockchip - fix scatterlist nents error
   2365ae3a03c9 crypto: ahash - fix another early termination in hash walk
   512b0d76c2c9 crypto: cfb - remove bogus memcpy() with src == dest
   66b1348939de crypto: cfb - add missing 'chunksize' property
   40c76d76e11f crypto: ccree - don't copy zero size ciphertext
   2ff9501c582f crypto: ccree - fix free of unallocated mlli buffer
   ba3c72efd404 crypto: caam - fixed handling of sg list
   5d9cee322faf crypto: ccree - fix missing break in switch statement
   e0ea8deb72db stm class: Fix an endless loop in channel allocation
   95b10e2f6a61 mei: bus: move hw module get/put to probe/release
   1af8d0304685 iio: adc: exynos-adc: Fix NULL pointer exception on unbind
   513052a27dab ASoC: codecs: pcm186x: Fix energysense SLEEP bit
   d5f37b5d7009 ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE()
   da21c5d9bacf ASoC: fsl_esai: fix register setting issue in RIGHT_J mode
   b3e4f70db4f3 9p/net: fix memory leak in p9_client_create
   4b84eeface08 9p: use inode->i_lock to protect i_size_write() under 32-bit
   4441736404a3 media: videobuf2-v4l2: drop WARN_ON in vb2_warn_zero_bytesused()
   3f7de80a22c6 perf/core: Fix impossible ring-buffer sizes warning

(From OE-Core rev: ad29465ccb9fea2622aa2ef8c7118a0deae829a2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Bruce Ashfield
18585c3251 linux-yocto-tiny/4.18: point KBRANCH to 4.18
The other kernel versions had the -tiny KBRANCH typo of 4.15
fixed, but 4.18 was missed. So we update the kbranch to the right
version for 4.18 as well.

[YOCTO #13247]

(From OE-Core rev: d761b2ae95a84f353c4132bc9b0506c4a4b4c73f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Richard Purdie
a7472df42d core-image-sato-sdk-ptest: Fix free space issues causing test failures
Some tests such as strace-ptest require more than the current 500MB of free
space. Increase the amount available, staying under the 4GB limit. We have more
flexibility now since we shrank kernel-devsrc and the comments are out of date
due to that.

This should improve the strace-ptest results and the util-linux ones since
those sort after strace and also hit the space issues as strace-ptest didn't
clean up after itself when failing.

(From OE-Core rev: c4bb2bdbe6f74141f30171dabab49fa5cd45371f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Richard Purdie
9728d8e4fa core-image-sato-sdk-ptest: Increase qemu memory to 1GB
(From OE-Core rev: 2861b339f4539ec4042cc7aa5351361246f4921f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Yeoh Ee Peng
08230d15a8 resulttool: Enable report for single result file
Current validation check function inside resulttool disallow the
report for single result file although the underlying library
was able to handle both directory and file as source input to report.
Removed the validation check as it was no longer needed and to
enable report for single result file.

(From OE-Core rev: dc15a21cbb3090dfb56e78f622486f843be4f54a)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Kai Kang
032c2e5deb avahi: fix CVE-2017-6519
Backport patch to fix CVE-2017-6519.

CVE: CVE-2017-6519

(From OE-Core rev: cf787f8eab1c85dbafb5e74bf12eb4ddb5c5cbf7)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
5b80f507d2 libexif: fix CVE-2016-6328 and CVE-2018-20030
(From OE-Core rev: fbb34412641afa0fa7327cf599b82564ca375217)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
3eb0322125 libsndfile1: fix CVE-2019-3832
The previous fix for CVE-2018-19758 wasn't complete, so backport another patch
to solve it properly.

(From OE-Core rev: 932762be3999906c2e8a0ed9236f1f01d9e2ea93)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
c4d4765082 libsndfile1: update security patches
Remove CVE-2017-14245-14246.patch, fix rejected upstream as it doesn't solve the
underlying issue.

Instead 0001-a-ulaw-fix-multiple-buffer-overflows-432 also solves CVE-2017-14245
and CVE-2017-14246 properly.

Add patches for CVE-2017-12562 and CVE-2018-19758.

Refresh CVE-2018-13139.patch.

(From OE-Core rev: e6b272b7c0d10f49dde71dd9714aaa0fb6aec091)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
0a0e9bd513 bluez5: fix CVE-2018-10910
Fix this CVE (Bluetooth discoverability may be enabled with no agents to handle
requests) by backporting a number of patches from upstream.

(From OE-Core rev: 883726c93b4e6d64eec942e2fc9c937f7092adb0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
David Frey
3a9be51359 bluez5: Fix status subcommand of init script
Update the bluez5 init script to resolve an issue where the status
subcommand would exit without printing any message if bluez was not
running. The early exit was caused by the fact that the init script has
"set -e". When "pidof ${DAEMON} >/dev/null" is executed, the script
terminates immediately if bluez isn't running because pidof returns a
non-zero result. The fixed version does not suffer from this issue and
makes use of the "status" function from the functions library.

(From OE-Core rev: 383425fb86fdeccad88080369078d9ac988bab2f)

Signed-off-by: David Frey <dpfrey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Peter A. Bigot
c184fa0892 bluez5: add mesh dependency on ell
Introduced at or before 5.50.

(From OE-Core rev: 0ae5ff4c0adc5fd727e5c5c47aba8c7859d60a73)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Taras Kondratiuk
711064cad9 devtool: prevent starting git gc in background
Devtool creates a git repository for extracted sources in a temporary
directory and then moves it to a final destination after patching is
done. Unfortunately devtool is not aware that some of its git operations
may have caused git garbage collector to start in background. If timing
is just right a repository move fails because GC is removing git objects
while they are being moved.

The issue was hit on Krogoth release, but the code that moves created
git repository is still the same.

Disable gc.autodetach to make GC run synchronously and block git until
it is done.

Traceback (most recent call last):
  File "<snip>/openembedded-core/scripts/devtool", line 342, in <module>
    ret = main()
  File "<snip>/openembedded-core/scripts/devtool", line 329, in main
    ret = args.func(args, config, basepath, workspace)
  File "<snip>/openembedded-core/scripts/lib/devtool/standard.py", line 352, in extract
    initial_rev = _extract_source(srctree, args.keep_temp, args.branch, False, rd)
  File "<snip>/openembedded-core/scripts/lib/devtool/standard.py", line 644, in _extract_source
    shutil.move(srcsubdir, srctree)
  File "/usr/lib/python2.7/shutil.py", line 299, in move
    copytree(src, real_dst, symlinks=True)
  File "/usr/lib/python2.7/shutil.py", line 208, in copytree
    raise Error, errors
Error: [('/tmp/devtool5RXkuX/workdir/grpc-1.2.5/.git/objects/5e', '<snip>/build/grpc/grpc_src/.git/objects/5e', "[Errno 2] No such file or directory: '/tmp/devtool5RXkuX/workdir/grpc-1.2.5/.git/objects/5e'"), ('/tmp/devtool5RXkuX/workdir/grpc-1.2.5/.git/objects/57', '<snip>/build/grpc/grpc_src/.git/objects/57', "[Errno 2] No such file or directory: '/tmp/devtool5RXkuX/workdir/grpc-1.2.5/.git/objects/57'"), many git objects ... ]

(From OE-Core rev: eae5caaf050f54a065e2654a60f55fda2c3afd95)

Signed-off-by: Taras Kondratiuk <takondra@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
8422861b17 python: fix CVE-2018-14647 in python-native too
(From OE-Core rev: 65042ebf07afad2922dcdfceb6e8931c05255649)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Changqing Li
51c5b21ae7 python-native: fix one do_populate_sysroot warning
Fix below warning:
WARNING: Skipping RPATH /usr/lib64 as is a standard search path for
work/x86_64-linux/python-native/2.7.15-r1.1/recipe-sysroot-native/
usr/lib/python2.7/lib-dynload/_bsddb.so

setup.py will check db.h under include_dirs, for native build,
/usr/lib64 will be insert to postion 0 of include_dirs, so
it's priority is higher then our sysroot, cause db.h sysroot
is ignored, and rpath set to /usr/lib64. and this cause warning
when do_populate_sysroot. use append to fix it.

(From OE-Core rev: 12df5392afb8446507bb73f4d33ee42e06a17b82)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Aditya Tayade
6a6756f46a run-ptest: use error handling for useradd and userdel
Error handling in shell scripts is too easy to forget and
get wrong. It is possible to check every external command
for return values but it is better to use a generic setting
which halts execution of the script on any failures.

Upstream-Status: Pending
(From OE-Core rev: ca415c4250e32e9430a13b9edf7b308637ce597f)

Signed-off-by: Aditya Tayade <Aditya.Tayade@kpit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
fe415144db zlib: clean up ptest
Instead of patching and sedding the makefile, just install test/example and
execute it in run-ptest.  example is the bulk of the test suite, as minimal as
it is.

(From OE-Core rev: 9088a78e78f70721b2aa6bdbdf055551d5bd0265)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
f1add4b50e zlib: cleanup
Drop remove.ldconfig.call.patch, as it's easier to just set LDCONFIG=true.

Pass uname=GNU via the documented configure option instead of undocumented
environment variable.

Rename zlib-1.2.11/ to just zlib/ as we don't ship multiple versions.

Send ldflags-tests.patch upstream and update Upstream-Status.

(From OE-Core rev: 9535dc7c6dc185defac2cad6a2733621c42420b7)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Yann CARDAILLAC
bc4556512d correct do_patch for kernel bbappend in sdk
do_patch rule of SDK's workspace/appends/linux-*.bbhappend may fail if script are not written in Python

that was the case with Phytec's BSP, the fix was to replace the do_patch rule with :

do_patch[noexec]="1" when the file was generated in scripts/lib/devtool/standard.py

(From OE-Core rev: e041812a84025a9ff9121efabc3805ff2dfe6375)

Signed-off-by: Yann CARDAILLAC <yann.cardaillac@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Robert Yang
2a708dec24 oe-init-build-env: Error out when failed to locate cwd
Ubuntu's /bin/sh symlinks to /bin/dash by default, so
subprocess.check_call(oe-init-build-env, cwd=builddir) would be failed since
pwd is builddir, and there is no $builddir/oe-init-build-env, this would
lead to other confusing errors, check and error it out earlier to make it
easier to locate the problem.

We don't meet the problem when manually run ". oe-init-build-env" is because
Ubuntu's default login shell is bash, but subprocess.check_call() doesn't
respect to login shell, so the error only happens in situations like
subprocess.check_call().

And also print errors to stderr as oe-buildenv-internal does.

(From OE-Core rev: aa4d86ff55b01d150f49b5b4517b0c661a10c36b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Armin Kuster
c9595af8ad python: time.tzset missing
import time
time.tzset()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'time' has no attribute 'tzset'

enable tzset in both python versions

(From OE-Core rev: e7721ee7e7942570ebab793f5870d7a021154a92)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fix up for Thud context ie python3_3.5.6]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Armin Kuster
371f57a1ee timezone: update to 2019a
The 2019a release of the tz code and data is available. It reflects the following changes, which were either circulated on the tz mailing list or are relatively minor technical or administrative changes:

  Briefly:
    Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
    Metlakatla "fell back" to rejoin Alaska Time on 2019-01-20 at 02:00.

  Changes to past and future timestamps

    Palestine will not start DST until 2019-03-30, instead of 2019-03-23 as
    previously predicted.  Adjust our prediction by guessing that spring
    transitions will be between 24 and 30 March, which matches recent practice
    since 2016.  (Thanks to Even Scharning and Tim Parenti.)

    Metlakatla ended its observance of Pacific standard time,
    rejoining Alaska Time, on 2019-01-20 at 02:00.  (Thanks to Ryan
    Stanley and Tim Parenti.)

  Changes to past timestamps

    Israel observed DST in 1980 (08-02/09-13) and 1984 (05-05/08-25).
    (Thanks to Alois Treindl and Isaac Starkman.)

  Changes to time zone abbreviations

    Etc/UCT is now a backward-compatibility link to Etc/UTC, instead
    of being a separate zone that generates the abbreviation "UCT",
    which nowadays is typically a typo.  (Problem reported by Isiah
    Meadows.)

  Changes to code

    zic now has an -r option to limit the time range of output data.
    For example, 'zic -r @1000000000' limits the output data to
    timestamps starting 1000000000 seconds after the Epoch.
    This helps shrink output size and can be useful for applications
    not needing the full timestamp history, such as TZDIST truncation;
    see Internet RFC 8536 section 5.1.  (Inspired by a feature request
    from Christopher Wong, helped along by bug reports from Wong and
    from Tim Parenti.)

  Changes to documentation

    Mention Internet RFC 8536 (February 2019), which documents TZif.

    tz-link.html now cites tzdata-meta
    <https://tzdata-meta.timtimeonline.com/>.

(From OE-Core rev: aa5c0d159c5016c6517f42a0a1738188b5646517)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Armin Kuster
ddfa6d1c2d timezone: refactor to simplify maint
move tzcode and tzdata-native into new dir

Updates are now limited to the common include file.

[v2]
Fix UMMARY typ0 in timezone.inc

(From OE-Core rev: a053af9d2bbd1f7cf2d05100af208c359190eb97)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[packages stayed the same, align for future updates]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Chen Qi
b715031fc6 openssl: follow OE's rule for specifying CVE ID
(From OE-Core rev: a3dd494337bbdf20d7bff651d533f944f270766e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Otavio Salvador
be0b881078 openssl10: Upgrade 1.0.2q -> 1.0.2r
(From OE-Core rev: 3aad3c98cf8af4929bc416bbda55ccc71879f2f2)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Otavio Salvador
b968e5a451 openssl: Upgrade 1.1.1a -> 1.1.1b
License-Update: copyright years updated
(From OE-Core rev: 5f15e883502e6f737f7cdc577f6c104e8fbeeaa9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Ross Burton
5dca0e0091 openssl: fix CVE-2019-1543
(From OE-Core rev: d8fc8bbab4bf5c34d316cc884e83fc6e66d57954)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Ross Burton
5bcdd22c23 openssl: don't disable the AFALG engine based on host kernel
Whether the AFALG engine (use of hardware crypto via AF_ALG) is enable or
disable depends on whether the host kernel is 4.1 or above, which has no bearing
on whether the target system supports it.

Remove the complicated logic and simply enable/disable as requested.

(From OE-Core rev: 6998a3d7d0ecd27014053fe40c9fb4e0ec970880)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Ovidiu Panait
8d19b6aaa8 openssl: Add cryptodev-linux PACKAGECONFIG
The old bsd cryptodev engine was removed in
https://github.com/openssl/openssl/pull/3699
and the new one added in:
https://github.com/openssl/openssl/pull/3744

It can be enabled by configuring with "enable-devcryptoeng".

(From OE-Core rev: 89dc69464b9ec1c2cac5d2420dfe6928da50d384)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Alexander Kanavin
9854e29e7a openssl: drop Python 2.x dependency in -ptest
It is only needed by 95-test_external_pyca_data which is
actually skipped on the target.

[YOCTO #13204]

(From OE-Core rev: ba193703ccda16c0ed834248d8c9fda0d6ad2302)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Richard Purdie
40b7fa68fb openssl: Fix ptest test output translation
openssl-ptest was recording now results, despite most tests passing. Fix
so that the successes/skips/failures are reported correctly.

(From OE-Core rev: 87728d921cfa5997b454ebc5074d2c1aee2def89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Khem Raj
1b57d8c575 glibc: Drop upstream rejected patches
These patches were applied, hoping that they will eventually be accepted
upstream but they have been rejected, I think its best that they are
dropped so we can avoid novel unintended behaviours that no other
distros will be seeing

(From OE-Core rev:54550aa42378ce4b215bccbfd95e5e650b0d2efa)

(From OE-Core rev: dc2238b268d48b4e62a795a4f6b257efc298e2b2)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:47 +01:00
Scott Rifenbark
50f33d3bfe overview-manual: Fixed broken link to pseudo.
Link has disappeared.  I am no longer using it and am using
the article to "Why Fakeroot" to cover both Fakeroot and
Pseudo "extra information" stuff.

(From yocto-docs rev: 2ed2d897ca6a8bfb20aefdbc11a815e10fa2376c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:16:00 +01:00
Scott Rifenbark
722e24a45e Documentation: Prepare for 2.6.2 release.
poky.ent - updated variables
mega-manual.sed - updated release string
<manual>.xml - updated manual revision history tables

(From yocto-docs rev: 5559b4006668d47595b3e4b5d5703bb1c200d6d1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:16:00 +01:00
Chen Qi
3df4b6e536 pkgdata.py: avoid target-sdk-dummy-provides to mess things up
Sometimes we meet the following failure for the test_lookup_recipe
test case.

  AssertionError: 'zlib\nbusybox is in the RPROVIDES of target-sdk-provid[32 chars]ummy' != 'zlib\nbusybox'
    zlib
  + busybox- busybox is in the RPROVIDES of target-sdk-provides-dummy:
  - target-sdk-provides-dummy

This is because target-sdk-provides-dummy rprovides busybox.

So clean things up to avoid failure.

(From OE-Core rev: 7b5a069d4f11e36a1c407c4212aba5aafaf4ee7f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
f2f7099b8a resulttool/manualexecution: Refactor and simplify codebase
Simplify and removed unnecessary codes.
Refactor to allow pythonic loop.

(From OE-Core rev: 31449f3a7649be781b7b61f915d5e879728e87af)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
e29a39142e resulttool/manualexecution: Fixed step sorted by integer
Currently the manual execution display step by sorting
the step as string, where steps were not being sorted
correctly when there are more than 9 steps.

Fixed the step sorting by sorting step as integer.

(From OE-Core rev: 2d96a9228fb451752c061c25582a5cc1735099bf)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
4a3d52537a resulttool/manualexecution: Enable display full steps without press enter
Current manualexecution required pressing enter button to show each step
information, where this was wasting execution time. Enable display
full steps without needing to any press enter button.

(From OE-Core rev: 6bb181b1e5f14d166cab8023b14316e54012c583)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
2147e148d1 resulttool/manualexecution: Standardize input check
Current input checking does not match the standard input practiced
by QA team. Change the input checking to match the standard
input practiced by the QA team.

(From OE-Core rev: f28cfbdad40a69f0cc1a7e71d20260c9621e6194)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Richard Purdie
056ff02e98 resulttool: Allow extraction of ptest data
Rather than simply discarding the ptest data, change the code to discard
it when writing out the new testresult files, or optionally either preserve
it, or write it as seperate discrete logs.

This means the autobuilder should start writing out individual ptest log
files as well as allowing ueers to extract these manually.

(From OE-Core rev: 3c5e5730031ccfb8e851734db23814a4d4fcae4a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Richard Purdie
d80bcba0e3 resulttool: Allow store to work on single files
Store operations using a single file as a source weren't working as the os.walk
command didn't like being given a single file. Fix the store operation to
work for single files.

(From OE-Core rev: 5173954c1ec75629bedbe06d6979dae36eb71b6f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
10d43f6d08 oeqa/manual/toaster: updated test id naming
All test id (eg. @alias) inside manual testcase file shall follow the same
test id naming convention from oeqa automated tests (eg. selftest,
runtime, sdk, etc), where the test id consists of
<test_module>.<test_suite>.<test_function>. Furthermore, there shall be
only 1 unique test_module per each manual testcases file, where
test_module match the file name itself.

This file was using test_module name that does not match the file name
itself. Fixed test_module name as well as the test_suite name.

(From OE-Core rev: ebb3076c847c379d8c620d14927f696302fc4f26)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
Yeoh Ee Peng
a50dcf1d0d oeqa/manual/toaster: transfer manual toaster test cases to oeqa
As part of the solution to replace Testopia, manual test cases
need to be migrated to OEQA. These manual test case json files
will serve two use cases.

Use case#1: as input to the future commandline-based manual test
runner script, where this script will display actions and expected
result information in user friendly text, then it will capture
user input for test result and log, finally it will write test
result and log into existing standardize test result json format
from OEQA framework for automated tests.

Use case#2: QA will open and read these json file manually for
planning manual test execution. Any reader interested in
understanding manual test cases will open and read these files.

(From OE-Core rev: 498f84fee3c85227ffb8dba9723c2acec00e03bd)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
sangeeta jain
6fda37f233 oeqa/manual/kernel-dev.json: test id updated
All test id (eg. @alias) inside manual testcase file shall follow the same test id
naming convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where
the test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases. Furthermore,
some of the testcases were defined using different test_suite where it was not needed.
This patch fix the manual testcases file to have only 1 unique test_module
as well as test_suite to simplify test id naming.

(From OE-Core rev: 879f5aeac3ca4d053347e5a86a6c0fb303cf0dc3)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
sangeeta jain
c373eb01b2 oeqa/manual/compliance-test.json: test id updated and missing test cases added
Two changes made in oeqa/manual/compliance-test.json:

1. All test id (eg. @alias) inside manual testcase file shall follow the same test id
naming convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where
the test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases. Furthermore, some of
the testcases were defined using different test_suite where it was not needed. This patch
fix the manual testcases file to have only 1 unique test_module as well as test_suite to
simplify test id naming.

2. Added 2 missing test cases for Beaglebone Stress Test.

(From OE-Core rev: 2af492e8b34e59fc58fe267da05f0868cb13ea0f)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:46 +01:00
sangeeta jain
3cc6fc01f1 oeqa/manual/bsp-hw.json: test id updated and obsolete test cases removed
Two changes made in oeqa/manual/bsp-hw.json:

1. All test id (eg. @alias) inside manual testcase file shall follow the same test id naming
convention from oeqa automated tests (eg. selftest, runtime, sdk, etc), where the
test id consists of  <test_module>.<test_suite>.<test_function>. Furthermore,
there shall be only 1 unique test_module per each manual testcases file.

This file was using more than 1 unique test_module for testcases.
Furthermore, some of the testcases were defined using different test_suite where it was not
needed. This patch fix the manual testcases file to have only 1 unique
test_module as well as test_suite to simplify test id naming.

2. As per review by Intel and Windriver team, 7 testcases were found obsolete. Removed 7 testcases.

(From OE-Core rev: cfadaf037788f59dce84d569abaf3b1fb2d78824)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:45 +01:00
Mazliana
463b94d692 oeqa/manual/bsp-hw.json: add non-IA tests
QA team found that 10 manual bsp test cases from Testopia for
Beaglebone, EdgeRouter, and MPC need to be up streamed

[YOCTO #12650]

(From OE-Core rev: f86542369fc5aabe4376e66b282981f35d437d5d)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:45 +01:00
sangeeta jain
bf2d20e9f0 oeqa/manual/sdk.json: Updated toolchain tarball to core-image-sato
Manual test step for SDK is updated. Previously toolchain was "poky-glibc-x86_64-core-image-sato-sdk<type-arch>-toolchain-<release-version>.sh"
But toochain for core-image-sato-sdk is not available in releases after 2.1, hence changed it to "poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh

Other less significant update is to add exepcted result in intermediate test steps.

(From OE-Core rev: 88f9b2c5f86b05b42ae6429a5f74fa2f8b66e8ab)

Signed-off-by: sangeeta jain <sangeeta.jain@intel.com>

"poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh"

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:45 +01:00
Sudhir Sharma
9b6a624cf6 oeqa/manual: Add manual runtime 'compliance' testcases to json
Added json file for compliance test cases to the manual runtime tests

(From OE-Core rev: ff596eb0f0e84decdb5addadd3f1f16d62c25401)

Signed-off-by: Sudhir Sharma <sudhirx.sharma@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:45 +01:00
Armin Kuster
e7f0177ef3 Revert "boost: update to 1.69.0"
This reverts commit a384248938.

This package update slipped in doing the maint process. Removing it.

(From OE-Core rev: fddd3ca8490adaceab6491632cf249c2320e4fda)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-09 22:15:45 +01:00
Richard Purdie
faeb366bc3 build-appliance-image: Update to thud head revision
(From OE-Core rev: 45032e30be70503faeee468159b216031b729309)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-27 23:22:57 +00:00
Richard Purdie
9dfebdaf7a build-appliance-image: Update to thud head revision
(From OE-Core rev: afb96dc9ecf15ecb89c749271c7f48d3f8048a02)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:55:32 +00:00
Richard Purdie
a192fff25b poky.conf: Bump version for 2.6.2 thud release
(From meta-yocto rev: b36886d9c06961420169842faeb060a31078f6e9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:55:23 +00:00
Richard Purdie
e6f5c3144c yocto-uninative: Update to 2.4
This supports glibc 2.29 which is appearing in distros like Ubuntu 19.04

(From OE-Core rev: 6b839dc9c55b2ea282041b9dc2dddb233236d612)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Michael Halstead
57103b0adb yocto-uninative: Correct sha256sum for aarch64
Avoid uninative checksum warnings when building on aarch64 hardware.

(From OE-Core rev: 6c7cdf288d1b7dfd9be2c99f687949d368cecbd7)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
9505d6c48e scripts/wic: Be consistent about how we call bitbake
Whilst its tempting to call bitbake_main(), the script also directly executes
bitbake. By doing both this creates all kinds of races. Therefore
change to use subprocess execution in all cases.

(From OE-Core rev: 0507ec4c6069490c9a503e9e2b65f0e7b1962d34)

(From OE-Core rev: c48c37a436b3ebfe4d8ca5d12e97a0cdff0e20a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
002cf940a7 oeqa/utils/gitarchive: Handle case where parent is only on origin
The parent code currently assumed that any parent branch is locally
checked out which may not be the case.

Use the local branch by default but fall back to the origin. This
also means removing the later saftey check as the branch may not exist
locally.

This fixes the autobuilder resulttool test pushing code.

(From OE-Core rev: 36624a17d382d84647c5811134fe76251fd64dc3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Mazliana
df4d56b25a resulttool/manualexecution: To output right test case id
We found that manualexecution does not capture test suite values
correctly if there are more than one test suite in test cases.
After verification has made we found out we should retrieved
full test cases value <test_module.test_suite.test_case> from
oeqa/manual/ json file rather than split it them into new
variables test_suite and test_cases.

(From OE-Core rev: c4c63cdc1eca2acebc4ec9486b0d0592e47a8ae2)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Yeoh Ee Peng
d41c0a34e7 resulttool/report: Enable roll-up report for a commit
Enable roll-up all test results belong to a commit
and to provide a roll-up report.

(From OE-Core rev: f2d6019f39a4037cf0914b1cfb3ccb3a03dacfc6)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Yeoh Ee Peng
1050296150 scripts/resulttool: Enable manual result store and regression
To enable store for testresults.json file from manualexecution,
add layers metadata to configuration and add "manual" map to
resultutils.store_map.

To enable regression for manual, add "manual" map to
resultutils.regression_map. Also added compulsory configurations
('MACHINE', 'IMAGE_BASENAME') to manualexecution.

(From OE-Core rev: 3e711cd0482e9df644b011a7d6dadffdfe139f8e)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Yeoh Ee Peng
b6fa6f7e6c resulttool/regression: Ensure regressoin results are sorted
Sorted regression results to provide friendly viewing of report.

(From OE-Core rev: cbe96a6dcb95032c61393bac348141e15a6b6590)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
dcb9804dff resulttool/store: Fix missing variable causing testresult corruption
(From OE-Core rev: 0d98b9957c611af354efb33f4e915c5166c87ad3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
38bbbb4ee1 resulttool/report: Ensure ptest results are sorted
(From OE-Core rev: 2e3ffad9e97c5f757e1457721308eb8da63bcabf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
19a3f1ba47 resulttool/report: Ensure test suites with no results show up on the report
ptest suites with no results don't show up on the reports even though we have
a duration for them. Fix this so the fact they report no tests is visible.

(From OE-Core rev: eb67a3cc4f8f57e85f1f95ced8f2c32ab5090866)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
4b5686a0fd resulttool/report: Handle missing metadata sections more cleanly
Currently some older results files cause the code to give tracebacks.
Handle these missing sections more cleanly.

(From OE-Core rev: 93b87a9a7056fb507a585c454cef8db7194d7393)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
3cbd483c42 resulttool/store: Handle results files for multiple revisions
Currently we cant store results if the results files span multiple
different build revisons. Remove this limitation by iterating.

(From OE-Core rev: 63d2c53c01d2aec90b3f0ab298a61a551b23d8fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
094b6ea1fc resulttool/resultutils: Avoids tracebacks for missing logs
(From OE-Core rev: faacf35d748067fd17d169c09bc2759606e6e819)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:23 +00:00
Richard Purdie
10b6fbfb8a resulttool: Improvements to allow integration to the autobuilder
This is a combined patch of the various tweaks and improvements I
made to resulttool:

* Avoid subprocess.run() as its a python 3.6 feature and we
  have autobuilder workers with 3.5.

* Avoid python keywords as variable names

* Simplify dict accesses using .get()

* Rename resultsutils -> resultutils to match the resultstool ->
  resulttool rename

* Formalised the handling of "file_name" to "TESTSERIES" which the code
  will now add into the json configuration data if its not present, based
  on the directory name.

* When we don't have failed test cases, print something saying so
  instead of an empty table

* Tweak the table headers in the report to be more readable (reference
  "Test Series" instead if file_id and ID instead of results_id)

* Improve/simplify the max string length handling

* Merge the counts and percentage data into one table in the report
  since printing two reports of the same data confuses the user

* Removed the confusing header in the regression report

* Show matches, then regressions, then unmatched runs in the regression
  report, also remove chatting unneeded output

* Try harder to "pair" up matching configurations to reduce noise in
  the regressions report

* Abstracted the "mapping" table concept used to pairing in the
  regression code to general code in resultutils

* Created multiple mappings for results analysis, results storage and
  'flattening' results data in a merge

* Simplify the merge command to take a source and a destination,
  letting the destination be a directory or a file, removing the need for
  an output directory parameter

* Add the 'IMAGE_PKGTYPE' and 'DISTRO' config options to the regression
  mappings

* Have the store command place the testresults files in a layout from
  the mapping, making commits into the git repo for results storage more
  useful for simple comparison purposes

* Set the oe-git-archive tag format appropriately for oeqa results
  storage (and simplify the commit messages closer to their defaults)

* Fix oe-git-archive to use the commit/branch data from the results file

* Cleaned up the command option help to match other changes

* Follow the model of git branch/tag processing used by oe-build-perf-report
  and use that to read the data using git show to avoid branch change

* Add ptest summary to the report command

* Update the tests to match the above changes

(From OE-Core rev: b4513e75f746a0989b09ee53cb85e489d41e5783)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:22 +00:00
Mazliana
12385bc69b scripts/resulttool: enable manual execution and result creation
Integrated “manualexecution” operation to resulttool scripts.
Manual execution script is a helper script to execute all manual
test cases in baseline command, which consists of user guideline
steps and the expected results. The last step will ask user to
provide their input to execute result. The input options are
passed/failed/blocked/skipped status. The result given will be
written in testresults.json including log error from the user
input and configuration if there is any.The output test result
for json file is created by using OEQA library.

The configuration part is manually key-in by the user. The system
allow user to specify how many configuration they want to add and
they need to define the required configuration name and value pair.
In QA perspective, "configuration" means the test environments and
parameters used during QA setup before testing can be carry out.
Example of configurations: image used for boot up, host machine
distro used, poky configurations, etc.

The purpose of adding the configuration is to standardize the
output test result format between automation and manual execution.

To use these scripts, first source oe environment, then run the
entry point script to look for help.
        $ resulttool

To execute manual test cases, execute the below
        $ resulttool manualexecution <manualjsonfile>

By default testresults.json store in <build_dir>/tmp/log/manual/

[YOCTO #12651]

(From OE-Core rev: 07054cc2691fd2822028a3fd55185af457f79ebf)

Signed-off-by: Mazliana <mazliana.mohamad@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:22 +00:00
Yeoh Ee Peng
661fa1335b resulttool: enable merge, store, report and regression analysis
OEQA outputs test results into json files and these files were
archived by Autobuilder during QA releases. Example: each oe-selftest
run by Autobuilder for different host distro generate a
testresults.json file.

These scripts were developed as a test result tools to manage
these testresults.json file.

Using the "store" operation, user can store multiple testresults.json
files as well as the pre-configured directories used to hold those files.

Using the "merge" operation, user can merge multiple testresults.json
files to a target file.

Using the "report" operation, user can view the test result summary
for all available testresults.json files inside a ordinary directory
or a git repository.

Using the "regression-file" operation, user can perform regression
analysis on testresults.json files specified. Using the "regression-dir"
and "regression-git" operations, user can perform regression analysis
on directory and git accordingly.

These resulttool operations expect the testresults.json file to use
the json format below.
{
    "<testresult_1>": {
        "configuration": {
            "<config_name_1>": "<config_value_1>",
            "<config_name_2>": "<config_value_2>",
            ...
            "<config_name_n>": "<config_value_n>",
        },
        "result": {
            "<testcase_namespace_1>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            "<testcase_namespace_2>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            ...
            "<testcase_namespace_n>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
        }
    },
    ...
    "<testresult_n>": {
        "configuration": {
            "<config_name_1>": "<config_value_1>",
            "<config_name_2>": "<config_value_2>",
            ...
            "<config_name_n>": "<config_value_n>",
        },
        "result": {
            "<testcase_namespace_1>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            "<testcase_namespace_2>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
            ...
            "<testcase_namespace_n>": {
                "status": "<PASSED or FAILED or ERROR or SKIPPED>",
                "log": "<failure or error logging>"
            },
        }
    },
}

To use these scripts, first source oe environment, then run the
entry point script to look for help.
    $ resulttool

To store test result from oeqa automated tests, execute the below
    $ resulttool store <source_dir> <git_branch>

To merge multiple testresults.json files, execute the below
    $ resulttool merge <base_result_file> <target_result_file>

To report test report, execute the below
    $ resulttool report <source_dir>

To perform regression file analysis, execute the below
    $ resulttool regression-file <base_result_file> <target_result_file>

To perform regression dir analysis, execute the below
    $ resulttool regression-dir <base_result_dir> <target_result_dir>

To perform regression git analysis, execute the below
    $ resulttool regression-git <source_dir> <base_branch> <target_branch>

[YOCTO# 13012]
[YOCTO# 12654]

(From OE-Core rev: 39cda3498ec68b91a671ead256231324d74f7d4c)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-26 15:38:22 +00:00
Douglas Royds
e4c0a8a7cb libpam: libpamc is licensed under its own BSD-style licence
Or alternatively GPL, the same as the top-level Linux-PAM COPYING.

(From OE-Core rev: 025c1b384635ef7a85e9f45f048901d6680563ae)

(From OE-Core rev: b79bd7c77635ed45509dfc288c2ca7a2dcf1cc67)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Chen Qi
2f467d8e9b target-sdk-provides-dummy: add more perl modules to avoid populate_sdk failure
When 'adduser' package, which is from meta-perl layer, is added to rootfs,
we will get do_populate_sdk failure like below.

Error:
 Problem: package perl-module-cwd-5.24.4-r0.core2_64 requires perl-module-dynaloader, but none of the providers can be installed
   - package perl-module-file-temp-5.24.4-r0.core2_64 requires perl-module-cwd, but none of the providers can be installed
   - package perl-module-dynaloader-5.24.4-r0.core2_64 requires perl-module-config, but none of the providers can be installed
   - package adduser-3.118-r0.core2_64 requires perl-module-file-temp, but none of the providers can be installed
   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl provided by perl-5.24.4-r0.core2_64

This is because adduser depends on some perl modules which are not
listed in target-sdk-provides-dummy.

So add these perl modules to avoid such failure.

(From OE-Core rev: 1b12c176827c2d0cbb7867da73efac56826036ed)

(From OE-Core rev: 07eb2b7c56d3d2d1d435c16079c7badc1870d0c5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Jonathan Rajotte-Julien
70ab97087f lttng-tools: update to 2.9.11
Update 0001-Allow-multiple-attempts-to-connect-to-relayd.patch chunk
accordingly.

(From OE-Core rev: eb9668b5db2d61a25e47e77f4c35ba4e4b62c2cd)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Jonathan Rajotte-Julien
71a09dc251 lttng-modules: update to 2.10.9
Drop patch [1] since it is part of the 2.10.9 release.

[1] lttng-modules/0001-Fix-net-expose-sk-wmem-in-sock_exceed_buf_limit-trac.patch

(From OE-Core rev: b565ec33b908542b26527f3301672b4e3af6544c)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Jonathan Rajotte-Julien
edfce5377c lttng-ust: update to 2.10.3
(From OE-Core rev: 13cc1e7a9cd58b35044f8474b5b8601ea63b03f4)

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Ming Liu
d4e6497ba2 rm_work: sort the value of do_build dependencies
This fixes some 'basehash changed' errors when rm_work is being
inherited.

(From OE-Core rev: e74158b6cc1d683ab14ef5d47ec531f986fc2259)

(From OE-Core rev: 8aed35802270345844239406266be37d66ba86c7)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Robert Yang
5b80b1eabf send-error-report: Add --no-ssl to use http protocol
The script use https protocol by default, but the error-report-web server's
https connection may not work (e.g., doesn't work with python 2.7.6), so add an
option --no-ssl to make it use http.

(From OE-Core rev: a4c89902a24c0961657c8281425d480097aadfa6)

(From OE-Core rev: f9dac6e62623b0ac1a2b2f40b54337721afab7a5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Ross Burton
22febdc60e libpng: fix CVE-2019-7317
(From OE-Core rev: 983d4757db7d46dcd4116269c4446392e28f16fb)

(From OE-Core rev: ab4483fbd95fecb951e765ebc7da918b503142ca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Changqing Li
c707714cfe libsndfile1: Security fix CVE-2018-19432
(From OE-Core rev: 6f010c9b7777aae5ce2108122d0c6d3b1d630a21)

(From OE-Core rev: 181d15b438ffa1d9da10399d33368906b464e4eb)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Richard Purdie
776bf0b46b kernel: Ensure an initramfs is added if configured
If ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio does not exist,
nor any of the compressed variants, nothing is copied to kernel build's
./usr directory.

The code does not fail, but silently proceeds without a bundled initramfs.

Change to fail and tell the user something is wrong.

Also, if an initramfs is found, contrary to the comments, it does not stop
at the first uncompressed/compressed cpio image found. Instead it keeps
processing all so the last is used. Fix this to behave as per the comments.

[YOCTO #12909]

(Patch by Leon Woestenberg)

(From OE-Core rev: 5b5604e288af755eb5553a97d26533445b2cf94b)

(From OE-Core rev: 378f720090508d5c8c04f1b0265ba729f6ce827b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Alexander Kanavin
459c053917 ca-certificates: upgrade 20180409 -> 20190110
(From OE-Core rev: 73ebdcaedde460108f98971f037e50e9b15c9f0c)

(From OE-Core rev: 3bcc575367ac2519fc76fbd3d1d7f0223c059b96)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
George McCollister
39bc9d5f23 systemd: fix CVE-2019-6454
Apply patches from systemd_239-7ubuntu10.8 to fix CVE-2019-6454.
CVE-2019-6454 is an issue in which systemd (PID1) can be crashed with a
specially formed D-Bus message.

For information see:
https://usn.ubuntu.com/3891-1/
https://git.launchpad.net/ubuntu/+source/systemd/commit/?id=f8e75d5634904c8e672658856508c3a02f349adb

(From OE-Core rev: 9d2ec5970adfc906fcc4581528321a879953fd55)

(From OE-Core rev: 81199a83c5e5c4a107a025403bc0a79157ba6630)

Signed-off-by: George McCollister <george.mccollister@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Richard Purdie
d693d371a6 systemd: Update recent CVE patches
* Added CVE tag, Upstream-Status tag and Sign-off-by tags.
* Removed the verification of the entry length in the header
* Squashed CVE-2018-16865 patches into one
* CVE-2018-16866 patch now taken from systemd-stable and includes
  an additional heap buffer overflow fix.

(From OE-Core rev: bc79395e2fcb886f224a4ad837fd93c779d2c53d)

(From OE-Core rev: 554a65619c45fec24f1790792de2db12a098bd80)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Richard Purdie
7fc2c193b2 target-sdk-provides-dummy: Extend to -dev and -src packages
This avoids errors when running populate_sdk under opkg:

 * Problem 1/1:
 *   - package busybox-dev-1.30.1-r0.core2-64 requires busybox = 1.30.1-r0, but none of the providers can be installed
 *
 * Solution 1:
 *   - allow deinstallation of target-sdk-provides-dummy-1.0-r0.sdk-provides-dummy-target

 * Solution 2:
 *   - do not ask to install a package providing busybox-dev

(From OE-Core rev: 29ea8bdf67829d296ae4755b919f8af828a9a235)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 33d2cde3be4d25389cbea07064ffbc7b2f74273e)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
André Draszik
85bf473981 systemd: RDEPENDS on util-linux-umount
It looks like there is an implicit dependency on util-linux'
umount - as otherwise when using busybox' umount we see a
long delay on shutdown / reboot.

[YOCTO #13058]

(From OE-Core rev: 39a3d2c603429865af632fe41b2cf32c3dfdfb1d)

(From OE-Core rev: 68056a9f88021ee81e6475d35f2dc67f7436b9a5)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Oleksandr Kravchuk
c1dbb55cd6 target-sdk-provides-dummy: add perl-module-overload
(From OE-Core rev: 9c2fbba5fcf377e650d16145c5313f027b5a5c43)

Signed-off-by: Oleksandr Kravchuk <oleksandr.kravchuk@pelagicore.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:48:38 +00:00
Mark Hatle
7a28e60171 bitbake: gitsm: The fetcher did not process some recursive submodules properly.
Move the submodule processing outside of the if statement to avoid any
optimizations that may happen.

Update the test cases to include the additional case, and split the other
test cases into individual tests to make it easier to figure out what
the failure may be.

(Bitbake rev: 7c1eb51d1e8a4c5f39bf9dddf05fb0b3598da72b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 0ec98c01ae50f95c9c74acf53013ac59e0e72b08)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
f2da187f94 bitbake: gitsmy.py: Fix unpack of submodules of submodules
If the submodule is in a subdirectory, it needs to have that structure
preserved.  This means the unpack path needs to be in the 'dirname' of the
final path -- since the unpack directory name is specified in the URI.

Additional specific test cases were added to ensure this is working properly
based on two recent error reports.

(Bitbake rev: acca06d060e49b2441562b4dc94416af9ab8187e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c8ecec2a722bc2885e2648d41ac8df07bdf660d)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
5de832c54f bitbake: gitsm.py: Fix relative URLs
Prior code happened to work with relative URLs, when the code was recently
restructured it caused all relative urls to no longer work.  Restore the prior
code flow for relative support and better comment why that code is there.

(Bitbake rev: 39afa6ead1d72813b2a294f065d759bad08fb53d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 14bb383af0ca98e0e04ec217e537b6a899f3658e)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
e97607a51e bitbake: gitsm.py: Refactor the functions and simplify the class
The update_submodules and unpack_submodules functions were nearly indentical,
so we made a common function where the different behavior could be passed
in by the download and unpack users.  The new function is process_submodules.

Moved the parse_gitmodules function under the new process_submodules, since
there are no external callers.

Refactor the file relative path processing to the URL translation code.
We also add a warning to the translation if a relative ssh URL has been
detected.  Since this can cause a problem.

In the case of a relative URL that does not work after being translated,
it should be possible to use the MIRROR functions to manual translate the
generated relative URL into one that works properly.

Remove 'git config' processing on download contents.  It turns out this is not
necessary since all of the later components work using the git fetcher.

Limit the 'git submodule update' call to only when unpacking a non-bare
repository.  Submodules are always loaded as bare, so this prevents
intermediate unpacks from being attempted.

Finally, the test cases were updated and the new commit ids in the test
repository were updates as well.

(Bitbake rev: 8b02eb8e5d8e3a09e19ed96a4ccdf5f755e97a74)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 610dbee5634677f5055e2b36a3043cd197fb8c51)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
c674e7ff7e bitbake: gitsm.py: Rework the shallow fetcher and test case
A custom shallow submodule is no longer necessary, as the regular git
fetcher is used and shallow handling works with the same code.

The only general difference between the regular change is simply declaring a
clone as shallow, when appropriate.

This also removes a potential race condition in copying repositories
vs cloning them.

The gitsm shallow fetcher test was revised to verify that the submodule
is shallow cloned along with the primary repository.

The first step of this change was to be sure to clean the gitsubmodule download
directory, as was previously done with the may gitsource directory.

Additional test components were added to verify commit counts, and an
obsolete (and likely incorrect) test for the .git/modules directory to be
empty was also removed.

(Bitbake rev: 85dc1c65b661f9712ae98587d4d0d868146c8cff)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f9cc4684dcf4281acc557cda8cb35602354ac3d6)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
4c6be64428 bitbake: gitsm.py: revise unpack
Greatly simply the unpack rule by copying the general functionality of
update_submodules as unpack_submodules.  This will recursively construct
a set of urls and unpack them using the standard system behaviors.

The overall code may be slightly bigger, but this ensures that all of the
standard locks are inplace, ensuring the code doesn't change out from
under the unpack function.  (This could have happened before due to using
'cp' instead of further unpacks on submodules.  This may still happen in
shallow clones.)

(Bitbake rev: 02ce6783bd3cfc117c77ca0380a87b0e1c60d8db)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7d7ee630f1c65e7dd234f945edf5e3b3bcb0fc30)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
7d9f83731f bitbake: gitsm.py: Optimize code and attempt to resolve locking issue
It was reported that a race condition on a shared download directory could
occur with the gitsm fetcher, the result happened with a call to

  git config

that occured within the update_submodules.  Since the fetch is locked by the
upper level, it was probably the prior need_update(...) function causing this
because of some old code.

The gitsm class inherits the git class.  The need_update was overridding the
version in gitsm, so that it forceably checked the submodules.

It's clear we can optimize the code by only updating if the primary repository
needs updating.  Since we don't care if the submodule repository has changed
because if the primary hasn't, references to the submodule won't change.

(Bitbake rev: 4660933f83e528766d71eab662cc79dcf17b4be7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 346338667edca1f58ace769ad417548da2b8d981)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
2570de58a0 bitbake: tests/fetch.py: Add alternative gitsm test case
In order to test the ssh processing in gitsm, we add an alternative
testcase that can be downloaded from git.yoctoproject.org.  However,
this test case requries (read) access, via ssh, to git.yoctoproject.org.

(Bitbake rev: 54802438f2f2d73aba3e7fb8d6cce45aa7cffe77)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit c8554cdc1287620fe8e8960561e614567879a010)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
f72d43db80 bitbake: gitsm.py: Add support for alternative URL formats from submodule files
The following appear to be the git supported formats:

  proto://user:pass@host/path  (URI format)
  user@host:path (SSH format)
  /path or ./path or ../path (local file format)

We adjust the parsing to find out if we have a URI format or not.
When we are NOT in URI format, we do our best to determine SSH or
file format by looking for a ':' in the overall string.  If we find
a ':' we assume SSH format and adjust accordingly.

Note, in SSH format we simply replace the ':' with a '/' when constructing
the URL.  However, if the original path was ":/...", we don't want '//' so
we deal with this corner case as well.

(Bitbake rev: a21b2598531d52123933a0ac1c4deeecfdd1697d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dcac05e7dc6b0c5f8e63d36ad105b7eab41f0016)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Mark Hatle
d5a6da8b3d bitbake: gitsm.py: Fix when a submodule is defined, but not initialized
It is possible for a submodule to be defined in the .gitmodules file, but
never initialized in the repository itself.  This shows itself when searching
for the defined module hash you will get back a empty value.

Similarly we need to identify and skip defined but not initialized submodules
during the unpack stages as well.

Thanks to raphael.lisicki@siemens.com for their help is figuring out how
to resolve this issue.

Additionally a problem was found where, while unlikely, it may be possible
for the wrong revision to have been searched using ls-tree.  This has been
resolved in the update_submodules function by keeping the correct revision
along with the submodule path.

(Bitbake rev: e9c965bd816c8e4e5cc8e45db8e0dab597ce5a6f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 49e1ff920143dcd4e7f73933d7ab8a84b8ffa1a3)
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-24 16:42:22 +00:00
Filip Jareš
506ec088e5 ref-manual: Fixed SRC_URI cut-and-paste error.
The update fixes a copy-paste-and-forget-to-update-everything error
in the documentation of the `SRC_URI` entry in the Reference Manual.
The `maxdate` paragraph just repeated what is there for the
neighboring `mindate` paragraph which was incorrect.

(From yocto-docs rev: fdf0a0e2e0bd0852208d08e5661a04d25c04feef)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-19 23:54:13 +00:00
Ross Burton
f5a57e939e mesa: ship /etc/drirc in mesa-megadriver
Many years not shipping the stub drirc seemed like a good idea,
but now it has content and is essential for some applications to run.

Following patches in master, ship this file in mesa-megadriver.

(From OE-Core rev: fbb688ab3eeca1bbfbaaaaffd8c81fd8052bcc68)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-05 22:24:13 +00:00
Denys Dmytriyenko
1c8d0dbe67 openssl10: Fix mutliple include assumptions for des.h in opensslconf.h
The fix is heavily based on Khem's previous fix for bn.h/BN_LLONG breakage:
https://git.openembedded.org/openembedded-core/commit/?id=f787b0bb9b0626ddbf2ac94cb206c76716a3773d

(From OE-Core rev: 914e1520bf9c45e14bce9993c9131a2c0702b9c9)

(From OE-Core rev: 266e73a99b54f741bdbe5d689933c46b2b4731fd)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-05 22:24:13 +00:00
Hongxu Jia
e34a5eb55f rng-tools: Fix crazy defaults
Since commit [f1dc9ac rng-tools: Fix crazy defaults] fixed
init based on sysvinit, this fix rngd.service based on systemd.

(From OE-Core rev: b1980460839baa04d10866877cbfe31ca8093ff3)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-05 22:22:51 +00:00
Richard Purdie
7c76c5d78b bitbake: cooker: Tweak multiconfig dependency resolution
There were a couple of problems with the multiconfig dependency resolution:

- the "if mc" condition triggering this code wasn't correct, it needs
  to be "if more than one multiconfig" configured
- after adding providers we need to call add_unresolved again
  and rebuild mcdeps within the "while new" loop

By fixing these issues we allow various other combinations of multiconfig
builds to work which previously didn't.

[YOCTO #13090]
[YOCTO #13130]

(Bitbake rev: b59cb2bc63940b9ebd8288de7ca4b1d9e96e026c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:33:05 +00:00
Richard Purdie
50b9800631 bitbake: siggen: Fix multiconfig corner case
There was already a fix to ignore some multiconfig dependencies but its
'opposite' case wasn't covered. Cover that combination to so as to avoid
tracebacks in multiconfig builds.

[YOCTO #13090]
[YOCTO #13130]

(Bitbake rev: 3d4e557a539a8ef4a3b7a1e36fc99b118c01cbf4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:33:05 +00:00
Richard Purdie
f19652fc3f bitbake: runqueue: Filter out multiconfig dependencies from BB_TASKDEPDATA
The consumers of BB_TASKDEPDATA in OE metadata can't cope with multiconfig
dependencies. The choice is either to start adding code to each of them to
filter out multiconfig dependencies, or do this at source.

After consideration we've decided to do this at source as doing otherwise
is code duplication and error prone and in any case we've looked at, they
don't make sense.

[YOCTO #13090]
[YOCTO #13130]

(Bitbake rev: 7f157ea8ecf9ba259bb7e226cfd5f2870b7853a3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:33:05 +00:00
Richard Purdie
c67e44b839 bitbake: runqueue: Fix dependency loop analysis 'hangs'
Currently the mechanism for breaking out of the dependnecy loop analysis
code is broken and doesn't work leading to bitbake appearing to hang.

Add in a custom exception for this purpose and fix the code to exit
as intended, fixing the hang and making the dependency loop code
usable again.

(Bitbake rev: e39dbd72ef44eebae32f9fe3b75a1bf789605558)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:33:05 +00:00
Peter Kjellerstedt
75c837e274 libaio: Extend to native
lvm2 currently requires libaio. So building lvm2-native will result in
the following error.

  ERROR: Required build target 'lvm2-native' has no buildable providers.
  Missing or unbuildable dependency chain was: ['lvm2-native', 'libaio-native']

Extend libaio to native to fix this issue.

(From OE-Core rev: 6c9b23b77e62ed382d44f94849c13c1f831e64a7)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Richard Purdie
80adac85bc oe-build-perf-report/gitarchive: Move common useful functions to library
These functions can be reused by the resulttool code so move to the common
function library for this purpose.

(From OE-Core rev: c66f848938c04e133259c5b6903dc592866ab385)

(From OE-Core rev: 4b1bd35030c5502873106782a35c4f5a9446e20c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Richard Purdie
59714c52f0 scripts/oe-git-archive: Separate out functionality to library function
This turns the core of the script into a library function. Ultimately this
will let us call that code with custom 'keywords' rather than relying
on the data parsed from bitbake metadata which can't be used when archiving
historical results.

(From OE-Core rev: 4820ca2b0850e29b04a4fd5659a6e9837d6714d0)

(From OE-Core rev: e47c48768a01191ec36b9732288e05c9f5e80d52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Richard Purdie
4c25cd5f7a lib/buildstats: Improve error message
Just stating the recipe counts are different isn't helpful, showing
the differences makes it much easier to understand what changed.

(From OE-Core rev: 1d84b782e3af6f0e6922d72895c905877cc33739)

(From OE-Core rev: 047fd7cf6fc2a3d5d170241f5cc5b61b8d9d8522)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Robert Yang
a0f99f3bcf runqemu: Make QB_MEM easier to set
It only could be set as the following in the past:
QB_MEM = "-m 256"

Now it also can be set as:
QB_MEM = "-m 256M (or m)"
QB_MEM = "256M (or m)"

[YOCTO #11522]

(From OE-Core rev: ad246f5ce0652bd917d85884176baa746e1379ff)

(From OE-Core rev: ed10ef4f8deaec739ce3713b6ce3b63e134a8c4a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Robert Yang
18f000c708 runqemu: Let qemuparams override default settings
Fixed:
In meta/conf/machine/include/qemuboot-x86.inc:
QB_CPU_x86-64 = "-cpu core2duo"

$ runqemu qemux86-64 qemuparams="-cpu coreduo"
Check /proc/cpuinfo, it should use coreduo rather than core2duo since user
specifies it, but it doesn't, append qemuparams to the last can fix the
problem.

[YOCTO #11773]

(From OE-Core rev: a847dd7202a2c493788c45d11eb86866264af7a4)

(From OE-Core rev: 81ab6332bee0426201626cc8a0339ce3e6b81d6f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Richard Purdie
11ec3b28b4 wic/engine: Fix missing parted autobuilder failures
OE-Core rev: a88bcbae850a2e6d182291d3f8e167aabdbe4842 broke the ability
to find parted as it may be in sbin which is not in PATH for some users
on some distros.

Iterate on the original patch to fix this and also fix the original problem.

(From OE-Core rev: af3803e5189d7814f9dbd238fb6dab200f351e1a)

(From OE-Core rev: 6e2bf8691ffd6004cb40e71a2d1d002b5ed5808f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
William Bourque
b55c0d0a17 wic/engine.py: Load paths from PATH environment variable
Load self.paths from environment variable and
if it fails, fall back to hardcoded list.
This is required for users that would need to load
different e2fsprogs binaries if their system's ones
are not recent enought

(From OE-Core rev: a88bcbae850a2e6d182291d3f8e167aabdbe4842)

(From OE-Core rev: 319ee1bb146b91f78d7a141def2b1cf92cf88887)

Signed-off-by: William Bourque <wbourque@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Leonardo Augusto
11e09611df scripts/lib/wic/engine: Fix cp's target path for ext* filesystems
Python subprocess' shell=True defaults to /bin/sh[1][2], which
often refers to a POSIX-compliant shell. As the -e flag is
not defined in the POSIX standard[3], some shells may
interpret "-e" as the first argument to the echo command,
causing the rest of the command line to fail.

In this particular case, "echo -e 'cd {}'" is interpreted
as "-e cd {}", which causes the first line of the command
to fail, and causing cp to always place the source file
in the filesystem's root.

Replacing "echo -e" for a printf command makes this
more portable.

This issue only affects "wic cp" for ext* filesystems.

[1] https://docs.python.org/2/library/subprocess.html
[2] https://docs.python.org/3/library/subprocess.html
[3] http://pubs.opengroup.org/onlinepubs/9699919799

(From OE-Core rev: 9a5b703d4e60c3ccdf80b5289b8e6fc91133fcde)

(From OE-Core rev: bf51d6da725a3d5850c3cbd70fb91b91c08e507f)

Signed-off-by: Leonardo Augusto <leobsd@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:40 +00:00
Robert Yang
422710e0db checklayer: Avoid adding the layer if it is already present
* Rename add_layer() to add_layers() so that add_layer_dependencies() can
  re-use it.

* Avoid adding the layer if it is already present

[YOCTO #13148]

(From OE-Core rev: b9cc18d83f55ff48c3d6e60c56359f6736d5a06a)

(From OE-Core rev: 64310d9d18bb1751595c197e6955774ad5514844)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Changqing Li
35015f1751 checklayer: generate locked-sigs.inc under builddir
yocto-check-layer will find locked-sigs.inc under builddir,
but locked-sigs.inc is generated under current bitbake working
dir. if run yocto-check-layer outside builddir, we will met error
like "No such file or directory: *locked-sigs.inc". change to
run bitbake -S under builddir to fix this problem.

[YOCTO #12973]

(From OE-Core rev: 2ec0bc0b038bc6413978c8f34ef5c0d22b4bc3e7)

(From OE-Core rev: f236d8782958df953ca1e2a6f09779cbc8f2d600)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Robert Yang
3fd921d551 yocto-check-layer-wrapper: Fix path for oe-init-build-env
We only could run it in top of oe-core dir since it assumed oe-init-build-env
was in cwd, this patch fixes the problem.

[YOCTO #13148]

(From OE-Core rev: 47d7b5fcad127171243cc95c586c2c7f35cfac3b)

(From OE-Core rev: 09e4b9bead32f143f4a685794c4709fe41bf014d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
56cc4c12b1 oe-build-perf-report: Fix missing buildstats comparisions
Integers were being compared to strings leading to missing buildstats comparision
data. Fix this.

(From OE-Core rev: 2dbbf598192ae2b3aa488df042f56aa6c6634a00)

(From OE-Core rev: 9ee8845a583a3fa9e9b07d1b0301201ae56c6c41)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
f0853bfb3d oe-build-perf-report: Improve branch comparision handling
When comparing branches, correctly filter the revisions corresponding
to the specific branch specified.

Also use the commit numbers as a way to gauge spatially related commits
for comparision meaning comparisions for out of order build revisions
becomes meaninful.

This should improve the reporting for autobuilder generated builds.

Also improve the branch option help text.

(From OE-Core rev: 9f6f4ab6eec9dca07af7f53da5f737a6167bfb38)

(From OE-Core rev: 111ee3499308bcde54268d58bf6163a98a9733db)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
2968103ecf oe-build-perf-report: Allow commits from different branches
The code won't currently allow comparisions of two commits on different
branches even if the commits are specified by their hashes.

This updates the code to search two branches for any relavent commits,
hence allowing comparisions to be made. A particularly useful case is
master vs. master-next for example.

(From OE-Core rev: 2d835bb1570c515ae501442f3ce19fae8e249b27)

(From OE-Core rev: c4263bf021daafd4e89acd4cba48c9a7fbd0d8a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
8c32ee01a3 oe-build-perf-report: Allow branch without hostname
Allow the branch to be set without the hostname option. Previously
if hostname wasn't set, branch would be overwritten regardless of
whether it was set or not.

(From OE-Core rev: 3ec43bf4c6c8f7730a67f63ad4e14903f289014e)

(From OE-Core rev: b162c70dd6e926e1700553e27b41eb1c12ee2dce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Khem Raj
e9d1be84be multilib_header_wrapper.h: Use #pragma once
Avoid infinite include loops, especially with bits/wordsize.h which is
now possible with the synthesized headers since we now also synthesize
bits/wordsize.h itelf for some arches e.g. arm/aarch64

In cases where extra preprocessing tools are used such as clang-tidy
e.g. and these tools are not passed the knowledge about architecture
then case comes where we enter into header include loop for
bits/wordsize.h, since this template does explicitly include
bits/wordsize.h

To fix this emits the pragma once at beginning of file, this is better
solution than include guards, and pragma once is practically supported
on all compilers except few e.g. cray c/c++ compiler

(From OE-Core rev: 6ab11ac25bb987642d5ca1a07f4bd5f30c66c9c5)

(From OE-Core rev: 8f00480fe826ebaff2b78796d757b9e2734f2deb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Khem Raj
6ea2afed93 send-error-report: Use https instead of http protocol
errors.yp.org can understand https

(From OE-Core rev: f540fed0aec24e28eff8522fddbe3cf7ee45e30b)

(From OE-Core rev: 857ebd7fac590f569bff7e8ca29b6ae22eaaa65a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Jan Kiszka
909e75e53b oe-git-proxy: Avoid resolving NO_PROXY against local files
NO_PROXY may contain * elements, and if we are unlucky (or want to match
all hosts with *), we will pick up local files rather than doing the
match in match_host. Quoting helps here.

(From OE-Core rev: 7e216e806ca765152fd874e24785f783a3201284)

(From OE-Core rev: 5b5c8ccaba188530ae4b05fd49804aaa74cbb949)

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Dan Dedrick
31ed0032ed devtool: improve git repo checks before check_commits logic
The check_commits logic assumes that both devtool-base and args.branch
exist in the git repo that it is operating on. In order to prevent
errors at that point it's best to first ensure that both of these refs
actually exist. If they don't both exist then the check_commits logic
should just be skipped, as it would be if the repo wasn't originally
checked out by devtool.

Previously if a user removed the args.branch branch from their devtool
cloned repo this code would crash on adding the repo with -n. The crash
would look like this:

Traceback (most recent call last):
  File "/home/ddedrick/src/poky/scripts/devtool", line 344, in <module>
    ret = main()
  File "/home/ddedrick/src/poky/scripts/devtool", line 331, in main
    ret = args.func(args, config, basepath, workspace)
  File "/home/ddedrick/src/poky/scripts/lib/devtool/standard.py", line 812, in modify
    (stdout, _) = bb.process.run('git log devtool-base..%s' % branch, cwd=srctree)
  File "/home/ddedrick/src/poky/bitbake/lib/bb/process.py", line 178, in run
    raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
bb.process.ExecutionError: Execution of 'git log devtool-base..devtool' failed with exit code 128:
fatal: ambiguous argument 'devtool-base..devtool': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

(From OE-Core rev: f13a3490fdb404bbd4c77e45b83540d6deec1358)

(From OE-Core rev: ebd3c5e1534ba4ac2a6e97725f8d8650d4aa52a0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Dan Dedrick
68934a4beb devtool: remove duplicate overrides
DEVTOOL_EXTRA_OVERRIDES only needs one entry for each instance of
overrides. Previous to these changes it would find every override to
SRC_URI and add it to the list. This would duplicate instances where
SRC_URI is modified multiple times with the same override like:
SRC_URI_append_foo += "file://0001-foo.patch"
SRC_URI_append_foo += "file://0002-bar.patch"

A bbappend might also overwrite a SRC_URI override, which would also
cause multiple instances to occur.

When there are multiple instances of the same override in
DEVTOOL_EXTRA_OVERRIDES it causes devtool modify to fail when creating
override branches. The failure occurs when attempting to create the same
override branch a second time and looks like this:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:devtool_post_patch(d)
     0003:
File: '/build/poky/meta/classes/devtool-source.bbclass', lineno: 202, function: devtool_post_patch
     0198:
     0199:        for override in extra_override_list:
     0200:            localdata = bb.data.createCopy(d)
     0201:            if override in default_overrides:
 *** 0202:                bb.process.run('git branch devtool-override-%s %s' % (override, devbranch), cwd=srcsubdir)
     0203:            else:
     0204:                # Reset back to the initial commit on a new branch
     0205:                bb.process.run('git checkout %s -b devtool-override-%s' % (initial_rev, override), cwd=srcsubdir)
     0206:                # Run do_patch function with the override applied
File: '/build/poky/bitbake/lib/bb/process.py', lineno: 178, function: run
     0174:        if not stderr is None:
     0175:            stderr = stderr.decode("utf-8")
     0176:
     0177:    if pipe.returncode != 0:
 *** 0178:        raise ExecutionError(cmd, pipe.returncode, stdout, stderr)
     0179:    return stdout, stderr
Exception: bb.process.ExecutionError: Execution of 'git branch devtool-override-foo devtool' failed with exit code 128:
fatal: A branch named 'devtool-override-foo' already exists.

(From OE-Core rev: 90f667db2219f04e6d61588cd61056d3d8da6d7d)

(From OE-Core rev: 162be3d43f1d48a22b3aed32cc2f593355e5bf81)

Signed-off-by: Dan Dedrick <ddedrick@lexmark.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
67e7e1aaab scripts/contrib/build-perf-test.sh: Remove it
This is the older script which the code in lib/oeqa/buildperf replaces so
delete the obsolete script to avoid confusion.

(From OE-Core rev: 9908b7955e75e10d6a1384e4c08417ef534464af)

(From OE-Core rev: 9dd395357d32286b5f81673920638316cf01f883)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
faab57c597 scripts/contrib/build-perf-test-wrapper.sh: Improve interaction with autobuilder automation
This tweaks the script to:

* Ensure directories exist and can be written to
* Allow the downloads directory to be specified
* Error early if the phantomjs or optipng dependencies are not installed
* Allow the location of the globalres.log file to be specified

This means that the main build directory can be destroyed and any state
from the script is stored elsewhere allowing it to be triggered
automatically from the autobuilder infrastructure.

(From OE-Core rev: 1de5fbd484e6a747ae6419ccc89d8c2911b9706b)

(From OE-Core rev: d6f00d9d89f62e60eaa87abf89477ed7865e2859)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Khem Raj
7322e64f9b openssl10: Fix mutliple include assumptions for bn.h in opensslconf.h
After adding #pragma once to wrapper header ( opensslconf.h ) this
latent issue got to bite us, where it expect bn.h to be including
openssl.h to define BN_* defines, which is fragile. This patch removes
the contraints for nested includes for bn.h

(From OE-Core rev: f787b0bb9b0626ddbf2ac94cb206c76716a3773d)

(From OE-Core rev: 19d5bffafb17ea0d5e8060716205cab6ab64f302)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Alexander Kanavin
ab1ba8137d openssl10: update to 1.0.2q
(From OE-Core rev: 03149ca307282c22dd9ceb6fe3224bf586b03f6d)

(From OE-Core rev: 572865e0d0a61e2096083edc622366e4ac9a8ad0)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Xulin Sun
118407fb1e openssl: fix multilib file install conflicts
To avoid issue like below if run "bitbake lib32-core-image-minimal"
with series userspace packages(LAMP,krb5...) added.

Add multilib_script support for openssl's c_rehash which is a perl script.

Error: Transaction check error:
  file /usr/bin/c_rehash conflicts between attempted installs of
  lib32-openssl-bin-1.1.1-r0.armv7at2hf_neon and openssl-bin-1.1.1-r0.aarch64

(From OE-Core rev: a4032f3cc5de451f0e97eca1f0cbe4a310e1560b)

(From OE-Core rev: eb875a7ecb74a9a63d81c64ec770ec65ed5d0211)

Signed-off-by: Xulin Sun <xulin.sun@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Liu Haitao
a9c1c920c0 iw: fix parsing of WEP keys
The current iw4.14 has a fatal bug that could casue a Segmentation fault
when parsing WEP keys. The issue has been fixed by upstream.
[https://git.kernel.org/pub/scm/linux/kernel/git/jberg/iw.git/commit/?id=0e39f109c4b8155697a12ef090b59cdb304c8c44]

(From OE-Core rev: 6de9eb72f679dd8d8e4de972b1da978522cff8b4)

(From OE-Core rev: fcc56a2e2689a1574b9b928f8cd53e28721e4b9f)

Signed-off-by: Liu Haitao <haitao.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Robert Yang
8c31da0835 bluez5: Fix a race issue for tools
Fixed:
cp ../bluez-5.50/tools/hid2hci.rules tools/97-hid2hci.rules
cp: cannot create regular file tools/97-hid2hci.rules: No such file or directory
make[1]: *** [tools/97-hid2hci.rules] Error 1

(From OE-Core rev: 5cb2b165cf89a307531e199248bc98fb51541521)

(From OE-Core rev: be0c94a40972618433c85fc097ede255f95e6c1d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Serhey Popovych
67f6006b8e openssl: Skip assembler optimized code for powerpc64 with musl
This code is written for elfv1 ABI in mind and linked as such: disable
all optimizations at the moment when building for powerpc64 with musl.

(From OE-Core rev: bee9e807430178426b2a5635b573ae285e889c39)

(From OE-Core rev: f2513232d9adb6ec9cf6de06d577aeb6e34b69e0)

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Jens Rehsack
a5e7dae45e avahi: avoid depending on skipped package
When built without D-Bus, libavahi-client is not build:
  Building libavahi-client:           no   (You need avahi-daemon and D-Bus!)
which causes avahi-dev RDEPENDS failing when creating an image
containing development-tools:
 *   - nothing provides libavahi-client = 0.7-r0 needed by avahi-dev-0.7-r0.cortexa8hf-neon

(From OE-Core rev: 319532792435be73e96c8319e90336e1298ac2a1)

(From OE-Core rev: 0e65ddb5873c6d32ae3c8e86b269ada730cf6e9c)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Douglas Royds
db11912b39 openssl: Strip perl version from installed ptest configdata.pm file
(From OE-Core rev: fab0f5162b930f87798be61359a5c287fb13a76c)

(From OE-Core rev: d59e340dcd16b2b6a361196f867d9a31a9f36677)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Douglas Royds
95e71ff647 openssl ptest: Strip build host paths from configdata.pm
This file contains CC, CPP, CFLAGS, CXXFLAGS and the like.

(From OE-Core rev: c423cd1070045849c3a5b4e2b53043b28e5194f7)

(From OE-Core rev: a51c48feffb20a1d53dbcd3c06e3ebb5afc5ace6)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Jonas Bonn
88789cabeb keymaps: tighten package write dependency
The dependency on systemd-systemctl-native is only needed if _both_
systemd and sysvinit are in play.

(From OE-Core rev: 3ea08f4b24f8a49c3d5039b62b39d6419cfe234c)

(From OE-Core rev: a1031ce496f6d8b54169ae9ae0e928032631d5df)

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Otavio Salvador
eed221a15e linux-firmware: Bump to 710963f revision
Following changes are applied:

710963f Merge https://github.com/ajaykuee/linux-firmware
c24aec4 nvidia: add TU10x typec controller firmware
28f5f7d Merge git://git.marvell.com/mwifiex-firmware
f30a319 Merge branch 'ath10k-20190201' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware
8fcf0ec bnx2x: Add FW 7.13.11.0.
8bf607c amdgpu: add firmware for vega20 from 18.50
578aee3 amdgpu: bump year on license
bd72387 linux-firmware: update Marvell PCIe-USB8997 firmware image
6cfdd52 linux-firmware: update Marvell SD8897-B0 firmware image
2206320 linux-firmware: add Marvell SD8977 firmware image
6b5e23a ath10k: QCA9984 hw1.0: update firmware-5.bin to 10.4-3.9.0.2-00021
0eef77d ath10k: QCA988X hw2.0: update firmware-5.bin to 10.2.4-1.0-00043
1bd5312 ath10k: QCA9888 hw2.0: update firmware-5.bin to 10.4-3.9.0.2-00024
97b1f93 ath10k: QCA6174 hw3.0: update board-2.bin
a8b75ca Merge tag 'add-rpi-fw' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux-firmware
56483ad brcm: Add BCM43455 NVRAM for Raspberry Pi 3 B+
638a91a brcm: Fix filename for BCM43430 NVRAM for the Raspberry Pi 3 Model B
bc65650 amdgpu: add raven2 fw for 18.50 release
32201bb amdgpu: add picasso fw for 18.50 release
b1eae29 Revert "brcm: Add BCM43455 NVRAM for Raspberry Pi 3 B+"
89d37c6 linux-firmware: Update firmware file for Intel Bluetooth,8265
f089658 linux-firmware: Update firmware patch for Intel Bluetooth 8260
ae90c3b linux-firmware: Update firmware file for Intel Bluetooth,9260
9723ba4 linux-firmware: Update firmware file for Intel Bluetooth,9560
c7148ed Merge tag 'add-rpi-fw' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux-firmware
128441e Merge tag 'iwlwifi-fw-2018-12-30' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware
56cbf41 Merge git://git.marvell.com/mwifiex-firmware
930f276 brcm: Add BCM43430 NVRAM for the Raspberry Pi 3 Model B
fca5958 brcm: Add BCM43455 NVRAM for Raspberry Pi 3 B+
63ca64a linux-firmware: update Marvell USB8801 B0 firmware image
b727739 iwlwifi: update firmwares for 9000 series
80dee31 cxgb4: update firmware to revision 1.22.9.0
0f22c85 Revert "amdgpu: update vega10 fw for 18.50 release"
117d211 brcm: Add 4330 NVRAM for the Prowise PT301 tablet
912d6a5 brcm: Add 43430 NVRAM for the Chuwi Vi8 Plus tablet
f16cf5e brcm: Add 43340 based AP6234 NVRAM for the Meegopad T08 HDMI stick
5a2766c brcm: Add 43430a0 based AP6212 NVRAM for the Jumper EZpad mini 3 tablet
867ac13 brcm: Add 43430a0 based AP6212 NVRAM for the Onda V80 Plus tablet
a5662fb brcm: Add 4356 based AP6356 NVRAM for the GPD win handheld
f055ceb brcm: Add brcmfmac43362-sdio.lemaker,bananapro.txt symlink
d9430ac brcm: Add 43362 based AP6210 NVRAM for the Cubietech Cubietruck
eb34562 WHENCE: Put quotes around brcmfmac NVRAM filenames
be15035 check_whence.py: Add support for filenames with spaces in them
e6b9001 rtl_bt: Add firmware and configuration files for the Bluetooth part of RTL8723BS
3de2546 Merge git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware
494709e Merge branch 'BXT_HUC' of git://anongit.freedesktop.org/drm/drm-firmware
8707ef3 iwlwifi: update firmwares for 8000 series
156b549 iwlwifi: add -43.ucode for 9000 series
8a396b6 iwlwifi: update -41.ucode for 9000 series
211de16 brcm: provide new firmwares for BCM4366 chipset
813fa1f Mellanox: Add new mlxsw_spectrum firmware 13.1910.622
a330ddb Merge branch 'for-upstream' of https://github.com/crojewsk/linux-firmware
8de1d88 cavium: Update firmware for CNN55XX crypto driver
a7ea5a8 amdgpu: update vega12 fw for 18.50 release
ec4b0cd amdgpu: update vega10 fw for 18.50 release
1abe3c3 amdgpu: update raven fw for 18.50 release
6e38fef amdgpu: update polaris11 fw for 18.50 release
df89864 amdgpu: update polaris10 fw for 18.50 release
a91e850 amdgpu: add firmware for vega12
6cca138 amdgpu: Add new polaris MC firmwares
e8404a6 amdgpu: Add new polaris SMC firmwares
8aa9e3e linux-firmware: Update AMD cpu microcode
f3f6ada Merge branch 'MSCC-PHYs' of https://github.com/QSchulz/linux-firmware
4bbd950 Merge branch 'for-upstream' of git://git.chelsio.net/pub/git/linux-firmware
d9fb2ee nfp: update Agilio SmartNIC flower firmware to rev AOTC-2.10.A.13
57d49d5 microchip: add firmware for VSC8574 and VSC8584 Ethernet PHYs
82f6dbf linux-firmware: intel: Update Cannonlake audio firmware.
69f153b firmware/huc/bxt: Add huC Update for BXT
5904eab nfp: update Agilio SmartNIC firmware to rev 2.1.16
e7cdec4 cxgb4: update firmware to revision 1.21.5.0

License-Update:
  - LICENSE.amdgpu: Copyright year update;
  - WHENCE: New firmware files additions and version updates;

(From OE-Core rev: 4e6d242eb9678430df387c0c106d305df6d2e71b)

(From OE-Core rev: c6b514f0f729a5ee2f97d54dbe142de8d0bf1900)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Ross Burton
26fbff1363 linux-firmware: split out liquidio firmware
Part of this firmware is a pre-built Linux kernel, so it's both huge (25MB) and
triggers binary security scanners as the kernel is 3.10.87.

(From OE-Core rev: 973befb880094c1d862291be0bdfa74ccdfa0929)

(From OE-Core rev: b2885302dfb4b25ff1faf1906c06ba290c644be8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Ross Burton
5f17ea24a3 linux-firmware: recommend split up packages
(From OE-Core rev: 54cd9bd1b7d089169e6d6fe73a77930d736f46f0)

(From OE-Core rev: 463a99a08866936fbbd4178bfe5b6679d6d103fa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Bruce Ashfield
782066691b linux-yocto/4.18: update to v4.18.27
Integrating the -stable updates from Paul Gortmaker that comprise the
following commits:

   fb957805a800 Linux 4.18.27
   e40e99b6b15d ipmi:ssif: Fix handling of multi-part return messages
   ec5b2f3f897b ipmi: Prevent use-after-free in deliver_response
   d605dfec5314 ipmi: msghandler: Fix potential Spectre v1 vulnerabilities
   6fcd5c67bbed ipmi: fix use-after-free of user->release_barrier.rda
   8978d7c6dec4 Bluetooth: Fix unnecessary error message for HCI request completion
   9aa6a6afdc9d iwlwifi: mvm: Send LQ command as async when necessary
   be293e2c8d5d mm, proc: be more verbose about unstable VMA flags in /proc/<pid>/smaps
   5da1802b5dd9 userfaultfd: clear flag if remap event not enabled
   08861c6db0c1 mm/swap: use nr_node_ids for avail_lists in swap_info_struct
   fbd6851e6d57 mm/page-writeback.c: don't break integrity writeback on ->writepage() error
   42af1b118dec ocfs2: fix panic due to unrecovered local alloc
   e701c6b47b1e scsi: megaraid: fix out-of-bound array accesses
   c2414688a11f scsi: smartpqi: call pqi_free_interrupts() in pqi_shutdown()
   248849ffcee8 ath10k: fix peer stats null pointer dereference
   e6e7a27d9894 scsi: smartpqi: correct lun reset issues
   f82c77b69dd4 scsi: mpt3sas: fix memory ordering on 64bit writes
   7fe3902a1b30 IB/usnic: Fix potential deadlock
   07716336ae4f sysfs: Disable lockdep for driver bind/unbind files
   52223b291461 ALSA: bebob: fix model-id of unit for Apogee Ensemble
   f55b7d8c5747 dm: Check for device sector overflow if CONFIG_LBDAF is not set
   744fb8e55bdc clocksource/drivers/integrator-ap: Add missing of_node_put()
   c7e5ef0fad26 quota: Lock s_umount in exclusive mode for Q_XQUOTA{ON,OFF} quotactls.
   051f86c6e4fe perf tools: Add missing open_memstream() prototype for systems lacking it
   f40cb62ae378 perf tools: Add missing sigqueue() prototype for systems lacking it
   fe10d3ee10ae dm snapshot: Fix excessive memory usage and workqueue stalls
   dbb2e01442dd tools lib subcmd: Don't add the kernel sources to the include path
   9844e0dbc6d0 perf stat: Avoid segfaults caused by negated options
   d8dc75d3d9fc dm kcopyd: Fix bug causing workqueue stalls
   dff3fa1af70f dm crypt: use u64 instead of sector_t to store iv_offset
   26dfea580c42 x86/topology: Use total_cpus for max logical packages calculation
   5f13f97aad1e netfilter: ipt_CLUSTERIP: fix deadlock in netns exit routine
   d5e112ef684d netfilter: ipt_CLUSTERIP: remove wrong WARN_ON_ONCE in netns exit routine
   ed843e0c755b netfilter: ipt_CLUSTERIP: check MAC address when duplicate config is set
   ab68568470d6 perf vendor events intel: Fix Load_Miss_Real_Latency on SKL/SKX
   5ddf63d48c16 perf parse-events: Fix unchecked usage of strncpy()
   882079829dfb perf svghelper: Fix unchecked usage of strncpy()
   e689fb5da3fc perf tests ARM: Disable breakpoint tests 32-bit
   ef3ae9b3e540 perf intel-pt: Fix error with config term "pt=0"
   8639a6aacfd7 tty/serial: do not free trasnmit buffer page under port lock
   80c3cdea380c btrfs: improve error handling of btrfs_add_link
   2202b846b13c btrfs: alloc_chunk: fix more DUP stripe size handling
   ab3a0bbe8b0b mmc: atmel-mci: do not assume idle after atmci_request_end
   32f972da3d3a kconfig: fix memory leak when EOF is encountered in quotation
   10d9a6a992ee kconfig: fix file name and line number of warn_ignored_character()
   f7bcc8b2f7ef bpf: relax verifier restriction on BPF_MOV | BPF_ALU
   eec0856907da arm64: Fix minor issues with the dcache_by_line_op macro
   f2300824da71 clk: imx6q: reset exclusive gates on init
   1604baf07d22 arm64: kasan: Increase stack size for KASAN_EXTRA
   13ba93449b46 selftests: do not macro-expand failed assertion expressions
   3bbd076d9136 scsi: target: use consistent left-aligned ASCII INQUIRY data
   e37db031ef5a net: call sk_dst_reset when set SO_DONTROUTE
   fb614921bc34 media: venus: core: Set dma maximum segment size
   eb2c9c4ca615 ASoC: use dma_ops of parent device for acp_audio_dma
   68a03c142063 media: firewire: Fix app_info parameter type in avc_ca{,_app}_info
   b60c7a6713d5 powerpc/pseries/cpuidle: Fix preempt warning
   df30a1b5d8d2 powerpc/xmon: Fix invocation inside lock region
   4f03e69412ba media: uvcvideo: Refactor teardown of uvc on USB disconnect
   e6b355ae24ba pstore/ram: Do not treat empty buffers as valid
   72d479d16ec9 clk: imx: make mux parent strings const
   277364cbbd21 jffs2: Fix use of uninitialized delayed_work, lockdep breakage
   d206a38109fc efi/libstub: Disable some warnings for x86{,_64}
   643a876a5b01 rxe: IB_WR_REG_MR does not capture MR's iova field
   f5d7d77be0a6 scsi: qedi: Check for session online before getting iSCSI TLV data.
   5c28f6e86aff ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined
   6ca660928969 selinux: always allow mounting submounts
   128146d4fb71 fpga: altera-cvp: fix probing for multiple FPGAs on the bus
   3e60aeeefaeb usb: gadget: udc: renesas_usb3: add a safety connection way for forced_b_device
   e1c8feafd5fe samples: bpf: fix: error handling regarding kprobe_events
   2b3081b77e3f clk: meson: meson8b: fix incorrect divider mapping in cpu_scale_table
   0bf0163094a9 drm/atomic-helper: Complete fake_commit->flip_done potentially earlier
   21330a217643 arm64: perf: set suppress_bind_attrs flag to true
   066b9fddd721 crypto: ecc - regularize scalar for scalar multiplication
   e26359f1620c MIPS: SiByte: Enable swiotlb for SWARM, LittleSur and BigSur
   3afff9e63c8e x86/mce: Fix -Wmissing-prototypes warnings
   9b3a195320ca ALSA: oxfw: add support for APOGEE duet FireWire
   04aba67bbf94 bpf: Allow narrow loads with offset > 0
   f30cc07af44f serial: set suppress_bind_attrs flag only if builtin
   d264a0f394ba writeback: don't decrement wb->refcnt if !wb->bdi
   74691a75e365 of: overlay: add missing of_node_put() after add new node to changeset
   419af4cd1015 selftests/bpf: enable (uncomment) all tests in test_libbpf.sh
   2e3f88e667c6 e1000e: allow non-monotonic SYSTIM readings
   f782c9d1da48 platform/x86: asus-wmi: Tell the EC the OS will handle the display off hotkey
   1261977d0ab4 ixgbe: allow IPsec Tx offload in VEPA mode
   7c73931b7303 drm/amd/display: Guard against null stream_state in set_crc_source
   39d92f35a8dc gpio: pl061: Move irq_chip definition inside struct pl061
   3aec221e313a netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets
   6a5be9a2ffef ipv6: Take rcu_read_lock in __inet6_bind for mapped addresses
   50d329eca381 r8169: Add support for new Realtek Ethernet
   d1aad26bb964 qmi_wwan: add MTU default to qmap network interface
   62b4f9e777bf net, skbuff: do not prefer skb allocation fails early
   eb5c8d69ea42 net: dsa: mv88x6xxx: mv88e6390 errata
   993bc7d54dac mlxsw: spectrum_switchdev: Set PVID correctly during VLAN deletion
   8fb8533a5309 mlxsw: spectrum: Disable lag port TX before removing it
   75daf3c475df ipv6: Consider sk_bound_dev_if when binding a socket to a v4 mapped address
   73827a8e2e30 nbd: Use set_blocksize() to set device blocksize
   f65d7d5574e1 drm/fb-helper: Ignore the value of fb_var_screeninfo.pixclock
   528fa9207170 loop: drop caches if offset or block_size are changed
   3df31feee60d loop: Fix double mutex_unlock(&loop_ctl_mutex) in loop_control_ioctl()
   d4082dc05ac9 loop: Get rid of 'nested' acquisition of loop_ctl_mutex
   78f210acfd34 loop: Avoid circular locking dependency between loop_ctl_mutex and bd_mutex
   3ebf94b079ba loop: Fix deadlock when calling blkdev_reread_part()
   fc4a4583f9f1 loop: Move loop_reread_partitions() out of loop_ctl_mutex
   2c2c3aa3ab1c loop: Move special partition reread handling in loop_clr_fd()
   e2c6ee2931ca loop: Push loop_ctl_mutex down to loop_change_fd()
   b442997a7285 loop: Push loop_ctl_mutex down to loop_set_fd()
   33d682700fb0 loop: Push loop_ctl_mutex down to loop_set_status()
   49f911a6a4c0 loop: Push loop_ctl_mutex down to loop_get_status()
   c3be2cd6ad9e loop: Push loop_ctl_mutex down into loop_clr_fd()
   9a4a7555c177 loop: Split setting of lo_state from loop_clr_fd
   d1f05249099a loop: Push lo_ctl_mutex down into individual ioctls
   50bbdfab99c1 loop: Get rid of loop_index_mutex
   bc40dc95afdc loop: Fold __loop_release into loop_release
   23d5eac305d0 block/loop: Use global lock for ioctl() operation.
   e0d29ef2a8b0 block/loop: Don't grab "struct file" for vfs_getattr() operation.
   8281310f32aa tipc: fix uninit-value in tipc_nl_compat_doit
   95c94c995d8e tipc: fix uninit-value in tipc_nl_compat_name_table_dump
   b099f94e1e4d tipc: fix uninit-value in tipc_nl_compat_link_set
   8e649a4839e0 tipc: fix uninit-value in tipc_nl_compat_bearer_enable
   e54458ac168e tipc: fix uninit-value in tipc_nl_compat_link_reset_stats
   9a8f56b713dc tipc: fix uninit-value in in tipc_conn_rcv_sub
   08ea8e1bfd4b sctp: allocate sctp_sockaddr_entry with kzalloc
   4c02dbac416c blockdev: Fix livelocks on loop device
   af7bec66e3ee selinux: fix GPF on invalid policy
   de9b736152ed block: use rcu_work instead of call_rcu to avoid sleep in softirq
   b232d75be71a netfilter: ebtables: account ebt_table_info to kmemcg
   aa4d1d6641b5 sunrpc: handle ENOMEM in rpcb_getport_async
   ddb29b79dbff media: vb2: be sure to unlock mutex on errors
   b9f0f2f9cf59 media: vb2: vb2_mmap: move lock up
   7308ece86dd0 LSM: Check for NULL cred-security on free
   71ba5763243b ipv6: make icmp6_send() robust against null skb->dev
   05e6bff7e7a6 bpf: in __bpf_redirect_no_mac pull mac only if present
   4181e7d61b1a media: vivid: set min width/height to a value > 0
   cbfc610ae5f2 media: vivid: fix error handling of kthread_run
   05f5b1394483 omap2fb: Fix stack memory disclosure
   28063cb50ed8 fix int_sqrt64() for very large numbers
   37112a960b7f Disable MSI also when pcie-octeon.pcie_disable on
   8fd61f25fcf3 arm64: dts: marvell: armada-ap806: reserve PSCI area
   58c3acda1754 arm64: kaslr: ensure randomized quantities are clean to the PoC
   9a013b991c02 pstore/ram: Avoid allocation and leak of platform data
   1aa9985076dc RDMA/nldev: Don't expose unsafe global rkey to regular user
   b409b102c7d8 media: v4l: ioctl: Validate num_planes for debug messages
   92dd1f93a3c9 mfd: tps6586x: Handle interrupts on suspend
   2e63388cbfdb OF: properties: add missing of_node_put
   1957d16bceca drm/i915/gvt: Fix mmap range check
   f1e756d98a46 MIPS: lantiq: Fix IPI interrupt handling
   ac8f34885340 mips: fix n32 compat_ipc_parse_version
   0830f02f81b3 scsi: sd: Fix cache_type_store()
   f25d687e3d8b scsi: core: Synchronize request queue PM status only on successful resume
   0f7357d9b8e4 Yama: Check for pid death before checking ancestry
   f94e8c0566d0 btrfs: wait on ordered extents on abort cleanup
   4b1129e59323 Revert "btrfs: balance dirty metadata pages in btrfs_finish_ordered_io"
   f9ac2ffa0255 xen: Fix x86 sched_clock() interface for xen
   79ad9eda6689 x86/xen/time: Output xen sched_clock time from 0
   7b3718f98f17 crypto: talitos - fix ablkcipher for CONFIG_VMAP_STACK
   c194e944dc98 crypto: talitos - reorder code in talitos_edesc_alloc()
   0b612c90335c crypto: authenc - fix parsing key with misaligned rta_len
   bed3cec44833 crypto: bcm - convert to use crypto_authenc_extractkeys()
   f1daff3d1cb1 crypto: ccree - convert to use crypto_authenc_extractkeys()
   b445d866e2fa crypto: authencesn - Avoid twice completion call in decrypt path
   1d5d8babb9a8 crypto: caam - fix zero-length buffer DMA mapping
   04836f6b86bd crypto: sm3 - fix undefined shift by >= width of value
   42cd579fd790 bonding: update nest level on unlink
   12dff858b935 r8169: don't try to read counters if chip is in a PCI power-save state
   5087c2825807 smc: move unhash as early as possible in smc_release()
   cf652d77ac45 tun: publish tfile after it's fully initialized
   faee48550bf4 tcp: change txhash on SYN-data timeout
   e87c244b11cd net: bridge: fix a bug on using a neighbour cache entry without checking its state
   c499692ded84 ipv6: fix kernel-infoleak in ipv6_local_error()
   a3ab077a3f79 arm64: Don't trap host pointer auth use to EL2
   6f127252fe5f arm64/kvm: consistently handle host HCR_EL2 flags
   e5fed8d49b5b scsi: target: iscsi: cxgbit: fix csk leak
   f1778e1523fa netfilter: nf_conncount: don't skip eviction when age is negative
   df00c2c10e4f can: gw: ensure DLC boundaries after CAN frame modification
   58e9f5227691 tty: Don't hold ldisc lock in tty_reopen() if ldisc present
   c6e522371001 tty: Simplify tty->count math in tty_reopen()
   e3ac534b8aa5 tty: Hold tty_ldisc_lock() during tty_reopen()
   3456ecaf8d34 tty/ldsem: Wake up readers after timed out down_write()
   2b1afc9c3506 Btrfs: use nofs context when initializing security xattrs to avoid deadlock
   403d0f9134a7 Btrfs: fix access to available allocation bits when starting balance
   343ae5df68a2 KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less
   42e3a4424b12 sunrpc: use-after-free in svc_process_common()
   39e372a81d13 mm: page_mapped: don't assume compound page is huge or THP
   845f8457893a ext4: track writeback errors using the generic tracking infrastructure
   a0e9782472b8 ext4: use ext4_write_inode() when fsyncing w/o a journal
   c60e8096cc4d ext4: avoid kernel warning when writing the superblock to a dead device
   3ec6f7792def ext4: fix a potential fiemap/page fault deadlock w/ inline_data
   02d823cdb2a4 ext4: make sure enough credits are reserved for dioread_nolock writes
   154261392771 rbd: don't return 0 on unmap if RBD_DEV_FLAG_REMOVING is set
   98213a9d5ce0 drm/amdgpu: Don't fail resume process if resuming atomic state fails
   dc2660871a4a drm/amdgpu: Don't ignore rc from drm_dp_mst_topology_mgr_resume()
   26089047b42c drm/amd/display: Fix MST dp_blank REG_WAIT timeout
   003d29ca6fba PCI: dwc: Move interrupt acking into the proper callback
   b90e95417c02 PCI: dwc: Take lock when ACKing an interrupt
   d51df9e16301 PCI: dwc: Use interrupt masking instead of disabling
   c122260b25cd drm/amdgpu: Add new VegaM pci id
   789040bc5039 vfio/type1: Fix unmap overflow off-by-one
   86cecca3d93e i2c: dev: prevent adapter retries and timeout being set as minus value
   50558f1ca67b ACPI / PMIC: xpower: Fix TS-pin current-source handling
   4b75905144c7 ACPI: power: Skip duplicate power resource references in _PRx
   c78b2116c9d7 mm, memcg: fix reclaim deadlock with writeback
   8bf6869b4d75 mm/usercopy.c: no check page span for stack objects
   d6c879709135 slab: alien caches must not be initialized if the allocation of the alien cache failed
   bb1c250d55ff USB: Add USB_QUIRK_DELAY_CTRL_MSG quirk for Corsair K70 RGB
   39fa1b192449 USB: storage: add quirk for SMI SM3350
   4385b42a4cc2 USB: storage: don't insert sane sense for SPC3+ when bad sense specified
   d10e7b64e2b3 usb: cdc-acm: send ZLP for Telit 3G Intel based modems
   af318dc8d1f4 cifs: Fix potential OOB access of lock element array
   4c26d3a072da CIFS: Do not hide EINTR after sending network packets
   50c6b89008ec CIFS: Fix adjustment of credits for MTU requests
   a7eb3c3dc214 ALSA: hda/realtek - Disable headset Mic VREF for headset mode of ALC225
   dcb78b2a6e1c ALSA: hda/realtek - Add unplug function into unplug state of Headset Mode for ALC225
   26b78760c7ae ALSA: hda/realtek - Support Dell headset mode for New AIO platform
   94ddf9e27eb5 cpufreq: scmi: Fix frequency invariance in slow path
   516c5e5f484f Revert "x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex()"

(From OE-Core rev: c05bd600a4200a76513ff5a127f44efe1eab4045)

(From OE-Core rev: 0e064f8d2a5385fa937a06e230f1ffa650b4a8d9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Bruce Ashfield
f18a9fe3f1 linux-yocto/4.18: update to v4.18.26
Integrating Paul Gortmaker's stable updates that comprise the following
commits:

   89754c7da63f Linux 4.18.26
   c564abe1908c NFSv4: Fix a tracepoint Oops in initiate_file_draining()
   890d46c677fd net: hns3: fix return value error while hclge_cmd_csq_clean failed
   9cee553eeef0 PCI/AER: Remove duplicate PCI_EXP_AER_FLAGS definition
   5ffe615c7959 fbdev: omap2: omapfb: fix ifnullfree.cocci warnings
   9a2eb194c961 fbdev: omap2: omapfb: fix bugon.cocci warnings
   795731d5307f fbdev: omap2: omapfb: fix boolreturn.cocci warnings
   8c656840a4cc PCI: mobiveil: Add Kconfig/Makefile entries
   0f7c216a5905 pinctrl: mediatek: include chained_irq.h header
   3f240c958d39 m68k/io: Add missing ioremap define guards, fix typo
   3aca0a7960d4 dm writecache: report start_sector in status line
   50de44fbe274 arm64: mm: Export __sync_icache_dcache() for xen-privcmd
   4c521f993bb9 tipc: add missing dev_put() on error in tipc_enable_l2_media
   0a7f5ef06a67 clk: actions: Add missing REGMAP_MMIO dependency
   90cbc3a9021a net: remove redundant input checks in SIOCSIFTXQLEN case of dev_ifsioc
   92b0d2a490ba nvmet: check fileio lba range access boundaries
   95550ccfee82 EVM: fix return value check in evm_write_xattrs()
   9c63338b2ecc multicast: remove useless parameter for group add
   818380e81f55 regulator: qcom_spmi: Do not initialise static to NULL
   80faeb6437d9 netfilter: nft_socket: Break evaluation if no socket found
   7896db3d286a netfilter: nft_tproxy: Move nf_tproxy_assign_sock() to nf_tproxy.h
   6ee2615cbc6c x86/hyper-v: Check cpumask_to_vpset() return value in hyperv_flush_tlb_others_ex()
   b98d573d572f drm/nouveau/kms/nv50-: fix drm-get-put.cocci warnings
   5b4fbedbb14a ASoC: qdsp6: q6routing: off by one in routing_hw_params()
   0ce601464e44 drm/amdgpu: get VCN start to process in the dpm disabled case
   cdb988723c92 net: stmmac: Fix PCI module removal leak
   f014d3b35b9f ip: on queued skb use skb_header_pointer instead of pskb_may_pull
   ee45cb43d804 linux/device.h: fix kernel-doc notation warning
   eb11d9a94de0 regulator: Revert "regulator: pfuze100: add enable/disable for switch"
   26d53be66490 KVM: VMX: hide flexpriority from guest when disabled at the module level
   1c9ebfaf8229 media: omap3isp: fix warning for !CONFIG_PM
   60f30bf144b8 cfg80211: fix wext-compat memory leak
   9685f469611b spi: spi-mem: Add missing description for data.nbytes field
   07b7e110c17b arm64: dts: renesas: r8a77990: Remove non-existing STBE region
   d6e90a26c5bd media: cx231xx: fix RC_CORE dependency
   7a281dbd6967 media: v4l: cadence: add VIDEO_V4L2 dependency
   3b95f46801af perf Documentation: Fix out-of-tree asciidoctor man page generation
   8d927494900d selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter
   8359363df5a6 net/mlx5: Use u16 for Work Queue buffer strides offset
   0f85219db2ee kconfig: remove a spurious self-assignment
   40535cf8ca98 netfilter: nf_tables: don't prevent event handler from device cleanup on netns exit
   10d27d084c16 drm/i915: Stop holding a ref to the ppgtt from each vma
   e9c0ce028417 f2fs: wake up gc thread immediately when gc_urgent is set
   b9f47e1e8a61 tcp: avoid resetting ACK timer upon receiving packet with ECN CWR flag
   f1a29b5218b0 tcp: mandate a one-time immediate ACK
   4474fad367bf selftests: rtnetlink: use a local IP address for IPsec tests
   f9229f11713c selftests: rtnetlink: hide complaint from terminated monitor
   2b4cb6ad782d i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt
   f2aa45e70b9a drm/sun4i: mark PM functions as __maybe_unused
   6c4f9bb9e2c7 drm/v3d: Checking for NULL vs IS_ERR()

(From OE-Core rev: 920440b0406f04963603e54f49527772fb14dacb)

(From OE-Core rev: 526af7d7741d678ccb0858131d511b2a9e67c9f2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Mingli Yu
85e8503306 logrotate.py: restore /etc/logrotate.d/wtmp
During the test logrotate.LogrotateTest.test_1_logrotate_setup,
there is below logic:
 # mkdir $HOME/logrotate_dir
 # sed -i "s#wtmp {#wtmp {\n    olddir $HOME/logrotate_dir#" /etc/logrotate.d/wtmp

After all logrotate.LogrotateTest finished, only cleanup
$HOME/logrotate_dir as below, but don't restore
the config file /etc/logrotate.d/wtmp.
[snip]
def tearDownClass(cls):
    cls.tc.target.run('rm -rf $HOME/logrotate_dir')
[snip]

That's to say, there is one additional line added
to /etc/logrotate.d/wtmp and will make the logrotate
service start failed when run systemd.SystemdBasicTests.test_systemd_failed

Take an example as below when run test as root:
 # cat /etc/logrotate.d/wtmp
 # no packages own wtmp -- we'll rotate it here
 /var/log/wtmp {
    olddir /root/logrotate_dir
    missingok
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
 }

 # ls /root/logrotate_dir
 ls: cannot access '/root/logrotate_dir': No such file or directory

 # systemctl start logrotate
 Job for logrotate.service failed because the control process exited with error code.
 See "systemctl status logrotate.service" and "journalctl -xe" for details.

 # systemctl status logrotate
  logrotate.service - Rotate log files
   Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset>
   Active: failed (Result: exit-code) since Wed 2019-02-13 03:35:19 UTC; 7s ago
     Docs: man:logrotate(8)
           man:logrotate.conf(5)
   Process: 540 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=1/FAILURE)
   Main PID: 540 (code=exited, status=1/FAILURE)

  Feb 13 03:35:18 qemumips systemd[1]: Starting Rotate log files...
  Feb 13 03:35:19 qemumips logrotate[540]: error: wtmp:9 error verifying olddir path /root/logrotate_dir: No such file or directory
  Feb 13 03:35:19 qemumips logrotate[540]: error: found error in file wtmp, skipping
  Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE
  Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Failed with result 'exit-code'.
  Feb 13 03:35:19 qemumips systemd[1]: Failed to start Rotate log files.

Add the logic to restore /etc/logrotate.d/wtmp to
make the cleanup complete to fix the above issue.

(From OE-Core rev: a2db9320d97d12d87524ff16a329f9c38a8da33f)

(From OE-Core rev: 9036f78bdfde1d79af6ce57db78e2cdff9fb5677)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
b784649ed3 oeqa/runtime/ptest: Ensure OOM errors are logged
Currently processed being killed by the OOM killer may not be spotted by
ptest-runner. After we complete the tests, check the logs and report if there
were any. This ensures the user is aware of OOM conditions affecting the
ptest results.

(From OE-Core rev: 20a441d53817f80e0ce1597e77f6e794422ac49a)

(From OE-Core rev: f922970b119849bcdd7f7df74bd2029816ff637c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
ddabcfa8ea oeqa/logparser: Various misc cleanups
Get rid of further unneeded code complications:

* value mappings we could just direct use
* ftools when we can write files easily ourself
* test result status filtering we don't use
* variable overwriting module imports

(From OE-Core rev: d6065f136f6d353c3054cc3f440a4e259509f876)

(From OE-Core rev: ba944a72302fa088c31c7b1eee4ad9f64f9769e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
c792536bcb oeqa/logparser: Improve results handling
Merge the results handling into the ptest log parser as a seperate
method.

Drop the weird "pass.skip.fail." prefix to the results filename, its
just bizarre.

Drop the code turning a list into a regex then searching the regex for
an item, "x in y" is perfectly capable.

Use a dict, sort the keys as needed and drop the list sorting code.

(From OE-Core rev: f317800e950b4a37b4034133bc52e0c47f04dc29)

(From OE-Core rev: 966ffaada3e9f43a25b1361c53d4b16a521aa517)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
6cb1b12565 oeqa/utils/logparser: Add in support for duration, exitcode and logs by section
Allow parsing of the ptest duration, exit code and timeout keywords
from the logs, returning data on each section.

Also include the logs broken out per section.

(From OE-Core rev: a9a67dccaa5be0f06eedcab46dcff7cbf9202850)

(From OE-Core rev: dc49021f75ed7e82713d1c9a04e045718bb9a548)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
ff0a227e4c oeqa/logparser: Reform the ptest results parser
Now we have a dedicated ptest parser, merge in the remaining ptest
specific pieces to further clarify and simplify the code, moving to
a point where we can consider extending/enhancing it.

(From OE-Core rev: 05991bb5bc8018275d03fdeecee3d5a757840c7c)

(From OE-Core rev: e514c34195a7e1b2b7a1916ebd8c8ef631c60a01)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
a18ab724da oeqa/logparser: Further simplification/clarification
Rename the paster to be ptest specific and apply some further cleanups
to the code to simplify and clarify what its doing.

(From OE-Core rev: 45a5886f1ec458d4c306b8d68fd31d568bc36b47)

(From OE-Core rev: a4187e32f2cf90c0c7a155bef29fe558cea1edd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
f89486cda1 oeqa/utils/logparser: Simplify ptest log parsing code
logparser is only used by ptest. Its slightly overcomplicated as it was
intended to be reusable but wasn't. Simplify it as a dedicated parser is
likely to me more readable and maintainable.

(From OE-Core rev: c7478345b2b4a85cb1fec40e762633871f0e94cb)

(From OE-Core rev: 1a6fcc97f3842deed3e78ededa8a21da274c0572)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Richard Purdie
31e10dd927 oeqa/runtime/ptest: Avoid traceback for tests with no section
Some tests end up without a section, avoid tracebacks trying to use
None as a string in that case.

(From OE-Core rev: 86fb5d898a29761f120c2eaa538a32cf2e078487)

(From OE-Core rev: fca18914013b2f05b36e6985a7ff4a7c8dddf8a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Kai Kang
b023be7714 selftest/wic: update test case test_qemu
This test case boots the image in qemu and checks for mounted partitions.
But the outputs of mount are different between sysvinit and systemd:

sysvinit:
/dev/root /\r\n/dev/sda1 /boot\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt
systemd:
/dev/sda1 /boot\r\n/dev/sda2 /\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt

So check mounted partitions by egrep rather than check output of runqemu.

(From OE-Core rev: 8e3311d45ec68d74e934e966f67cf5102634981c)

(From OE-Core rev: 828db9026c61d0a6ad12b8e05929eef31abfd57d)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Armin Kuster
a9b4266f62 perl: add testdepends for ssh
fixes:

 DEBUG: [Running]$ ssh -l root -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR 192.168.7.4 export PATH=/usr/sbin:/sbin:/usr/bin:/bin; perl -e '$_="Uryyb, jbeyq"; tr/a-zA-Z/n-za-mN-ZA-M/;print'
| DEBUG: time: 1548816904.4024463, endtime: 1548817204.397057
| DEBUG: Partial data from SSH call: ssh: connect to host 192.168.7.4 port 22: Connection refused

for master/thud/sumo

(From OE-Core rev: a590e7805e3bec5dd995f7ea0b9e79a21f82b48b)

(From OE-Core rev: 7dbccf13493dad534c0cc604bc4c5ab16e5f0fc0)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:39 +00:00
Zheng Ruoqin
f1c7d5d719 mdadm: add init and service scripts
Add init script and service file for sysvinit and systemd.

(From OE-Core rev: 4556380fc582646506fb69a18ad2c8ded904b8ba)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Hong Liu <hongl.fnst@cn.fujitsu.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Ovidiu Panait
7756de368d ghostscript: Fix CVE-2019-6116
It was discovered that the ghostscript /invalidaccess checks fail under
certain conditions. An attacker could possibly exploit this to bypass
the -dSAFER protection and, for example, execute arbitrary shell commands
via a specially crafted PostScript document.

Reference:
https://www.openwall.com/lists/oss-security/2019/01/23/5

Upstream patches:
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=13b0a36f8181db66a91bcc8cea139998b53a8996
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2db98f9c66135601efb103d8db7d020a672308db
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=99f13091a3f309bdc95d275ea9fec10bb9f42d9a
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=59d8f4deef90c1598ff50616519d5576756b4495
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2768d1a6dddb83f5c061207a7ed2813999c1b5c9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=49c8092da88ef6bb0aa281fe294ae0925a44b5b9
http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2ff600a3c4fc169e7c6c1e83874a6bf63a6fb42b

(From OE-Core rev: af397d31e467d6af00ef835537221bc211d94ca6)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Adam Trhon
391d8a0fca icecc-env: don't raise error when icecc not installed
When icecc is not installed, the `which icecc` command in icecc-env.sh
returns nonzero. This happens when environment is being sourced. When
the terminal has `set -e`, the whole script fails and terminal is
closed.

Fix this by ignoring errors from the which command.

(From OE-Core rev: 84c63858be47d33e49140181d73c253886d5aec5)

Signed-off-by: Adam Trhon <adam.trhon@tbs-biometrics.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Richard Purdie
cd32a7d089 package: Add pkg_postinst_ontarget to PACKAGEVARS
Changes to pkg_postinst_ontarget were not triggering rebuilds, this fixes
that.

[YOCTO #13127]

(From OE-Core rev: f3e2f78f282bf3a68a4923009825eb4fb460ca50)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Ross Burton
2ae09cc132 e2fsprogs: fix file system generation with large files
When copying files into the file system the file offset was being truncated to a
signed 32-bit value, so any files that are larger than 2^31 bytes were the right
size, but no content after that point.

(From OE-Core rev: a77360db529d0ac3cb91161001546754d0371aa2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Dustin Bain
4e262fb162 busybox: update to 1.29.3
Updates busybox to version 1.29.3 to fix a bug related to parsing of
config files: 2993551ef ("Revert "libbb: remove unnecessary variable in
xmalloc_fgets"")

Upgrading the recipe was chosen instead of backporting the fix as a
patch because the only difference between version 1.29.2 and 1.29.3 is
this revert.

(From OE-Core rev: 11d4fd16c3d7dad5d7e3b4d44a96724075be7126)

(From OE-Core rev: 1ee1701a01e1bd9146e53613e80ea9185579c719)

Signed-off-by: Dustin Bain <dustin.bain@garmin.com>
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 22:27:38 +00:00
Scott Rifenbark
9b41eae273 overview-manual, mega-manual: Updated Package Feeds diagram
The diagram had a typo in it ".ipd" rather than ".ipk".
Fixed and dropped in the figures folder for each manual.

(From yocto-docs rev: d085c285a41bacc15aa78a9f3900f4be7c45fa62)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:43:55 +00:00
Scott Rifenbark
a2e241d760 poky.ent: Updated "meta-intel" version to "10.1"
(From yocto-docs rev: 96f549eb4b047863bebadc4097fbef35a57573f7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:43:55 +00:00
Daniel Ammann
137ef19b36 ref-manual: Typo found and fixed.
(From yocto-docs rev: 035c6bc2089b19b0d0ae332bca25a75211f86964)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-25 10:43:55 +00:00
Brian Silverman
b904775c2b overview-manual: Fixed typo.
"eSDSK" -> "eSDK"

(From yocto-docs rev: 01d61e03cf004559ecccb43e8114b20823766bfa)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:48:56 +00:00
Scott Rifenbark
1b59e69854 poky.ent: Changed release month to February
Release slipped out past January

(From yocto-docs rev: 640cbaa433e94c37f4ef83088ac692fd1f5bbb2e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:48:56 +00:00
Scott Rifenbark
3d7f2555af ref-manual: Fixed INC_PR literal example indentation.
Five-space indentation missing.

(From yocto-docs rev: 6e43669a0100bb4520770d8aadee3b9c8526dbf5)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:48:56 +00:00
Scott Rifenbark
8afd4cc3ec ref-manual: Updated list of supported distros.
Had to make some tweaks.

(From yocto-docs rev: 7200f3d0b75e2ffc8b755c4962b532f399b78885)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:48:56 +00:00
Scott Rifenbark
9502933d44 ref-manual: Updated the list of supported distros
Ran the script against the tip of the "thud" branch in poky
and used the supported distros returned.

(From yocto-docs rev: 75b72c440a08d38562fb846ef0714e96d4b4a811)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:48:56 +00:00
Scott Rifenbark
0a1666685b bitbake: bitbake-user-manual: Fixed section head typo
Unseting -> Unsetting

(Bitbake rev: 238a936f60cbffb73f7b370b867e45f91925951c)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-12 21:44:18 +00:00
Kevin Hao
ee7dd31944 meta-yocto-bsp: Bump to the latest stable kernel for the non-x86 BSPs
Bump to the latest stable kernel for 4.18.

(From meta-yocto rev: e9a9591f36d1e7a602fdb245a1f2d1707958e0e5)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:39:00 +00:00
Naveen Saini
0cdd8c7376 linux-yocto: update genericx86* SRCREV for 4.18
Bump to kernel release v4.18.22

(From meta-yocto rev: c702fdaaf4c2a9fe68cf43c2eb92f643da09653c)

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:39:00 +00:00
Naveen Saini
143dcb4183 linux-yocto: update genericx86* SRCREV for 4.18
Bump kernel version to v4.18.21.

(From meta-yocto rev: 89c0a8746b98c8e60e2e2c88630b85cf58fc3b08)

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:39:00 +00:00
Chen Qi
90dec2ffa5 eSDK.py: unset BBPATH and BUILDDIR to avoid eSDK failure
When executing eSDK test case, the following error appears.

  WARNING: attempting to use the extensible SDK in an environment
  	   set up to run bitbake - this may lead to unexpected
	   results. Please source this script in a new shell session
	   instead.

  FileExistsError: [Errno 17] File exists: '/.../tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/selftest-esdk-fcuyzsqu/tmp/sysroots/x86_64/bin/pigz' -> '/.../tmp/hosttools/pigz'

So unset these two vars to avoid messing things up.

(From OE-Core rev: bc07d825ce8bb3b337623c232fef61f2781c82af)

(From OE-Core rev: 748f946ee74f7480200a7eb0bb0b695467b08f0a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Chen Qi
ecec5a8fdb eSDK.py: avoid error in tearDownClass due to race condistion
When removing the temporary directory, it's possible that bitbake.lock
file is removed by bitbake during the cleanup. And this leads to the
following error.

  FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.lock'

So add a check to remove this file before cleaning up the temporary
directory.

(From OE-Core rev: 984f56b37bd0014e5bf9509fc8ed181973e61773)

(From OE-Core rev: 6a5cce862f1e950439dc8ee1d84a10397a7fac4f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Marcus Cooper
d5845c8bc1 systemd: Security fix CVE-2018-16866
Affects < v240

(From OE-Core rev: bdee9122fe67467d1ec17012902a441fecb0cb9b)

(From OE-Core rev: 5e4d9fd5b13dd0603d9001b478b0c3170dd81004)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Marcus Cooper
dc09249022 systemd: Security fix CVE-2018-16865
Affects < v240

(From OE-Core rev: 314887a475ae1ac638eb80d973ffee1bd2a31a35)

(From OE-Core rev: d5d2b821fc85b8cf39f683061ac2a45bddd2139f)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Marcus Cooper
db1f6cba40 systemd: Security fix CVE-2018-16864
Affects < v240

(From OE-Core rev: 6900b9cc2cd3e66469a9561bb478b87c0903b0ea)

(From OE-Core rev: 403e74b07b6f3c4a2444e68c74a8434fb17aee49)

Signed-off-by: Marcus Cooper <marcusc@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Peter Kjellerstedt
6454aba9dd systemd: Correct a conditional add to SYSTEMD_PACKAGES
The code conditionally adding ${PN}-journal-remote to SYSTEMD_PACKAGE
checked PACKAGECONFIG for an empty string rather than 'microhttpd'...

(From OE-Core rev: 42d52a279a75c94c4deba50b448dd3b6b2ac75df)

(From OE-Core rev: 86de2bff77054bb35b78aeaed8fcf95c6815779c)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Peter Kjellerstedt
a80485e6a2 systemd: Correct and clean up user/group definitions
This makes sure that packages are only added to USERADD_PACKAGES if
they will create users/groups. This avoids the following error:

  ERROR: systemd_239.bb: meta/recipes-core/systemd/systemd_239.bb
  inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or
  GROUPMEMS_PARAM for package systemd-journal-gateway

Normally this problem is not triggered even if the conditional code that
expands in, e.g., USERADD_PARAM_${PN}-journal-gateway is empty because
it is assigned with += and thus ends up as " ", which fools the check in
useradd.bbclass.

However, if USERADDEXTENSION += "useradd-staticids" and
INHERIT += "extrausers" are used, they cause the problem to occur. The
reason for this is because when useradd-staticids is used, it rewrites
USERADD_PARAM_${PN}-journal-gateway, which strips unnecessary whitespace
and thus USERADD_PARAM_${PN}-journal-gateway becomes empty. And
extrausers is needed, because otherwise the test in useradd.bbclass is
triggered before useradd-staticids has rewritten the variables...

(From OE-Core rev: 63ae444b1dba65ccb1693648914becabd65ac30d)

(From OE-Core rev: 419aaf698b2823ec9bb5a94d4605bdcfd8e90142)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
André Draszik
afadb9aa51 meta: remove True option to getVar calls (again)
A couple have still been missed in the past despite multiple
attempts at doing so (or simply have re-appeared?).

Search & replace made using the following command:
    sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \
        -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \
             | cut -d':' -f1 \
             | sort -u)

(From OE-Core rev: 9f551d588693328e4d99d33be94f26684eafcaba)

(From OE-Core rev: 2da88ecbbf118bb7440f48184d4b39c273ab57e9)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Alex Kiernan
46d75fd3db systemd: Add PACKAGECONFIG for gnutls
(From OE-Core rev: da0c196cdc4eb74c7517089dc192d6a77227b6e2)

(From OE-Core rev: 1bd93c625fa64cdddc260fdd164cc0d2c5272ee0)

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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Alexander Kanavin
3f6e5c54f1 systemd: backport a patch to fix meson 0.49.0 issue
(From OE-Core rev: 81ecfbb19ccb5b5241cfdd871d41459bda3dba4d)

(From OE-Core rev: 925113cfa0f2467cd818bd6f2ec9fe372a99bc79)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Khem Raj
57a370c254 systemd: Fix memory use after free errors
Found with gcc trunk

(From OE-Core rev: 381c63ad2a6e004658b0232b6e6763f49f412b2b)

(From OE-Core rev: 82cb42d24250d211c1d9bd4ab9e91bbb0ef6ffa2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Kai Kang
9f02ad5cfa systemd: fix compile error for x32
Backport patch to fix systemd compile error for x32:

| ../git/src/timesync/timesyncd-manager.c:607:19: error: format '%lli'
| expects argument of type 'long long int', but argument 11 has type
| 'long int' [-Werror=format=]

[YOCTO #13074]

(From OE-Core rev: 7201df413616cab8d7f3257f86dd7a0a5c7719ee)

(From OE-Core rev: 9a78a8821f863ca6af15132201bc38f36d6e17a6)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Alex Kiernan
da23651d01 systemd: backport fix to stop enabling ECN
>From upstream:

  Turning on ECN still causes slow or broken network on linux. Our tcp
  is not yet ready for wide spread use of ECN.

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

(From OE-Core rev: f951aa6f9fcf318f108ecdc3371498ee2e919e68)

(From OE-Core rev: f2c5e46392b364a8c77734a77049487c6e19ebc1)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Brad Bishop
54a0e331c6 systemd-systemctl-native: handle Install wildcards
Handle the %i wildcard appearing in a dependency in the Install section
of a template unit, e.g.

  $ cat foo@.service

  [Install]
  WantedBy=bar@%i.target

Using the real systemctl something like:

  $ systemctl enable foo@baz.service

will create a symlink in /etc/systemd/system/bar@baz.target.wants.
Detect wildcards in templates and make the appropriate substitution.

(From OE-Core rev: 22ed19292d160461042d4a2294fe2ec0b953873e)

(From OE-Core rev: aee9c2c28bf8d90f2bd30834b6d9f51141837338)

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Bruce Ashfield
7bba05391b linux-yocto/4.18: update to v4.18.25
Integrating the -stable updates from Paul Gortmaker that comprise the
following commits:

   e07895ef36e2 Linux 4.18.25
   735782c616aa drm/rockchip: psr: do not dereference encoder before it is null checked.
   90d4d21063af drm/vc4: Set ->is_yuv to false when num_planes == 1
   5758821188c7 drm/nouveau/drm/nouveau: Check rc from drm_dp_mst_topology_mgr_resume()
   8a79f6e48dc7 lib: fix build failure in CONFIG_DEBUG_VIRTUAL test
   c85e10aa1ea6 of: __of_detach_node() - remove node from phandle cache
   d7ba3e8331c7 of: of_node_get()/of_node_put() nodes held in phandle cache
   9739deeff0bf power: supply: olpc_battery: correct the temperature units
   2e4bfb04a730 intel_th: msu: Fix an off-by-one in attribute store
   233fc3ff6d19 genwqe: Fix size check
   3722e178318e drivers/perf: hisi: Fixup one DDRC PMU register offset
   e7153ded4c17 ceph: don't update importing cap's mseq when handing cap export
   96c39638d19f sched/fair: Fix infinite loop in update_blocked_averages() by reverting a9e7f6544b9c
   f73f80f3cff6 iommu/vt-d: Handle domain agaw being less than iommu agaw
   87310c3e7901 RDMA/srpt: Fix a use-after-free in the channel release code
   49cb944dbb54 rxe: fix error completion wr_id and qp_num
   9c1e8e00a232 9p/net: put a lower bound on msize
   595eab91d583 iio: dac: ad5686: fix bit shift read register
   6930d7e4b110 powerpc/tm: Set MSR[TS] just prior to recheckpoint
   da655a6fd9a9 powerpc/tm: Unset MSR[TS] if not recheckpointing
   6c968fff7e66 leds: pwm: silently error out on EPROBE_DEFER
   d92af6def7be arm64: relocatable: fix inconsistencies in linker script and options
   5c7ffec8c4a1 arm64: drop linker script hack to hide __efistub_ symbols
   231c17d7fe6d lockd: Show pid of lockd for remote locks
   bb36bf436ae9 PCI / PM: Allow runtime PM without callback functions
   109e48764a2d selinux: policydb - fix byte order and alignment issues
   a608335e8a1c b43: Fix error in cordic routine
   ce624ec2363b gfs2: Fix loop in gfs2_rbm_find
   7b0eb99a925c gfs2: Get rid of potential double-freeing in gfs2_create_inode
   2e8e0dc1bbff dlm: memory leaks on error path in dlm_user_request()
   20e150ecbb17 dlm: lost put_lkb on error path in receive_convert() and receive_unlock()
   eb1cbd2d152c dlm: possible memory leak on error path in create_lkb()
   700687f3cb98 dlm: fixed memory leaks after failed ls_remove_names allocation
   c45cc3521032 block: mq-deadline: Fix write completion handling
   9d3b67453638 block: deactivate blk_stat timer in wbt_disable_default()
   53a5e3001ad1 Fix failure path in alloc_pid()
   1da2e8ee069f driver core: Add missing dev->bus->need_parent_lock checks
   8fb38bca0d9a srcu: Lock srcu_data structure in srcu_gp_start()
   fabb4446a87b ALSA: usb-audio: Always check descriptor sizes in parser code
   eaf28235170f ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks
   1a814f226eee ALSA: usb-audio: Check mixer unit descriptors more strictly
   974f484d8ff9 ALSA: usb-audio: Avoid access before bLength check in build_audio_procunit()
   7fac2a4ca7d3 ALSA: cs46xx: Potential NULL dereference in probe
   a489f553dc12 media: cx23885: only reset DMA on problematic CPUs
   4c7d8d7c1308 raid6/ppc: Fix build for clang
   dabfa8988258 powerpc: Disable -Wbuiltin-requires-header when setjmp is used
   71a4448d5e50 powerpc: avoid -mno-sched-epilog on GCC 4.9 and newer
   77355e0e98c6 powerpc: consolidate -mno-sched-epilog into FTRACE flags
   0f5ac11d097d powerpc: remove old GCC version checks
   9fcbfe720a66 sunrpc: use SVC_NET() in svcauth_gss_* functions
   192b590d4aec sunrpc: fix cache_head leak due to queued request
   c7c58f2faee2 mm, swap: fix swapoff with KSM pages
   8289463a7e9d mm, hmm: mark hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL
   1a799c400ed1 mm, hmm: use devm semantics for hmm_devmem_{add, remove}
   0c99af45252a mm, devm_memremap_pages: add MEMORY_DEVICE_PRIVATE support
   59333a88f665 kernel/memremap, kasan: make ZONE_DEVICE with work with KASAN
   58bc5ba9a00d mm, devm_memremap_pages: fix shutdown handling
   948d528a2a6f mm, devm_memremap_pages: kill mapping "System RAM" support
   df07b8f0fb0a mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL
   ebd7e55e0733 hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined
   959653a9bf73 zram: fix double free backing device
   8b9b4edba3be fork: record start_time late
   b901d884c9e8 scsi: lpfc: do not set queue->page_count to 0 if pc_sli4_params.wqpcnt is invalid
   82485bca00f2 scsi: zfcp: fix posting too many status read buffers leading to adapter shutdown
   773911d8b527 auxdisplay: charlcd: fix x/y command parsing
   49c70d21c358 serial/sunsu: fix refcount leak
   0ec65d840ea3 qmi_wwan: Fix qmap header retrieval in qmimux_rx_fixup
   0438f1ea114b net: netxen: fix a missing check and an uninitialized use
   1567f283e00e Input: synaptics - enable SMBus for HP EliteBook 840 G4
   a3913c9c9c8c gpio: mvebu: only fail on missing clk if pwm is actually to be used
   9e1a572ef0b5 lan743x: Remove MAC Reset from initialization
   3cda7e7e3ecb virtio: fix test build after uio.h change
   09d4f9477813 kbuild: fix false positive warning/error about missing libelf
   02b8b59bea29 mac80211: free skb fraglist before freeing the skb
   6499acbbd54f nl80211: fix memory leak if validate_pae_over_nl80211() fails
   65fbf8702ff9 vxge: ensure data0 is initialized in when fetching firmware version information
   6eee1a4d51f3 lan78xx: Resolve issue with changing MAC address
   a200d52163e4 net: macb: add missing barriers when reading descriptors
   8bbf0bc96ad7 net: macb: fix dropped RX frames due to a race
   acbf1fb508aa net: macb: fix random memory corruption on RX with 64-bit DMA
   02c208c4c6b2 qed: Fix an error code qed_ll2_start_xmit()
   88f38f2f554e SUNRPC: Fix a race with XPRT_CONNECTING
   78f44c6b4abc net: hns: Fix ping failed when use net bridge and send multicast
   028ea5c9d17a net: hns: Add mac pcs config when enable|disable mac
   4f6210aba92c net: hns: Fix ntuple-filters status error.
   02c9ec12dd21 net: hns: Avoid net reset caused by pause frames storm
   1a4c0bc47d5e net: hns: Free irq when exit from abnormal branch
   3153ec7cf997 net: hns: Clean rx fbd when ae stopped.
   716fc005da40 net: hns: Fixed bug that netdev was opened twice
   dd3287b18cf8 net: hns: Some registers use wrong address according to the datasheet.
   23cccfe76598 net: hns: All ports can not work when insmod hns ko after rmmod.
   4982bfce35ef net: hns: Incorrect offset address used for some registers.
   90bd8d1a20b2 w90p910_ether: remove incorrect __init annotation
   c392d1a12520 net/tls: Init routines in create_ctx
   1e623fa0042c drivers: net: xgene: Remove unnecessary forward declarations
   ecd5c4ebb822 x86, hyperv: remove PCI dependency
   81dae7a1df1c mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues
   e28b6d2c57b5 scsi: target: iscsi: cxgbit: add missing spin_lock_init()
   68d361ffeabd scsi: target: iscsi: cxgbit: fix csk leak
   6c1b3803a6e3 bnx2x: Send update-svid ramrod with retry/poll flags enabled
   3acfa2246629 bnx2x: Clear fip MAC when fcoe offload support is disabled
   7e20b7779059 netfilter: nat: can't use dst_hold on noref dst
   e3a08d34d535 netfilter: ipset: do not call ipset_nest_end after nla_nest_cancel
   48f3cb1f4e86 i40e: fix mac filter delete when setting mac address
   5d04bcd6e69e ieee802154: ca8210: fix possible u8 overflow in ca8210_rx_done
   f53ba1853ffd ibmvnic: Fix non-atomic memory allocation in IRQ context
   34bd82d476ad ibmvnic: Convert reset work item mutex to spin lock
   0a597b1ccd73 Input: synaptics - enable RMI on ThinkPad T560
   014633247654 Input: omap-keypad - fix idle configuration to not block SoC idle states
   a284212b45ed scsi: bnx2fc: Fix NULL dereference in error handling
   e639597419e9 Revert "scsi: qla2xxx: Fix NVMe Target discovery"
   cea74ed31970 netfilter: seqadj: re-load tcp header pointer after possible head reallocation
   b139c854a00a xfrm: Fix bucket count reported to userspace
   d3353f400809 checkstack.pl: fix for aarch64
   ca5e170a8f47 drm/amdgpu: Fix DEBUG_LOCKS_WARN_ON(depth <= 0) in amdgpu_ctx.lock
   fe69ecd10177 powerpc/mm: Fallback to RAM if the altmap is unusable
   50a6a1e7140b Input: restore EV_ABS ABS_RESERVED
   495cd33a97d6 ARM: dts: imx7d-nitrogen7: Fix the description of the Wifi clock
   8d8cbaca6ba2 ARM: imx: update the cpu power up timing setting on i.mx6sx
   b930167e8ec5 ARM: dts: imx7d-pico: Describe the Wifi clock
   4ef7a4b98ce3 HID: ite: Add USB id match for another ITE based keyboard rfkill key quirk
   e5a9a47bd51a powerpc/mm: Fix linux page tables build with some configs
   251058825091 powerpc: Fix COFF zImage booting on old powermacs
   d113f206d275 ARM: dts: sun8i: a83t: bananapi-m3: increase vcc-pd voltage to 3.3V
   26068dd8b8cf Linux 4.18.24
   aec6f6bc5108 MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y
   edc9f994d18e spi: bcm2835: Unbreak the build of esoteric configs
   7675f3ad41aa tpm: tpm_i2c_nuvoton: use correct command duration for TPM 2.x
   62c528f41b75 arm64: compat: Avoid sending SIGILL for unallocated syscall numbers
   fe9ecf948b3f iommu/arm-smmu-v3: Fix big-endian CMD_SYNC writes
   daf79a7eff57 KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq()
   4e397462644c KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring state
   679602791d84 KVM: arm/arm64: vgic: Cap SPIs to the VM-defined maximum
   c48ea7b2f18b KVM: arm/arm64: vgic: Do not cond_resched_lock() with IRQs disabled
   c96e540c5472 rtc: m41t80: Correct alarm month range with RTC reads
   728bdad63d25 ARM: dts: exynos: Specify I2S assigned clocks in proper node
   85157899ecd7 arm/arm64: KVM: vgic: Force VM halt when changing the active state of GICv3 PPIs/SGIs
   61f42110c833 arm64: KVM: Avoid setting the upper 32 bits of VTCR_EL2 to 1
   3b0dec9f506f CIFS: Fix error mapping for SMB2_LOCK command which caused OFD lock problem
   9829db6a18eb MIPS: OCTEON: mark RGMII interface disabled on OCTEON III
   cee82d1ae17b MIPS: Expand MIPS32 ASIDs to 64 bits
   c808d70b9e27 MIPS: Align kernel load address to 64KB
   eb8af7549685 MIPS: Ensure pmd_present() returns false after pmd_mknotpresent()
   45bff3e8e6a5 MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3
   9c6f89bc1709 MIPS: math-emu: Write-protect delay slot emulation pages
   7f7b89296833 tools lib traceevent: Fix processing of dereferenced args in bprintk events
   b8a224716756 media: v4l2-tpg: array index could become negative
   6f9be5d7e3f3 media: vb2: check memory model for VIDIOC_CREATE_BUFS
   11f1d3879a7d media: vivid: free bitmap_cap when updating std/timings/etc.
   cb40fc23227e media: imx274: fix stack corruption in imx274_read_reg
   b64ba5d0b731 media: rc: cec devices do not have a lirc chardev
   4e3ad74d0a78 media: cec-pin: fix broken tx_ignore_nack_until_eom error injection
   2696fefea8a6 media: cec: keep track of outstanding transmits
   fd247353c0f9 serial: uartps: Fix interrupt mask issue to handle the RX interrupts properly
   22fcd1b2f73e f2fs: sanity check of xattr entry size
   29c1ff73b20b f2fs: fix validation of the block count in sanity_check_raw_super
   cb1c54a6a7d5 brcmfmac: Fix out of bounds memory access during fw load
   a9a25c4bd9bb brcmfmac: fix roamoff=1 modparam
   146ef869a043 Btrfs: send, fix race with transaction commits that create snapshots
   ba440c3c4a27 btrfs: run delayed items before dropping the snapshot
   6ba644894048 Btrfs: fix fsync of files with multiple hard links in new directories
   593a1bdf137a btrfs: skip file_extent generation check for free_space_inode in run_delalloc_nocow
   6eb353db8d32 btrfs: dev-replace: go back to suspend state if another EXCL_OP is running
   e113e7d0b41f btrfs: dev-replace: go back to suspended state if target device is missing
   cbf669bb140f cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader.
   cdb991cbe9ca cgroup: fix CSS_TASK_ITER_PROCS
   d9d96d8f9665 crypto: cfb - fix decryption
   c29db9d0e70c crypto: testmgr - add AES-CFB tests
   f35387186793 crypto: chcr - small packet Tx stalls the queue
   57d999759174 crypto: cavium/nitrox - fix a DMA pool free failure
   a040dc4c332a clk: sunxi-ng: Use u64 for calculation of NM rate
   25bfefc210fd clk: rockchip: fix typo in rk3188 spdif_frac parent
   78f1e2ce6bec spi: bcm2835: Avoid finishing transfer prematurely in IRQ mode
   ce8fd4553894 spi: bcm2835: Fix book-keeping of DMA termination
   2ed14d56eb9a spi: bcm2835: Fix race on DMA termination
   fdfc740438e4 ext4: fix special inode number checks in __ext4_iget()
   8912afbd5a69 ext4: check for shutdown and r/o file system in ext4_write_inode()
   0fd748f86521 ext4: force inode writes when nfsd calls commit_metadata()
   743da24c6365 ext4: avoid declaring fs inconsistent due to invalid file handles
   5636580f533c ext4: include terminating u32 in size of xattr entries when expanding inodes
   398f2e6ee30e ext4: fix EXT4_IOC_GROUP_ADD ioctl
   f22c319b9afa ext4: missing unlock/put_page() in ext4_try_to_write_inline_data()
   3c6a7b0029a9 ext4: fix possible use after free in ext4_quota_enable
   8ec2e8ccc275 ext4: add ext4_sb_bread() to disambiguate ENOMEM cases
   2253b6438f00 ocxl: Fix endiannes bug in read_afu_name()
   031013077a31 ocxl: Fix endiannes bug in ocxl_link_update_pe()
   bff7ed6c9727 perf pmu: Suppress potential format-truncation warning
   ccd3a28ebefd clocksource/drivers/arc_timer: Utilize generic sched_clock
   a08eae1dccb6 DRM: UDL: get rid of useless vblank initialization
   3b278133c061 drm/v3d: Skip debugfs dumping GCA on platforms without GCA.
   dce6965d4e91 platform-msi: Free descriptors in platform_msi_domain_free()
   26712157a7e8 KVM: nVMX: Free the VMREAD/VMWRITE bitmaps if alloc_kvm_area() fails
   f5a53ddee2a0 arm64: KVM: Make VHE Stage-2 TLB invalidation operations non-interruptible
   4224dc370109 KVM: x86: Use jmp to invoke kvm_spurious_fault() from .fixup
   43df8745c955 Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G
   de2c125b1e40 s390/pci: fix sleeping in atomic during hotplug
   c96a4e056b97 staging: wilc1000: fix missing read_write setting when reading data
   4f30183ffc00 media: dvb-usb-v2: Fix incorrect use of transfer_flags URB_FREE_BUFFER
   af84c969f481 usb: roles: Add a description for the class to Kconfig
   f6019125567c usb: r8a66597: Fix a possible concurrency use-after-free bug in r8a66597_endpoint_disable()
   dadfc9d5b5c4 USB: serial: option: add Fibocom NL678 series
   d589d1192b88 USB: serial: pl2303: add ids for Hewlett-Packard HP POS pole displays
   836492f91017 usb: dwc2: host: use hrtimer for NAK retries
   0c046d05b49c ALSA: hda/tegra: clear pending irq handlers
   03cfeaa90d58 ALSA: firewire-lib: use the same print format for 'without_header' tracepoints
   012b3d3a29f0 ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint
   852d675f1d0c ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet
   a84e166fe7f2 ALSA: fireface: fix for state to fetch PCM frames
   5e20e79d9939 ALSA: hda: add mute LED support for HP EliteBook 840 G4
   ea84faf00d17 mtd: rawnand: marvell: prevent timeouts on a loaded machine
   a941558bd40c mtd: atmel-quadspi: disallow building on ebsa110
   90a23a9a0a4b ALSA: emux: Fix potential Spectre v1 vulnerabilities
   be9ee86f4eee ALSA: pcm: Fix potential Spectre v1 vulnerability
   4c9cf57302b4 ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities
   48c20b51db1e ALSA: rme9652: Fix potential Spectre v1 vulnerability
   0e48718ccbbc IB/hfi1: Incorrect sizing of sge for PIO will OOPs
   7eff9c1500e1 net/mlx5e: RX, Fix wrong early return in receive queue poll
   4717407dfe21 mlxsw: core: Increase timeout during firmware flash process
   11acf8fbd110 qed: Fix command number mismatch between driver and the mfw
   865270a3cb40 net/mlx5e: RX, Verify MPWQE stride size is in range
   423f90f819f6 net/mlx5e: Cancel DIM work on close SQ
   63e31b4cc7a1 mscc: Configured MAC entries should be locked.
   a6988f6f3fb8 ipv6: route: Fix return value of ip6_neigh_lookup() on neigh_create() error
   20b706e8bf44 nfp: flower: ensure TCP flags can be placed in IPv6 frame
   2d7aa068e5ea net/ipv6: Fix a test against 'ipv6_find_idev()' return value
   9685169f3280 ipv6: frags: Fix bogus skb->sk in reassembled packets
   e3d4855a5aea net/mlx5e: Remove the false indication of software timestamping support
   f28566f8d6c1 tipc: check group dests after tipc_wait_for_cond()
   1e5ef82d6ba3 net/mlx5: Typo fix in del_sw_hw_rule
   afe50f0b53fc xen/netfront: tolerate frags with no data
   51125e14bcd9 VSOCK: Send reset control packet when socket is partially bound
   d99050a5b574 vhost: make sure used idx is seen before log in vhost_add_used_n()
   4ce7430e49b2 tipc: use lock_sock() in tipc_sk_reinit()
   ce57d1d97f83 tipc: fix a double kfree_skb()
   a95f3e4813ba tipc: fix a double free in tipc_enable_bearer()
   813c817626cd tipc: compare remote and local protocols in tipc_udp_enable()
   2d9a3dc2539e tipc: check tsk->group in tipc_wait_for_cond()
   c934db384fcf tcp: fix a race in inet_diag_dump_icsk()
   9c4201f36ac8 sock: Make sock->sk_stamp thread-safe
   3f95e9533d48 sctp: initialize sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event
   e01f35c50eec qmi_wwan: Add support for Fibocom NL678 series
   c4889ffd91f4 qmi_wwan: Added support for Telit LN940 series
   02df72acc8d0 qmi_wwan: Added support for Fibocom NL668 series
   7fdbc7a1e2ae ptr_ring: wrap back ->producer in __ptr_ring_swap_queue()
   5e3a73f0075c net/wan: fix a double free in x25_asy_open_tty()
   01ff438449fe net: stmmac: Fix an error code in probe()
   570725e3eb49 net/smc: fix TCP fallback socket release
   b093b2bcb009 netrom: fix locking in nr_find_socket()
   39eead897120 net: phy: Fix the issue that netif always links up after resuming
   21e87a82fa5c net: macb: restart tx after tx used bit read
   e76b3cc898a3 net/hamradio/6pack: use mod_timer() to rearm timers
   b69120829e6e isdn: fix kernel-infoleak in capi_unlocked_ioctl
   4099e52fdca2 ip: validate header length on virtual device xmit
   5cd2dc4cbf28 ipv6: tunnels: fix two use-after-free
   99b91aad172d ipv6: explicitly initialize udp6_addr in udp_sock_create6()
   dd6292ddd74d ipv4: Fix potential Spectre v1 vulnerability
   5476a3d1c7aa ip6mr: Fix potential Spectre v1 vulnerability
   98b15b0c0f6d ieee802154: lowpan_header_create check must check daddr
   d6025c2f233b ibmveth: fix DMA unmap error in ibmveth_xmit_start error path
   6e2e801ef5e9 gro_cell: add napi_disable in gro_cells_destroy
   d347cc2d0383 ax25: fix a use-after-free in ax25_fillin_cb()
   3ea51578ff5f drm/ioctl: Fix Spectre v1 vulnerabilities
   42ef003d4562 proc/sysctl: don't return ENOMEM on lookup when a table is unregistering
   3a4e7b8d4815 Input: elantech - disable elan-i2c for P52 and P72
   29eb38509a18 mm: don't miss the last page because of round-off error
   0dd101b35dc8 mm, page_alloc: fix has_unmovable_pages for HugePages
   fa9b81a99860 mm: thp: fix flags for pmd migration when split
   2161b228a28e mm, memory_hotplug: initialize struct pages for the full memory section
   567b54213293 iwlwifi: add new cards for 9560, 9462, 9461 and killer series
   a3a2be9932c4 rtlwifi: Fix leak of skb when processing C2H_BT_INFO
   08372e4a8a12 xfrm_user: fix freeing of xfrm states on acquire
   069467d9f4a9 mm: introduce mm_[p4d|pud|pmd]_folded
   eefeffc11188 mm: make the __PAGETABLE_PxD_FOLDED defines non-empty
   a31fff8051df mm: add mm_pxd_folded checks to pgtable_bytes accounting functions
   d50fbd2cbce5 panic: avoid deadlocks in re-entrant console drivers
   06251134c592 x86/mtrr: Don't copy uninitialized gentry fields back to userspace
   bb898527a1c7 futex: Cure exit race
   0bbaf6c392f0 Drivers: hv: vmbus: Return -EINVAL for the sys files for unopened channels
   303b25349d17 KVM: Fix UAF in nested posted interrupt processing
   1d53c9694d61 kvm: x86: Add AMD's EX_CFG to the list of ignored MSRs
   2b3f1bd62f4a KVM: X86: Fix NULL deref in vcpu_scan_ioapic
   7a773622fc03 posix-timers: Fix division by zero bug
   f14b8859148c gpio: max7301: fix driver for use with CONFIG_VMAP_STACK
   477761b67ccd mmc: omap_hsmmc: fix DMA API warning
   a681b2da2c88 mmc: core: Use a minimum 1600ms timeout when enabling CACHE ctrl
   89f2351adfac mmc: core: Allow BKOPS and CACHE ctrl even if no HPI support
   ddf77476eb50 mmc: core: Reset HPI enabled state during re-init and in case of errors
   a49c12bd3427 scsi: sd: use mempool for discard special page
   80f7b4857185 ubifs: Handle re-linking of inodes correctly while recovery
   a3fa57176fc3 USB: serial: option: add Telit LN940 series
   4079ef6f75e0 USB: serial: option: add Fibocom NL668 series
   dced7dfb270b USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
   dce4d3b1443f USB: serial: option: add HP lt4132
   551e6023cc86 USB: serial: option: add GosunCn ZTE WeLink ME3630
   66ae0bdde44c USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data
   740745a91e92 Revert "vfs: Allow userns root to call mknod on owned filesystems."
   2c5ca276d2ae nvme: validate controller state before rescheduling keep alive
   fbdd7e1e387f i2c: uniphier-f: fix violation of tLOW requirement for Fast-mode
   bc2fbb452ec1 i2c: uniphier: fix violation of tLOW requirement for Fast-mode
   4a3280619c2a i2c: scmi: Fix probe error on devices with an empty SMB0001 ACPI device node
   5e6e49d9a2dc i2c: axxia: properly handle master timeout
   8546aaab43e0 mlxsw: spectrum_switchdev: Fix VLAN device deletion via ioctl
   abcaa45cfc72 vhost/vsock: fix reset orphans race with close timeout
   8365792328f0 cifs: In Kconfig CONFIG_CIFS_POSIX needs depends on legacy (insecure cifs)
   935b7a30671d drm/ast: Fix connector leak during driver unload
   91ee67721601 tools/testing/nvdimm: Align test resources to 128M
   150d613009a7 drm/amdgpu/vcn: Update vcn.cur_state during suspend
   c999e264b2e8 ethernet: fman: fix wrong of_node_put() in probe function
   2040e90bd48a ARM: 8816/1: dma-mapping: fix potential uninitialized return
   8b1e20a3df5d ARM: 8815/1: V7M: align v7m_dma_inv_range() with v7 counterpart
   c277c0e1b0e7 ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling
   52f34d6d10d4 bpf: check pending signals while verifying programs
   cd17f2d553dc net/mlx4_en: Fix build break when CONFIG_INET is off
   536fca86ba87 mv88e6060: disable hardware level MAC learning
   2d9e565170d7 macvlan: return correct error value
   349c7c7a5880 libata: whitelist all SAMSUNG MZ7KM* solid-state disks
   ee58548c5cd2 Input: omap-keypad - fix keyboard debounce configuration
   47155a7f238a Input: synaptics - enable SMBus for HP 15-ay000
   31b7a055ad25 clk: mmp: Off by one in mmp_clk_add()
   83a71b688529 clk: mvebu: Off by one bugs in cp110_of_clk_get()
   90bcde56db66 drm/amd/powerplay: issue pre-display settings for display change event
   c7d3364fa445 drm/msm: Fix error return checking
   f5e8e639af30 drm/msm/hdmi: Enable HPD after HDMI IRQ is set up
   51c8414a3df7 ide: pmac: add of_node_put()
   1b75425347bf drivers/tty: add missing of_node_put()
   12cdbd02480c drivers/sbus/char: add of_node_put()
   c937d742441c sbus: char: add of_node_put()
   ec06c2365739 SUNRPC: Fix a potential race in xprt_connect()
   9e370ae200de nfs: don't dirty kernel pages read by direct-io
   4e52a4ee3fd4 liquidio: read sc->iq_no before release sc
   d65e4426decd bpf: Fix verifier log string check for bad alignment.
   f75ea663b145 bonding: fix 802.3ad state sent to partner when unbinding slave
   bac2acf174bb net: stmmac: Move debugfs init/exit to ->probe()/->remove()
   3fb715bbd6c1 ARC: io.h: Implement reads{x}()/writes{x}()
   1af56dd937b0 drm/amdgpu: wait for IB test on first device open
   ff3fec41655d drm/msm: Grab a vblank reference when waiting for commit_done
   2f71ee62933d drm/msm/dsi: configure VCO rate for 10nm PLL driver
   e66c684213a9 drm/msm: fix handling of cmdstream offset
   840811d0633f x86/earlyprintk/efi: Fix infinite loop on some screen widths
   66d3d30021bb drm/amd/display: Fix 6x4K displays light-up on Vega20 (v2)
   9bd27a8b616e net: ethernet: ave: Replace NET_IP_ALIGN with AVE_FRAME_HEADROOM
   82de9c06a97b tools/bpf: add addition type tests to test_btf
   277da06f81cd tools/bpf: fix two test_btf unit test cases
   2329fbe32f13 scsi: vmw_pscsi: Rearrange code to avoid multiple calls to free_irq during unload
   475aa44e2e0f scsi: libiscsi: Fix NULL pointer dereference in iscsi_eh_session_reset
   9e957fbd1a9a i2c: rcar: check bus state before reinitializing
   d8245e2588f7 Input: hyper-v - fix wakeup from suspend-to-idle
   02fb6a1529b1 mac80211_hwsim: fix module init error paths for netlink
   14b0e82132c7 IB/hfi1: Remove race conditions in user_sdma send path
   5623e2407bb8 locking/qspinlock, x86: Provide liveness guarantee
   8e02266863b2 locking/qspinlock: Re-order code
   70c590120035 Linux 4.18.23
   9cf5402745e6 dm zoned: Fix target BIO completion handling
   2fa0d692ad6f dm zoned: target: use refcount_t for dm zoned reference counters
   61bfc80fbe52 drm/amdgpu: update SMC firmware image for polaris10 variants
   df1c1bcf1c4e drm/amdgpu: update smu firmware images for VI variants (v2)
   db1207f9310d drm/amdgpu: add some additional vega10 pci ids
   5724922ae4d7 drm/amdkfd: add new vega10 pci ids
   d525e2cdf832 drm/amdgpu/powerplay: Apply avfs cks-off voltages on VI
   53835137f8e7 drm/i915/execlists: Apply a full mb before execution for Braswell
   5f99e72756cd drm/nouveau/kms: Fix memory leak in nv50_mstm_del()
   2c94183dbe89 powerpc: Look for "stdout-path" when setting up legacy consoles
   fb4f2f865a85 powerpc/msi: Fix NULL pointer access in teardown code
   056fb552b47f media: vb2: don't call __vb2_queue_cancel if vb2_start_streaming failed
   2729394ef4d3 tracing: Fix memory leak of instance function hash filters
   3ccaf85e64f0 tracing: Fix memory leak in set_trigger_filter()
   8d2b0c01ecb9 tracing: Fix memory leak in create_filter()
   b5a75238a5ea dm: call blk_queue_split() to impose device limits on bios
   a234ec33c6a3 dm cache metadata: verify cache has blocks in blocks_are_clean_separate_dirty()
   d4921c64ab6f dm thin: send event about thin-pool state change _after_ making it
   696142d867f8 ARM: dts: bcm2837: Fix polarity of wifi reset GPIOs
   a854f226870b ARM: mmp/mmp2: fix cpu_is_mmp2() on mmp2-dt
   2fd965e41eeb fuse: continue to send FUSE_RELEASEDIR when FUSE_OPEN returns ENOSYS
   eeb7db93fdc4 mmc: sdhci: fix the timeout check window for clock and reset
   ded687bfc9fc mmc: sdhci-omap: Fix DCRC error handling during tuning
   c40d26e2aebb mmc: core: use mrq->sbc when sending CMD23 for RPMB
   e7e84222759e MMC: OMAP: fix broken MMC on OMAP15XX/OMAP5910/OMAP310
   2ceb08b99848 ovl: fix decode of dir file handle with multi lower layers
   77d91ee8c4a3 arm64: dma-mapping: Fix FORCE_CONTIGUOUS buffer clearing
   ff0ded5c2c54 aio: fix spectre gadget in lookup_ioctx
   011f3bf616f1 pinctrl: sunxi: a83t: Fix IRQ offset typo for PH11
   419b946bd2f3 staging: olpc_dcon: add a missing dependency
   7d8acff1f129 scsi: raid_attrs: fix unused variable warning
   fb9e55d63efa bpf: fix off-by-one error in adjust_subprog_starts
   ef2ec7729026 IB/hfi1: Fix an out-of-bounds access in get_hw_stats
   0defcee2b10f ALSA: hda/realtek - Fixed headphone issue for ALC700
   24c4139a1a7b ALSA: fireface: fix reference to wrong register for clock configuration
   67f2dd243dc6 flexfiles: enforce per-mirror stateid only for v4 DSes
   8d30703d6d56 ocfs2: fix potential use after free
   6f2718bb8624 initramfs: clean old path before creating a hardlink
   23399a09fda4 kernel/kcov.c: mark funcs in __sanitizer_cov_trace_pc() as notrace
   d8979491c9fc proc: fixup map_files test on arm
   ad71ec08f8b1 debugobjects: avoid recursive calls with kmemleak
   8a5ae5ba9bd9 hfsplus: do not free node before using
   1b4d458615cf hfs: do not free node before using
   7bc2546c9a43 mm/page_alloc.c: fix calculation of pgdat->nr_zones
   21bf0b91ba0b ocfs2: fix deadlock caused by ocfs2_defrag_extent()
   a907830b4425 ACPI/IORT: Fix iort_get_platform_device_domain() uninitialized pointer value
   f4bebbf5c1da nvme-rdma: fix double freeing of async event data
   4a26fd2794ef nvme: flush namespace scanning work just before removing namespaces
   5cbbefd895b8 fscache, cachefiles: remove redundant variable 'cache'
   aac96283f143 cachefiles: Explicitly cast enumerated type in put_object
   214b0f7241f4 fscache: fix race between enablement and dropping of object
   2352fd0ff37c afs: Fix validation/callback interaction
   874cc883482c pstore/ram: Correctly calculate usable PRZ bytes
   f7dd088587d8 pvcalls-front: fixes incorrect error handling
   23f5fbe66464 Revert "xen/balloon: Mark unallocated host memory as UNUSABLE"
   60382e03a73f xen: xlate_mmu: add missing header to fix 'W=1' warning
   ee24ad3eedc5 drm/ast: fixed reading monitor EDID not stable issue
   2af2d7794f32 drm/amdgpu: Add delay after enable RLC ucode
   6ca52fbbee20 net: hisilicon: remove unexpected free_netdev
   7501d55624c2 ixgbe: recognize 1000BaseLX SFP modules as 1Gbps
   5a5d699051f2 igb: fix uninitialized variables
   9e42380eab9a cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active
   4701317cee0f fscache: Fix race in fscache_op_complete() due to split atomic_sub & read
   7395908ac92d cachefiles: Fix an assertion failure when trying to update a failed object
   689b67edb5f0 ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock
   4b61635fc96f netfilter: nf_tables: deactivate expressions in rule replecement routine
   ae9b39bd26ab usb: gadget: u_ether: fix unsafe list iteration
   866e243e89c4 net: thunderx: fix NULL pointer dereference in nic_remove
   914fa3100245 x86/kvm/vmx: fix old-style function declaration
   4da0cd45e88a KVM: x86: fix empty-body warnings
   7c1ff883a73e netfilter: nat: fix double register in masquerade modules
   6741803da10e netfilter: add missing error handling code for register functions
   f018d5eae708 IB/mlx5: Fix page fault handling for MW
   03f7f8880455 netfilter: ipv6: Preserve link scope traffic original oif
   c465b31ab032 drm/meson: add support for 1080p25 mode
   bb9e268e9d7e USB: omap_udc: fix rejection of out transfers when DMA is used
   8d5bbff94d07 USB: omap_udc: fix USB gadget functionality on Palm Tungsten E
   09ec687795df USB: omap_udc: fix omap_udc_start() on 15xx machines
   88d2c380cc95 USB: omap_udc: fix crashes on probe error and module removal
   1b288004247d USB: omap_udc: use devm_request_irq()
   7872b15dde9d ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf
   c78d20b2a104 bpf: fix check of allowed specifiers in bpf_trace_printk
   cd5689673b74 RDMA/hns: Bugfix pbl configuration for rereg mr
   01b473861aa5 exportfs: do not read dentry after free
   9a215042b425 ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE
   e646abb7b69a ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE
   c45caaef2252 ASoC: omap-mcbsp: Fix latency value calculation for pm_qos
   b9daf5f65c75 RDMA/rdmavt: Fix rvt_create_ah function signature
   77861b6c5671 RDMA/bnxt_re: Avoid accessing the device structure after it is freed
   eb1f01e4226a RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR
   0d27ad481081 Btrfs: send, fix infinite loop due to directory rename dependencies
   4af31d016230 ARM: dts: at91: sama5d2: use the divided clock for SMC
   d2b8c6a8a1b8 phy: qcom-qusb2: Fix HSTX_TRIM tuning with fused value for SDM845
   ca9eb79073a8 phy: qcom-qusb2: Use HSTX_TRIM fused value as is
   aaab6336eb9c objtool: Fix segfault in .cold detection with -ffunction-sections
   ef2f6bee2159 objtool: Fix double-free in .cold detection error path
   e432cceeb8bd ASoC: acpi: fix: continue searching when machine is ignored
   bba8179fae04 PCI: imx6: Fix link training status detection in link up check
   5362dba7b696 perf tools: Restore proper cwd on return from mnt namespace
   d8c06c8c36b9 hwmon: (w83795) temp4_type has writable permission
   885bf92930f8 netfilter: xt_hashlimit: fix a possible memory leak in htable_create()
   8ae7dfd71f06 aio: fix failure to put the file pointer
   46b5558d5a1a spi: omap2-mcspi: Add missing suspend and resume calls
   5ec9552fc58b ASoC: dapm: Recalculate audio map forcely when card instantiated
   77b10c913a16 ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing
   8c6f04133b20 hwmon: (ina2xx) Fix current value calculation
   c18d4263d24a s390/cpum_cf: Reject request for sampling in event initialization
   6b064b5de14f ASoC: wm_adsp: Fix dma-unsafe read of scratch registers
   60e1eccd5fb5 hwmon (ina2xx) Fix NULL id pointer in probe()
   f4b4f286496e s390/cio: Fix cleanup when unsupported IDA format is used
   ded23ec5857c s390/cio: Fix cleanup of pfn_array alloc failure
   4a0d7435b9c2 netfilter: nf_tables: fix use-after-free when deleting compat expressions
   9ce994a65de6 netfilter: xt_RATEEST: remove netns exit routine
   0f94c96587ab perf tools: Fix crash on synthesizing the unit
   255e04f5a250 selftests: add script to stress-test nft packet path vs. control plane
   0a7e0d53afd2 netfilter: nf_tables: don't skip inactive chains during update
   84dae51b3b3b sysv: return 'err' instead of 0 in __sysv_write_inode
   cfd7d86743d4 ASoC: sun8i-codec: fix crash on module removal
   fceaf70e406d tools: bpftool: prevent infinite loop in get_fdinfo()
   dc752d44748a ARM: OMAP1: ams-delta: Fix possible use of uninitialized field
   fa0914f171b6 ARM: dts: logicpd-somlv: Fix interrupt on mmc3_dat1
   5d2ea9832d2e ARM: dts: LogicPD Torpedo: Fix mmc3_dat1 interrupt
   7831d2076244 ARM: dts: am3517: Fix pinmuxing for CD on MMC1
   7d8ee81c2c7e staging: rtl8723bs: Fix the return value in case of error in 'rtw_wx_read32()'
   604f01123bc4 ASoC: qdsp6: q6afe: Fix wrong MI2S SD line mask
   ce35cd5ee1e3 ASoC: rsnd: fixup clock start checker
   3ea13a21d07a ARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup
   8d42df355212 sctp: update frag_point when stream_interleave is set
   fafdf91a4940 net: phy: sfp: correct store of detected link modes
   524ad2fabf9b virtio-net: keep vnet header zeroed after processing XDP
   b3de25aafea1 tun: forbid iface creation with rtnl ops
   b9e84444a172 tcp: fix NULL ref in tail loss probe
   bfe7b2583c29 sctp: kfree_rcu asoc
   763df95b2195 rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices
   13a1ce2ad74f Revert "net/ibm/emac: wrong bit is used for STA control"
   e21d76868b2c net: phy: don't allow __set_phy_supported to add unsupported modes
   ec6cff67dc81 net/mlx4_en: Change min MTU size to ETH_MIN_MTU
   4edc05c73545 net/mlx4_core: Correctly set PFC param if global pause is turned off.
   4c10e8930e85 net: 8139cp: fix a BUG triggered by changing mtu with network traffic
   751c494d491a ipv6: sr: properly initialize flowi6 prior passing to ip6_route_output
   f9c324ce9f08 neighbour: Avoid writing before skb->head in neigh_hh_output()
   612931cc02b5 ipv6: Check available headroom in ip6_xmit() even without options
   552cf47e54a1 ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes
   7ec7433c5890 HID: quirks: fix RetroUSB.com devices
   455549628a0b mac80211: ignore NullFunc frames in the duplicate detection
   0c7da0aa7b1c mac80211: fix reordering of buffered broadcast packets
   ba2caf535dc3 mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext
   2545ea1dcdcb mac80211: Clear beacon_int in ieee80211_do_stop
   39ca1b1a5f04 mac80211: fix GFP_KERNEL under tasklet context
   babb30868c1c mac80211_hwsim: Timer should be initialized before device registered
   1f1afa100306 cfg80211: Fix busy loop regression in ieee80211_ie_split_ric()
   3ca6ef9feafa libnvdimm, pfn: Pad pfn namespaces relative to other regions
   60b82363d437 kgdboc: fix KASAN global-out-of-bounds bug in param_set_kgdboc_var()
   3d7dc255fe92 tty: do not set TTY_IO_ERROR flag if console port
   adf103eac922 tty: serial: 8250_mtk: always resume the device in probe.
   9df22addf43b Drivers: hv: vmbus: Offload the handling of channels to two workqueues
   93fd54970c3c kprobes/x86: Fix instruction patching corruption when copying more than one RIP-relative instruction
   5af246208420 drm/i915: Downgrade Gen9 Plane WM latency error
   e8c4ec7a8cb5 drm/amdgpu/gmc8: always load MC firmware in the driver
   b8b88b63975b drm/amdgpu/gmc8: update MC firmware for polaris
   d1569baf730a drm/msm: Move fence put to where failure occurs
   1c2a37eae264 drm/lease: Send a distinct uevent
   f558434b38cc drm/amdgpu: update mc firmware image for polaris12 variants
   50152de6de4f crypto: do not free algorithm before using
   4352e6c016ec Revert commit ef9209b642f "staging: rtl8723bs: Fix indenting errors and an off-by-one mistake in core/rtw_mlme_ext.c"
   4e9e20b3082c staging: rtl8712: Fix possible buffer overrun
   05ae28903d5c cifs: Fix separator when building path from dentry
   f0fd776c02c4 Revert "x86/e820: put !E820_TYPE_RAM regions into memblock.reserved"
   7b1469c3f003 xhci: Prevent U1/U2 link pm states if exit latency is too long
   ac4556802707 USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd
   dc04aae7f67c xhci: workaround CSS timeout on AMD SNPS 3.0 xHC
   d7bad132104f ARM: 8806/1: kprobes: Fix false positive with FORTIFY_SOURCE
   f192f717a29d dmaengine: cppi41: delete channel from pending list when stop channel
   9901c1492367 dmaengine: dw: Fix FIFO size for Intel Merrifield
   e62d2249c68e SUNRPC: Fix leak of krb5p encode pages
   a2a5e2fde8c3 vhost/vsock: fix use-after-free in network stack callers
   ed5a4844a3bd virtio/s390: fix race in ccw_io_helper()
   e956edc8a6c8 virtio/s390: avoid race on vcdev->config
   666ba2ee65fa parisc: Enable -ffunction-sections for modules on 32-bit kernel
   61502a480493 Revert "mfd: cros_ec: Use devm_kzalloc for private data"
   ccb717e43ac1 media: gspca: fix frame overflow error
   bce19403ad9e ALSA: hda/realtek - Fix speaker output regression on Thinkpad T570
   f24c98d59963 ALSA: pcm: Call snd_pcm_unlink() conditionally at closing
   f4be72e0bf8c ALSA: pcm: Fix starvation on down_write_nonblock()
   c93f1f31d1bd ALSA: hda: Add support for AMD Stoney Ridge
   01da3695a290 ALSA: usb-audio: Fix UAF decrement if card has no live interfaces in card.c
   74a5ec298bee ALSA: usb-audio: Add SMSL D1 to quirks for native DSD support
   026947331690 USB: serial: console: fix reported terminal settings
   673238324c4e USB: check usb_get_extra_descriptor for proper size
   3889e33bb1d0 usb: appledisplay: Add 27" Apple Cinema Display
   7a84b5a362e2 usb: quirk: add no-LPM quirk on SanDisk Ultra Flair device
   ca857e5103dd net: amd: add missing of_node_put()
   0da2f98fc745 team: no need to do team_notify_peers or team_mcast_rejoin when disabling port
   e9a722de9249 ibmvnic: Update driver queues after change in ring size support
   3f4134c1db37 ibmvnic: Fix RX queue buffer cleanup
   15604a70011d flexfiles: use per-mirror specified stateid for IO
   8c88fb37b2c9 iommu/vt-d: Use memunmap to free memremap
   7bdd56b674cd net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts
   d30aa84cf6de riscv: fix warning in arch/riscv/include/asm/module.h
   2b492d33ce39 net/ibmvnic: Fix RTNL deadlock during device reset
   5aa8e66efe3c net/ibmnvic: Fix deadlock problem in reset
   d15648cc57d6 qed: Fix QM getters to always return a valid pq
   3f44a9e68949 qed: Fix bitmap_weight() check
   121e97d57b63 NFSv4: Fix a NFSv4 state manager deadlock
   176e0f131cbc mtd: spi-nor: Fix Cadence QSPI page fault kernel panic
   a51b12e14de8 HID: multitouch: Add pointstick support for Cirque Touchpad
   61f7e06c559d Revert "HID: uhid: use strlcpy() instead of strncpy()"
   8b26c115fdab cpufreq: ti-cpufreq: Only register platform_device when supported
   bd3ddbff7a21 mtd: rawnand: qcom: Namespace prefix some commands
   8a70c6977ac9 tc-testing: tdc.py: Guard against lack of returncode in executed command
   ab8885c434bc tc-testing: tdc.py: ignore errors when decoding stdout/stderr
   625510a08d3c gpio: mockup: fix indicated direction
   6abc9f8ddae4 gpio: pxa: fix legacy non pinctrl aware builds again
   5e228fca94b5 net/mlx4: Fix UBSAN warning of signed integer overflow
   47a0a222daa6 net/mlx4_core: Fix uninitialized variable compilation warning
   5b53369dbb76 net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command
   596f8d294724 drm/amd/display: Support amdgpu "max bpc" connector property (v2)
   31436df3a605 drm/amdgpu: Add amdgpu "max bpc" connector property (v2)
   021a2a365e35 nvme-fc: resolve io failures during connect
   9dc330320b96 Revert "usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers"
   dbd1e112f822 usb: dwc2: pci: Fix an error code in probe
   88aeb64586df qed: Fix reading wrong value in loop condition
   d7cdbdfa0446 qed: Fix PTT leak in qed_drain()
   b678bf52f8a5 bnx2x: Assign unique DMAE channel number for FW DMAE transactions.
   a88bcdc2f534 amd/iommu: Fix Guest Virtual APIC Log Tail Address Register
   5f3352a721d7 batman-adv: Expand merged fragment buffer for full packet
   77bfec5b5de0 batman-adv: Use explicit tvlv padding for ELP packets
   a934bcb21cd2 HID: input: Ignore battery reported by Symbol DS4308
   e711cc95c600 test_firmware: fix error return getting clobbered
   baa8bdeb4c77 can: rcar_can: Fix erroneous registration
   ae6ed5e2d24a iommu/ipmmu-vmsa: Fix crash on early domain free
   894857cf8a55 mt76: fix building without CONFIG_LEDS_CLASS
   ae5157c74bb4 iommu/vt-d: Fix NULL pointer dereference in prq_event_thread()
   b882f3a05330 media: ipu3-cio2: Unregister device nodes first, then release resources
   d7fe182705df media: omap3isp: Unregister media device as first
   ee69fa8a8dd0 media: cec: check for non-OK/NACK conditions while claiming a LA

(From OE-Core rev: f9afa2bb7fe78a0f2223ce32f908c22f2194adfe)

(From OE-Core rev: 7800f42e94fefb1644664384f569af0df87cc721)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Manjukumar Matha
55626f0c90 kernel.bbclass: Fix incorrect deploying of fitimage.initramfs
When kernel-fitimage and initramfs is enabled using
INITRAMFS_IMAGE_BUNDLE = "1", kernel do_deploy tries to deploy
fitImage.initramfs with following error

| install: cannot stat 'arch/arm64/boot/fitImage.initramfs': No such
file or directory

Skip deploying fitimage.initramfs, since fitimage does not
create fitimage.initramfs

(From OE-Core rev: 0f87f8522a2c1b5a7042738887952b98060fbd9d)

(From OE-Core rev: e35ced70ff3d9be4a94773df4f4558c677dcd9af)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Richard Purdie
6731390a1a oeqa/utils/buildproject: Only clean files if we've done something
We should only be wiping out things on target if the tests have
actually run.

(From OE-Core rev: d38c3eac0a5a1a9b0eb98385832e92f48145655e)

(From OE-Core rev: 34efb674999781448411a04f876d6b3423ebe26c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Robert Yang
22243e44c1 oeqa/selftest/runqemu: Enable kvm when QEMU_USE_KVM is set
(From OE-Core rev: 564de3681353fe8e203425388e8be9703a89d2da)

(From OE-Core rev: ffea871575d0e80f73daf6b36c90798ce5e055e6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Robert Yang
5af780686d oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM
Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more.

(From OE-Core rev: 37e5035a2ba27595eeef22062580a5b04a73ba15)

(From OE-Core rev: 63f0ce0e084d2d24daeacf226d9c432e4a53fd21)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Yeoh Ee Peng
5e3b9adf28 oeqa/qemu & runtime: qemu do not need ip input from external
Qemu do not use the ip input from external. It will
retrieve ip from QemuRunner instance and assign
ip value.

(From OE-Core rev: 14d99dc6c39c963ba3e0d9a30274846bd5369210)

(From OE-Core rev: c3d51e92f412becd3e067c637ffbdc5ad13e8894)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Richard Purdie
22ebbe5c2a oeqa/runtime/cases: Improve dependencies of kernel/gcc/build tests
Mark up these tests as needing a compiler, make and kernel source code
as appropriate, the image feature requirements can then be retired.

(From OE-Core rev: 9f64e6c25abdf494fb511e9cd401f8dcaa08be2a)

(From OE-Core rev: e65d1680d406e50313f90e659527b9aa795eeb45)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Richard Purdie
aaab0dfa83 oeqa/runtime/cases: Improve test dependency information
Add the OEHasPackage decorator to a variety of tests so they determine
automatically if they should run against a given image.

To ensure tests can do this we need to move target operations such
as scp commands into the tests and out of the class startup/teardown.

(From OE-Core rev: 60d6580b85714b8960a964e775d76a7f937f5e5a)

(From OE-Core rev: 601f87016c6772a4ec8410bccb195989bcf05b55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Khem Raj
0dd5642977 binutils: bfd doesn't handle ELF compressed data alignment
Backport patches for ld/gold from master

[YOCTO# 13136]

(From OE-Core rev: e0ed2313f22c2ca30477942fc57877b8b194428a)

(From OE-Core rev: f8298017f78f58bbe25d832dc838f1ba6becee8d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Khem Raj
798f11f079 binutils: Upgrade to latest on 2.31 release branch
* Append minor version to PV so recipe checker is happy
* Drop upstreamed patches
* Remove changelog from CVE patches, they dont apply and are in patch
  log anyway

(From OE-Core rev: 550085bc092d773c8c481e238d0d3210466166dc)

(From OE-Core rev: 27b9008618fa981d12424eecbff9bbf113b735f7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Alexey Brodkin
625ae4a70b wic: sdimage-bootpart: Use mmcblk0 drive instead of bogus mmcblk
Apparently either nobody ever used sdimage-bootpart.wks
or fstab was kept untouched due to "--no-fstab-update" usage as
some boards like IMX may have, see [1].

Otherwise addition of the following line to the target's fstab:
---------------------->8-----------------
/dev/mmcblkp1   /boot   vfat    defaults        0       0
---------------------->8-----------------

gets us unusable target:
---------------------->8-----------------
[*     ] A start job is running for dev-mmcblkp1.device (23s / 1min 30s)
[ TIME ] Timed out waiting for device dev-mmcblkp1.device.
[DEPEND] Dependency failed for /boot.
[DEPEND] Dependency failed for Local File Systems.

You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or "exit"
to boot into default mode.
Press Enter for maintenance
---------------------->8-----------------

Fix it with use of "mmcblk0" device name.

[1] https://lists.yoctoproject.org/pipermail/meta-freescale/2018-February/022156.html

(From OE-Core rev: 57a925dbd949e488980b02896106efd82bf47ed2)

(From OE-Core rev: a916a923dcd470a15d1136c818d77867e726600d)

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Cc: Maciek Borzecki <maciek.borzecki@gmail.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Robert Yang
a849af7f9f runqemu-gen-tapdevs: Allow run --help without sudo
Then we can get user's UID and GID rather than hardcode to 1000, e.g.:

- Without sudo
$ runqemu-gen-tapdevs --help
[snip]
$ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin
[snip]

- With sudo
$ sudo ../poky/scripts/runqemu-gen-tapdevs --help
[snip]
$ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin
[snip]

(From OE-Core rev: 446e7da7e56f9de3602498b5ef40e9e0f8f71837)

(From OE-Core rev: 79471a27018d2e766b349540693e6c196fa75869)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Ross Burton
5fe0d8a8d7 runqemu: clean up subprocess usage
Where possible pass lists instead of strings, don't use a subshell, and call
check*() instead of using Popen directly.

(From OE-Core rev: d2374623444752af1ad748ed36b68ea58f629bf6)

(From OE-Core rev: 4b5a4b718c027f54ef0660a731f11a9d249b4af8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:31 +00:00
Joshua Watt
676046bc36 classes/testsdk: Split implementation into classes
Splits the SDK test implementation into configurable Python classes. The
classes used for the normal and extensible SDKs are
${TESTSDK_CLASS_NAME} and ${TESTSDKEXT_CLASS_NAME} respectively.

This allows SDK machines to override the classes used to implement the
tests. For the traditional SDK, a common "run()" function is provided by
the class (oeqa.sdk.testsdk.TestSDK), with several hook member functions
that can be overridden in child classes, making it easier to have
consistent behavior. The extensible SDK class
(oeqa.sdkext.testsdk.TestSDKEXT) also has a common "run()" function, but
no hooks have yet been added as there is not currently a known use case
for create derived classes.

These changes should be purely organizational; no functional changes
have been made to either the standard SDK or extensible SDK tests.

[YOCTO #13020]

(From OE-Core rev: a06d53928b22d5f88276023c4d57b206db2f27f9)

(From OE-Core rev: d0828522fc3a4bd3f86488edcedcce10833c18dc)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Robert Yang
f54aac732b oeqa: make it work for multiple users
There are failures when multiple users run oe-selftest on the same
host:

PermissionError: [Errno 13] Permission denied: '/tmp/oe-saved-
tests/201812250324_qemu'

This is because /tmp/oe-saved-tests was created by user A, while user B tries
to write data in it, then the error will happen. This patch can fix the
problem.

Move the dumped data to ${LOG_DIR}/runtime-hostdump/ rather than
/tmp/oe-saved-tests/ to fix the problem.

(From OE-Core rev: e219fe5329599cd6c3682f521eaee3852a2c8980)

(From OE-Core rev: 310a2b137f2cb249885844fa12830365f94866f0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Aníbal Limón
87845031ae meta/classes/testimage.bbclass: Only validate IMAGE_FSTYPES when is QEMU
When use simpleremote target the flash/boot process is executed
manually, the IMAGE_FSTYPES validation is only needed when execute
testimage against qemu.

The supported_fstypes comes from oeqa.core.target.qemu module.

(From OE-Core rev: e7dc5963adbacc091fe8943119262166977623ad)

(From OE-Core rev: 5fedb011f9b2d4f6d14757a7cc9c2d8300fa0223)

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Kai Kang
7de83fe2ed testimage.bbclass: remove boot parameter systemd.log_target
Boot parameter systemd.log_target=console affects command journalctl's
output and causes oe selftest case test_systemd_boot_time fail to pass.

| Error at obtaining the boot time from journalctl
| RESULTS:
| RESULTS - systemd.SystemdJournalTests.test_systemd_boot_time - Testcase -1: SKIPPED (0.74s)

systemd.log_target=console was introduced by oe-core commit a0bb649 and
work with parameter systemd.log_level to enable systemd debug.
systemd.log_level has been removed already, so remove systemd.log_target
too to make case test_systemd_boot_time pass.

(From OE-Core rev: caa776bdcf8ea34c857f45970370bf771075f4bc)

(From OE-Core rev: 51423c3945d55ebabe38dd365d24f226155c1a97)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Erik Botö
b8ab2f0c17 testimage: Add possibility to pass parmeters to qemu
Add a variable called TEST_QEMUPARAMS in testimage.bbclass to make it
possible to pass parameters to qemu. This can be useful for e.g.
increasing the amount of RAM available during testimage runs.

(From OE-Core rev: 1a9163f5779d233c884c8fd50e0812eabab4fdf3)

(From OE-Core rev: 0469c757e4a48d8ca2e2b7b128a285cf6d50513e)

Signed-off-by: Erik Botö <erik.boto@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Yeoh Ee Peng
c4d6499723 testimage: Add support for slirp
Enable testimage to support qemu slirp. Configure "QEMU_USE_SLIRP"
& "TEST_SERVER_IP" variables to enable slirp.

[YOCTO#10713]

(From OE-Core rev: 3df9ee85ce7fe52f0893fd33aea3bf1fcc6ead0a)

(From OE-Core rev: ab4989123d8a6c2dc8e058110c495320955bf0de)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
8660ae3df6 testimage: Enable autorunning of the package manager testsuites
Now that the hangs in httpservice are fixed we can let these tests
auto skip as appropriate.

(From OE-Core rev: 42a0d70291d551578e21f590fcb85ca72a78ccb5)

(From OE-Core rev: 1da4c2e18e0897b3dc24d0d54b5d949bec39c990)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
447f02fff1 testimage: Further cleanup DEFAULT_TEST_SUITES
Now the test markup of the development tools tests is complete, this
can be further tweaked to auto run the correct tests.

(From OE-Core rev: bd4f8d12fe1f9f2643ee9e68fa2bb981134294fb)

(From OE-Core rev: 7dce3564534ee67c88feaa14304dbee7161df145)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
0f9682a0d7 testimage: Simplfy DEFAULT_TEST_SUITES logic
Now that the tests have correct markup to automatically determine which images
they can run against, clean up the default test suites logic to be simpler
and not image specific.

Some cleanup of the compiler tests still needs to be completed but this
is a good first step.

The only downside to this is more noise during testing as we now see
many skipped messages for simple images like core-image-minimal.

The auto type is being removed since it currently breaks badly due to the
socat mandatory inclusion from the meta-selftest layer which is a problem
which needs to be addressed seperately.

(From OE-Core rev: 4966bc33845752eb0aeae54b72e8ba0146a7ed52)

(From OE-Core rev: 16c9002d5b4ab091f49a7bec2527d2a21830ab0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
d3cbb5a9a4 testimage: Remove duplicate dependencies
(From OE-Core rev: 16d4368e7b85d5179374adb0a2d1ac215793e104)

(From OE-Core rev: bfd72574aa1ef035ecafef3cfde9ac5f8801b93c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
5ab73d1747 classes: Correctly markup regex strings
There are various escape characters in these stings which python warns
about so use the correct regex markup for them.

(From OE-Core rev: 252b69c9f2abe3258366c540f56b156ed63e5437)

(From OE-Core rev: 778f33d40c7e2f4174cc99d25516e5db63d6f75b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Federico Sauter
91c93503fd kernel: don't assign the build user/host
The KBUILD_BUILD_USER and KBUILD_BUILD_HOST variables were
assigned at the kernel class level, which made it impossible
to override them in the local configuration.

By setting only the default values of those variables in the
kernel class, it is now possible to override them as expected.

(From OE-Core rev: a3e8cdf9c3ba966fa4b5a21235540eb0b00fb487)

(From OE-Core rev: 694d62ece58ba996a63a7089bbeb445efe922419)

Signed-off-by: Federico Sauter <federico.sauter@ableton.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
eab307542c patch: reproducibility: Fix host umask leakage
Some patch files create entirely new files, so their permissions are subject to
the host umask. If such a file is later installed into a package with no change
in permissions, it breaks the reproducibility of the package.

This was observed on libpam, for instance: The patch file
pam-security-abstract-securetty-handling.patch creates a new file
(tty_secure.c). This file is later copied into the -dbg package with no change
in permissions.

(From OE-Core rev: 2a2bbd755b330cd63f7f6e2f2b374a3ae065b37a)

(From OE-Core rev: 9841962b5bfdaaeed31f79573f6fbd9d1d56dd17)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Ross Burton
83a235665b toolchain-scripts: run post-relocate scripts for every environment
SDKs for multilib configurations have multiple environment scripts, so
re-arrange the post-relocate hook invocation so that it runs the post-relocate
hooks after sourcing each environment script.

(From OE-Core rev: c4897001cb3eeda1f4f11197b28c09c950bdcf02)

(From OE-Core rev: 2bb4774e6d873400e8a084e554a563925cf1c9b5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Yeoh Ee Peng
1433f5b865 scripts/oe-git-archive: fix non-existent key referencing error
Without installing gitpython package, oe-git-archive will face error
below, where it was referencing key that was non-existent inside
metadata object.

Traceback (most recent call last):
  File "<poky_dir>/scripts/oe-git-archive", line 271, in <module>
    sys.exit(main())
  File "<poky_dir>/scripts/oe-git-archive", line 229, in main
    'commit_count': metadata['layers']['meta']['commit_count'],
KeyError: 'commit_count'

Fix this error by adding exception catch when referencing
non-existent key (based on inputs provided by Richard Purdie).

[YOCTO# 13082]

(From OE-Core rev: 9a3cc9b8523b78dda6c3f3f2e12798b2b907d7e5)

(From OE-Core rev: f51e59bb6d571606cf887a3f623380cc3516c5a2)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Chen Qi
f6d2003f09 package.bbclass: fix python unclosed file ResourceWarning
Fix the following warning.

  ResourceWarning: unclosed file <_io.TextIOWrapper name='/.../systemd/1_239-r0/debugsources.list' mode='a' encoding='UTF-8'>

(From OE-Core rev: 91810a57f0edd8b37c5f3f989a5aca69d9a40b37)

(From OE-Core rev: 284252d1b6d1672a5b6c042fa591f00d89613a22)

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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Michael Ho
5646749d60 sstate: add support for caching shared workdir tasks
The sstate bbclass uses workdir as a hardcoded string in path
manipulations. This means that the sstate caching mechanism does
not work for the work-shared directory which the kernel uses to
share its build configuration and source files for out of tree
kernel modules.

This commit modifies the path manipulation mechanism to use the
work-shared directory if detected in the paths when handling the
sstate cache packages.

(From OE-Core rev: 27642449f95e38598f9c83948ce109c5891e5877)

(From OE-Core rev: f57d83c72b5f53fb10bc8377862668580d331a8c)

Signed-off-by: Michael Ho <Michael.Ho@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Richard Purdie
179c5cb7fd nativesdk-*-provides-dummy: Fixes to allow correct operation with opkg
opkg needs the replaces/conflicts/provides in order for this package
to function as intended. When enabled, this code caused failures for
core-image-sato -c populate_sdk.

The reason is that nativesdk-autoconf has several perl dependencies. We
need to list more of the things which this package provides/conflicts
with in order for it to function correctly. Therefore add the missing
entries.

(From OE-Core rev: 27412b377dda47daa87bfcb3a41babe53ff8b0a3)

(From OE-Core rev: e0db1beb6db624b3b743e780c298c63a1e177cfb)

(From OE-Core rev: 30b68e820d641c837b6f60c7b6c21ea987804e8e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Robert Yang
6b6b442f3e oeqa: Fix for QEMU_USE_KVM
Fixed:
MACHINE = "qemux86"
QEMU_USE_KVM = "qemux86"
IMAGE_CLASSES += "testimage"

$ oe-selftest -r runqemu.RunqemuTests.test_boot_rootfs

[snip]
  File "/buildarea1/lyang1/poky/meta/lib/oe/types.py", line 122, in boolean
    raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value 'qemux86'

Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more, kvm
will be enabled if target_arch == build_arch or both of them are x86 archs.

(From OE-Core rev: 7c1a8a624cad8d967635c6cb5f99cf655bde3d44)

(From OE-Core rev: 2c12e1d9c262fb7e5fe02ae2d092789d6536413f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Khem Raj
e82e4d2cb0 binutils: Fix build with clang
(From OE-Core rev: 208dadb8f1864aca88c69766f3bfb37a2ef4953c)

(From OE-Core rev: 86a4ecad734087cff7d5c1d6109f6256b8e2b75b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Changqing Li
4655904dbd libsndfile1: Security fix CVE-2017-17456/17457 CVE-2018-19661/19662
fix 4 CVEs, which is backport from
585cc28a93

(From OE-Core rev: 8f4af329df5373db8910726a6b954652623003dd)

(From OE-Core rev: 1f3577fb6bacb09d2826c879a38d3d7d329cc39a)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Robert Yang
938ada24fb oeqa/utils/qemurunner: set timeout to 60s for run_serial
The 5s timeout for non-kvm is too short, especially when the load is high,
which leads to unexpected errors, so set timeout to 60s by default.

(From OE-Core rev: 8197d0f638a760fc03062c7a9009117d083d7ead)

(From OE-Core rev: 70e942e77493cb5851a78c5592b4e13de860d931)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Alexander Kanavin
a384248938 boost: update to 1.69.0
Drop upstreamed reproducibility-add-file-directive-to-assembler.patch

Drop signals library as upstream has removed it:
https://www.boost.org/users/history/version_1_69_0.html

(From OE-Core rev: 894d2867275e72caac9181ea3b859d7595268f7f)

(From OE-Core rev: 4f14eacc4806d9b824045b5b782746c5954dbe2d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Alexander Kanavin
cdd02aaf5b lighttpd: update to 1.4.51
(From OE-Core rev: 7e95eca23f06bfeb7b780958a46ec01feb58f20b)

(From OE-Core rev: 4a7945cfe3280a039a57d6b8f47742d6bad6ae21)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Armin Kuster
2532f2bbd2 tzdata/tzcode-native: update to 2018i
2018i:

  Briefly:
    São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.

  Changes to future timestamps

    Due to a change in government, São Tomé and Príncipe switches back
    from +01 to +00 on 2019-01-01 at 02:00.  (Thanks to Vadim
    Nasardinov and Michael Deckers.)

2018h:
Briefly:
    Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
    New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
    Metlakatla, Alaska observes PST this winter only.
    Guess Morocco will continue to adjust clocks around Ramadan.
    Add predictions for Iran from 2038 through 2090.

  Changes to future timestamps

    Guess that Morocco will continue to fall back just before and
    spring forward just after Ramadan, the practice since 2012.
    (Thanks to Maamar Abdelkader.)  This means Morocco will observe
    negative DST during Ramadan in main and vanguard formats, and in
    rearguard format it stays in the +00 timezone and observes
    ordinary DST in all months other than Ramadan.  As before, extend
    this guesswork to the year 2037.  As a consequence, Morocco is
    scheduled to observe three DST transitions in some Gregorian years
    (e.g., 2033) due to the mismatch between the Gregorian and Islamic
    calendars.

    The table of exact transitions for Iranian DST has been extended.
    It formerly cut off before the year 2038 in a nod to 32-bit time_t.
    It now cuts off before 2091 as there is doubt about how the Persian
    calendar will treat 2091.  This change predicts DST transitions in
    2038-9, 2042-3, and 2046-7 to occur one day later than previously
    predicted.  As before, post-cutoff transitions are approximated.

  Changes to past and future timestamps

    Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
    +05 on 2018-12-21.  This is a zone split as Qostanay (aka
    Kostanay) did not switch, so create a zone Asia/Qostanay.

    Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
    It did not change clocks that day and remains on -08 this winter.
    (Thanks to Ryan Stanley.)  It will revert to the usual Alaska
    rules next spring, so this change affects only timestamps
    from 2018-11-04 through 2019-03-10.

  Change to past timestamps

    Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
    not 00:00.  I transcribed the time incorrectly from Shanks.
    (Thanks to Phake Nick.)

    Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
    (Thanks to Phake Nick.)

    Guam observed DST irregularly from 1959 through 1977.
    (Thanks to Phake Nick.)

    Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
    10-01 changed standard time to +08:30 (not +08).  Its transition
    back to +08 after WWII was on 1945-09-15, not the previous day.
    Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
    (Thanks to Phake Nick, Steve Allen, and Joseph Myers.)  Also,
    its 1952 fallback was on 11-02 (not 10-25).

    This release contains many changes to timestamps before 1946 due
    to Japanese possession or occupation of Pacific/Chuuk,
    Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
    Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
    (Thanks to Phake Nick.)

    Assume that the Spanish East Indies was like the Philippines and
    observed American time until the end of 1844.  This affects
    Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.

  Changes to past tm_isdst flags

    For the recent Morocco change, the tm_isdst flag should be 1 from
    2018-10-27 00:00 to 2018-10-28 03:00.  (Thanks to Michael Deckers.)
    Give a URL to the official decree.  (Thanks to Matt Johnson.)

(From OE-Core rev: 100d0d0f24cabedd1a89b69ac8ffb05d85663761)

(From OE-Core rev: a44c7ba8b98c40cf0ba838d5ddef136fd0ba6fc4)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Khem Raj
8ae70ff876 gnupg: Upgrade to 2.2.12 release
(From OE-Core rev: af3e1bbcc615adfc1f915448afe9c794ad938522)

(From OE-Core rev: e3ef28a7a131f89b9718ef7039d85ef481c7b1de)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Khem Raj
9c0e458e7b grub2: Fix passing null to printf formats
Backport a patch that helps with this error which is found
by gcc9

(From OE-Core rev: 93419fb569b827056a422614d3dc29cd41b2b6bb)

(From OE-Core rev: 47731b43e6d287b3b03347ae94b99dea515d9a56)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Robert Yang
fc6d6411aa oeqa/utils/qemurunner: Print output when failed to login
This is useful for debugging.

(From OE-Core rev: da527d73f5eeae0f29b5f99aab757491d3f87ec7)

(From OE-Core rev: b09f261867fbdf206afc1059fc5a84a52d49a97a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
da340150ed i2c-tools: upgrade 4.0 -> 4.1
* For changes, see:
https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/log/?qt=range&q=v4.0...v4.1

* Remove upstreamed patches

(From OE-Core rev: 085530e8fff016d7cadcae4a769a82cddf9e6695)

(From OE-Core rev: 93c76fe812613cfe6bc7296e770c070112e3f244)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
61ec1b660b common-licenses: update Libpng license text
The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license. The legacy libpng
license license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.

See for details:

https://sourceforge.net/projects/libpng/files/libpng16/1.6.36/

(From OE-Core rev: 673c2dcf1045f7264570f81e2880d7a03befd2af)

(From OE-Core rev: be1429b671973a18305b502ef2104c73a9a6dce2)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
1d9af23531 libpng: upgrade 1.6.35 -> 1.6.36
For changes, see:

https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES

License-Update: Added authors to license, formatting, version changes,
export classification clarification and a new libpng2 license with
clarification:

The new libpng license comprises the terms and conditions from the zlib
license, and the disclaimer from the Boost license. The legacy libpng
license license, used until libpng-1.6.35, is appended to the
new license, following the precedent established in the Python Software
Foundation License version 2.

(From OE-Core rev: 099aecfaa3baf6b24c2b751da92d7d2fa0266bf9)

(From OE-Core rev: 7c6e9f5447ff95755105088a3566989be4684250)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
e1ade036e8 libatomic-ops: upgrade 7.6.6 -> 7.6.8
For changes, see:

https://github.com/ivmai/libatomic_ops/compare/v7.6.6...v7.6.8

Also switch to using tarball release instead.

(From OE-Core rev: a33170ff9a7abc5689e266e093069fd716c62622)

(From OE-Core rev: 88581ac9f694e950bdbe6f26eb164b23d3b5530c)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
b830af1159 gsettings-desktop-schemas: upgrade 3.28.0 -> 3.28.1
Changes from release notes:

- Set default background image for screen lock to an existing one
- Translation updates

(From OE-Core rev: 6a10ff0bcd6e00660a419ca535239af55e30d5aa)

(From OE-Core rev: a316146ff7517f8952d19bffc97336e74d70a177)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Anuj Mittal
c1f3c2cd2e eudev: upgrade 3.2.5 -> 3.2.7
For changes, see:

https://github.com/gentoo/eudev/compare/v3.2.5...v3.2.7

(From OE-Core rev: dd2c4d9d85e70abacfa70fbe9281f393452875ea)

(From OE-Core rev: d8bf7e578bee8ece424ac1b2a3108734f115d737)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
8163c7cbde icecc: patchelf is needed by icecc-create-env
Although we could potentially build patchelf and all its dependencies,
they would all have to be blacklisted to avoid trying to build them with
icecc. We use the host patchelf instead.

(From OE-Core rev: 0860216a81092fba084d29696db6d0c65a226c85)

(From OE-Core rev: 9d3587dda0e068efb72a89fd94002f13882fe335)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
beaffe5b70 icecc: Don't generate recipe-sysroot symlinks at recipe-parsing time
The python function icecc_path() was being invoked inline by set_icecc_env(),
meaning that it was being invoked at recipe-parsing time.
As a side-effect, icecc_path() was creating the recipe-sysroot directory and
symlinking icecc into it. Because this was done at parsing time (rather than
configure time), we were generating otherwise-empty WORKDIRs for *all* parsed
recipes, and for all virtual classes (-native, -nativesdk).
In my build, this generated more than 800 of these otherwise-empty WORKDIRs.

I have simplified icecc_path() to return only the intended path to the icecc
symlinks in the recipe-sysroot, with no side-effect.
We then create the directory and the icecc symlinks at configure time.

Because get_cross_kernel_cc() is still invoked at parse-time,
it needs a guard-clause for the non-kernel case.
We are now finding the host icecc at do_configure time,
so icecc needs to be in the HOSTTOOLS. I have made this non-fatal,
so that we can still inherit icecc without icecc installed.

(From OE-Core rev: d2fcaeb153fdc3f8d7143ea823139f1537055ff1)

(From OE-Core rev: 46db052def5c4fa0de7943262092582c8d897117)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
62333edce7 icecc: Syntax error meant that we weren't waiting for tarball generation
If two bitbake processes try to generate the ICECC_VERSION tarball at the same
time, the thread that fails to get the lock will wait 30 sec for the first to
finish. A syntax error meant that this was not happening, and in particular, if
tarball generation failed (eg. for lack of patchelf), it did so silently.

(From OE-Core rev: 4455c46bf7f49c2b44f250aa89b63b342368e2e3)

(From OE-Core rev: d4ec47005d29e30b31bc61fe126b385e9e781228)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
f05f48d425 icecc: Trivial simplification
(From OE-Core rev: fa6bae80bc3392bf99ce53bbe19a0e05dbd0c4ee)

(From OE-Core rev: 57673fe89a9c597d7e1d657a0710f3c60df3c28d)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Douglas Royds
b903dfe925 icecc: readlink -f on the recipe-sysroot gcc/g++
We were accidentally doing a readlink -f on simply 'gcc', for instance

(From OE-Core rev: 6d6788a3ea45d9693743d9b3319fb0368a4d5d33)

(From OE-Core rev: 193eb75f21daa131b53358a4a1bf63028fe2a28c)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:30 +00:00
Bruce Ashfield
d6f2a6ad25 linux-yocto/4.18: update to v4.18.22
Integrating the -stable commits from Paul Gortmaker:

   24ed0744622e Linux 4.18.22
   8266951957ab tipc: use destination length for copy string
   2f2b82e7b4f8 arc: [devboards] Add support of NFSv3 ACL
   047e43ba5173 ARC: change defconfig defaults to ARCv2
   f8d102775911 Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15ARR
   91dfecd75ee7 Input: elan_i2c - add support for ELAN0621 touchpad
   7c63af1039aa Input: elan_i2c - add ELAN0620 to the ACPI table
   673d11935f70 Input: cros_ec_keyb - fix button/switch capability reports
   39f1f992639d Input: matrix_keypad - check for errors from of_get_named_gpio()
   b3cda161024f Input: synaptics - add PNP ID for ThinkPad P50 to SMBus
   3e533ca9eb5d Input: xpad - quirk all PDP Xbox One gamepads
   1c42a30f4824 i40e: Fix deletion of MAC filters
   0f2cbfeff18f svm: Add mutex_lock to protect apic_access_page_done on AMD systems
   af2cd1276d57 kgdboc: Fix warning with module build
   c72ba0c17cce kgdboc: Fix restrict error
   6571f7ba5f6a userfaultfd: shmem: UFFDIO_COPY: set the page dirty if VM_WRITE is not set
   3876646cbe3a userfaultfd: shmem: add i_size checks
   c8a600a72f36 userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem
   bc43472443ee userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails
   34bfc624bb6b drm/meson: Fix OOB memory accesses in meson_viu_set_osd_lut()
   a5fdd876d4f9 drm/meson: Enable fast_io in meson_dw_hdmi_regmap_config
   c98737cc98c1 drm/meson: Fixes for drm_crtc_vblank_on/off support
   b6ba7cf72463 drm: set is_master to 0 upon drm_new_set_master() failure
   f5551d7db284 drm/ast: Fix incorrect free on ioregs
   f43ce49c718d tracing/fgraph: Fix set_graph_function from showing interrupts
   c31675335d18 IB/mlx5: Avoid load failure due to unknown link width
   339fc991ac42 mips: fix mips_get_syscall_arg o32 check
   ba720f00b540 MIPS: ralink: Fix mt7620 nd_sd pinmux
   87b2d7eda8cc sched, trace: Fix prev_state output in sched_switch tracepoint
   52338737ea2c mtd: nand: Fix memory allocation in nanddev_bbt_init()
   fa8d131f585a uprobes: Fix handle_swbp() vs. unregister() + register() race once more
   f895888ad58f iser: set sector for ambiguous mr status errors
   62613ca14469 unifdef: use memcpy instead of strncpy
   8a4fd8949897 test_hexdump: use memcpy instead of strncpy
   f68e638adaa5 misc: mic/scif: fix copy-paste error in scif_create_remote_lookup
   021b5e5a42e3 Drivers: hv: vmbus: check the creation_status in vmbus_establish_gpadl()
   f6167c3770f1 mm: use swp_offset as key in shmem_replace_page()
   d7044875a946 mm: cleancache: fix corruption on missed inode invalidation
   b14c4a131d36 lib/test_kmod.c: fix rmmod double free
   1b42a6def46d iio:st_magn: Fix enable device after trigger
   f6bd7b8e4dbc iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers
   a7cf14d6bbf0 Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid"
   b9be70d82cf4 usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream series
   c233ce9ca873 USB: usb-storage: Add new IDs to ums-realtek
   726cd6bbfb4f staging: rtl8723bs: Add missing return for cfg80211_rtw_get_station
   cc91a66f70cd staging: rtl8723bs: Fix incorrect sense of ether_addr_equal
   a4827072018e staging: mt7621-dma: fix potentially dereferencing uninitialized 'tx_desc'
   3278d1121784 staging: vchiq_arm: fix compat VCHIQ_IOC_AWAIT_COMPLETION
   4871268b9733 staging: most: use format specifier "%s" in snprintf
   f52619fef6f3 dmaengine: at_hdmac: fix module unloading
   55a2c785818e dmaengine: at_hdmac: fix memory leak in at_dma_xlate()
   7def2114f963 ARM: dts: rockchip: Remove @0 from the veyron memory node
   d66e9553bb93 ASoC: pcm186x: Fix device reset-registers trigger value
   f28e4296150d ext2: fix potential use after free
   13cd83a3fdc6 ext2: initialize opts.s_mount_opt as zero before using it
   715877236823 binder: fix race that allows malicious free of live buffer
   4c80a994e1c3 function_graph: Reverse the order of pushing the ret_stack and the callback
   401bacb8a999 function_graph: Move return callback before update of curr_ret_stack
   5a45629359d8 function_graph: Have profiler use curr_ret_stack and not depth
   cdf8638a4a78 function_graph: Use new curr_ret_depth to manage depth instead of curr_ret_stack
   f54f3a8c164c function_graph: Make ftrace_push_return_trace() static
   19ebfe10ab9d MIPS: function_graph: Simplify with function_graph_enter()
   be7bcea6943b arm64: function_graph: Simplify with function_graph_enter()
   25465f3e0f89 s390/function_graph: Simplify with function_graph_enter()
   212fd6ab8b90 riscv/function_graph: Simplify with function_graph_enter()
   7845921e7845 parisc: function_graph: Simplify with function_graph_enter()
   02c3b2f09537 sparc/function_graph: Simplify with function_graph_enter()
   fadb32957bd3 sh/function_graph: Simplify with function_graph_enter()
   e8dab372f22f powerpc/function_graph: Simplify with function_graph_enter()
   06e04113d8ee x86/function_graph: Simplify with function_graph_enter()
   8974d9ddee8c microblaze: function_graph: Simplify with function_graph_enter()
   2ed3d836c186 ARM: function_graph: Simplify with function_graph_enter()
   a46f2a2ab8f7 function_graph: Create function_graph_enter() to consolidate architecture code
   0c23df1fb2ee ALSA: hda/realtek - fix headset mic detection for MSI MS-B171
   d33625c9ad99 ALSA: hda/realtek - Support ALC300
   d3736fa6a629 ALSA: hda: Add ASRock N68C-S UCC the power_save blacklist
   ac3d401ca588 ALSA: sparc: Fix invalid snd_free_pages() at error path
   5f8920cbdf8b ALSA: control: Fix race between adding and removing a user element
   68d40bdae9e1 ALSA: ac97: Fix incorrect bit shift at AC97-SPSA control write
   8a066b939728 ALSA: wss: Fix invalid snd_free_pages() at error path
   4e153baac165 fs: fix lost error code in dio_complete
   b3a80504fc6b perf/x86/intel: Disallow precise_ip on BTS events
   ef7ffa5edebb perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts()
   f273d7b0f5ea perf/x86/intel: Move branch tracing setup to the Intel-specific source file
   920db419fad5 x86/fpu: Disable bottom halves while loading FPU registers
   01ae1b649cc4 x86/MCE/AMD: Fix the thresholding machinery initialization order
   598ab7f4e75e arm64: dts: rockchip: Fix PCIe reset polarity for rk3399-puma-haikou.
   39b75abd266e PCI: layerscape: Fix wrong invocation of outbound window disable accessor
   aede037397ca btrfs: relocation: set trans to be NULL after ending transaction
   2fa66c494021 Btrfs: fix race between enabling quotas and subvolume creation
   050f755e1050 Btrfs: ensure path name is null terminated at btrfs_control_ioctl
   8640e4eba7a1 btrfs: Always try all copies when reading extent buffers
   d57b922c1fc6 udf: Allow mounting volumes with incorrect identification strings
   633f035c73f8 xtensa: fix coprocessor part of ptrace_{get,set}xregs
   e3b5970eae2a xtensa: fix coprocessor context offset definitions
   7123932c3463 xtensa: enable coprocessors that are being flushed
   4fea3a135968 KVM: VMX: re-add ple_gap module parameter
   2eda497b4155 KVM: X86: Fix scan ioapic use-before-initialization
   8c896ea1f95d KVM: x86: Fix kernel info-leak in KVM_HC_CLOCK_PAIRING hypercall
   cee09b048c40 KVM: nVMX/nSVM: Fix bug which sets vcpu->arch.tsc_offset to L1 tsc_offset
   60fa1976cc5a kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
   151d0990d8c6 kvm: mmu: Fix race in emulated page table writes
   e7f4a4ecf899 userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas
   d04ea8a3e52b x86/speculation: Provide IBPB always command line options
   ba6fd92d9dde x86/speculation: Add seccomp Spectre v2 user space protection mode
   e162e0cb9f48 x86/speculation: Enable prctl mode for spectre_v2_user
   4fe877ade966 x86/speculation: Add prctl() control for indirect branch speculation
   26a22284be5b x86/speculation: Prepare arch_smt_update() for PRCTL mode
   3380e40c38d1 x86/speculation: Prevent stale SPEC_CTRL msr content
   dafcdc4d3ef4 x86/speculation: Split out TIF update
   b34c1d1e20ff ptrace: Remove unused ptrace_may_access_sched() and MODE_IBRS
   2f191447843d x86/speculation: Prepare for conditional IBPB in switch_mm()
   3c4a52665935 x86/speculation: Avoid __switch_to_xtra() calls
   9a02cf2b59f7 x86/process: Consolidate and simplify switch_to_xtra() code
   e45f1bf477c2 x86/speculation: Prepare for per task indirect branch speculation control
   40e17356647d x86/speculation: Add command line control for indirect branch speculation
   34ca30f6ebb2 x86/speculation: Unify conditional spectre v2 print functions
   8cf2abe5a48d x86/speculataion: Mark command line parser data __initdata
   b2e49f57b3d3 x86/speculation: Mark string arrays const correctly
   a951ec1282ca x86/speculation: Reorder the spec_v2 code
   f6e97c269fdf x86/l1tf: Show actual SMT state
   124f1934f087 x86/speculation: Rework SMT state change
   0db58041bd88 sched/smt: Expose sched_smt_present static key
   9b76ef59f198 x86/Kconfig: Select SCHED_SMT if SMP enabled
   74c0d392f4d2 sched/smt: Make sched_smt_present track topology
   4b44044665b7 x86/speculation: Reorganize speculation control MSRs update
   9d35dc0b1975 x86/speculation: Rename SSBD update functions
   ae5c861d44a2 x86/speculation: Disable STIBP when enhanced IBRS is in use
   9fdce9f0d6f6 x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common()
   d9e0d122ae45 x86/speculation: Remove unnecessary ret variable in cpu_show_common()
   9ca44b34145e x86/speculation: Clean up spectre_v2_parse_cmdline()
   f472b112c142 x86/speculation: Update the TIF_SSBD comment
   4fe817e5f922 x86/retpoline: Remove minimal retpoline support
   cdda9afbdbcb x86/build: Fix compiler support check for CONFIG_RETPOLINE
   80420a04a82c x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support
   e338c91ae9bb x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant
   dd970c7bb37c x86/speculation: Propagate information about RSB filling mitigation to sysfs
   1a42c7686198 x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
   3fafe253622e tcp: defer SACK compression after DupThresh
   973b2d8edb37 net/dim: Update DIM start sample after each DIM iteration
   0541a4ad4c11 virtio-net: fail XDP set if guest csum is negotiated
   326888b906c0 virtio-net: disable guest csum during XDP set
   ce853ea2a2e1 net: skb_scrub_packet(): Scrub offload_fwd_mark
   497d616f9ef9 net: thunderx: set xdp_prog to NULL if bpf_prog_add fails
   32978c0d13b0 usbnet: ipheth: fix potential recvmsg bug and recvmsg bug 2
   303b14516da0 s390/qeth: fix length check in SNMP processing
   beedfff965e4 rapidio/rionet: do not free skb before reading its length
   9bde4bd658b6 packet: copy user buffers before orphan or clone
   8240b24014e5 net: thunderx: set tso_hdrs pointer to NULL in nicvf_free_snd_queue
   f4b7bf2f7824 net: gemini: Fix copy/paste error
   1a57f5e05433 net: don't keep lonely packets forever in the gro hash
   fa9f95c537f2 lan743x: fix return value for lan743x_tx_napi_poll
   e7ef14941113 lan743x: Enable driver to work with LAN7431
   a7a42d6ae23e mm/khugepaged: collapse_shmem() do not crash on Compound
   219f7f003c6b mm/khugepaged: collapse_shmem() without freezing new_page
   a5df6e4dd710 mm/khugepaged: minor reorderings in collapse_shmem()
   1d0476b09ae2 mm/khugepaged: collapse_shmem() remember to clear holes
   ba76e023cbcd mm/khugepaged: fix crashes due to misaccounted holes
   4ee51871be50 mm/khugepaged: collapse_shmem() stop if punched or truncated
   4b7da0a23ab7 mm/huge_memory: fix lockdep complaint on 32-bit i_size_read()
   4ea44ec50a87 mm/huge_memory: splitting set mapping+index before unfreeze
   9385e2751953 mm/huge_memory: rename freeze_page() to unmap_page()
   cfe3f465651c media: ov5640: fix auto controls values when switching to manual mode
   ce92e4309a8f media: ov5640: fix wrong binning value in exposure calculation
   797f0d9cdb19 media: ov5640: fix auto gain & exposure when changing mode
   09dd7d55020c media: ov5640: fix exposure regression
   d081f6351a54 media: ov5640: Fix timings setup code
   e27220212028 media: ov5640: Re-work MIPI startup sequence
   1941b77cf04d rcu: Make need_resched() respond to urgent RCU-QS needs
   2d694e55c1a8 tty: wipe buffer if not echoing data
   ff91ad4b37b6 tty: wipe buffer.
   c9a2097b5bca include/linux/pfn_t.h: force '~' to be parsed as an unary operator
   69adf873d6b7 mm, page_alloc: check for max order in hot path
   4cf135795c19 tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset
   5056621d3d82 mm, memory_hotplug: check zone_movable in has_unmovable_pages
   dfa625fbef30 z3fold: fix possible reclaim races
   32536aab2f6d powerpc/numa: Suppress "VPHN is not supported" messages
   41d104c27a25 NFSv4: Fix an Oops during delegation callbacks
   7d1687dde51a kdb: Use strscpy with destination buffer size
   32fe7d4fb78e drm/amdgpu: fix bug with IH ring setup
   f93e575d397a RISC-V: Silence some module warnings on 32-bit
   8e1136c5aff5 riscv: add missing vdso_install target
   48182b646f13 SUNRPC: Fix a bogus get/put in generic_key_to_expire()
   11e0046dcfea perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs
   73141f3f7b4f sched/fair: Fix cpu_util_wake() for 'execl' type workloads
   757ebe2cf812 powerpc/io: Fix the IO workarounds code to work with Radix
   cf650c21904c floppy: fix race condition in __floppy_read_block_0()
   7e04a587b960 crypto: simd - correctly take reqsize of wrapped skcipher into account
   eeb7ebec5993 rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write
   1a7a12521b42 rtc: cmos: Do not export alarm rtc_ops when we do not support alarms
   06200773ff6b cpufreq: imx6q: add return value check for voltage scale
   8bc2418df6ef KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE
   c2d490ff84be scsi: hisi_sas: Remove set but not used variable 'dq_list'
   7fa1b9068daf pinctrl: meson: fix meson8b ao pull register bits
   c3faa93f65aa pinctrl: meson: fix meson8 ao pull register bits
   539eae5c2efb pinctrl: meson: fix gxl ao pull register bits
   81e6fb4d21c9 pinctrl: meson: fix gxbb ao pull register bits
   23980899fd33 pinctrl: meson: fix pinconf bias disable
   2acf52e0d024 fsnotify: generalize handling of extra event flags
   70804a2395f9 IB/hfi1: Eliminate races in the SDMA send error path
   36f0ce79eea5 ACPICA: AML interpreter: add region addresses in global list during initialization
   98a7ff363966 can: flexcan: remove not needed struct flexcan_priv::tx_mb and struct flexcan_priv::tx_mb_idx
   7e6c6e8f96a3 can: flexcan: Always use last mailbox for TX
   09c695304ced can: hi311x: Use level-triggered interrupt
   d5f1bed61e87 can: raw: check for CAN FD capable netdev in raw_sendmsg()
   5dbbeea479ba can: flexcan: handle tx-complete CAN frames via rx-offload infrastructure
   9d698b0e8c60 can: flexcan: use can_rx_offload_queue_sorted() for flexcan_irq_bus_*()
   3ca38586737b can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to can_rx_offload_queue_tail()
   b564520dc84a can: rx-offload: introduce can_rx_offload_get_echo_skb() and can_rx_offload_queue_sorted() functions
   ba4d601f11da can: dev: __can_get_echo_skb(): print error message, if trying to echo non existing skb
   14daeee327c0 can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb is accessed out of bounds
   bd8f43390a6e can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to access frame length
   ec51a36d40ba can: dev: can_get_echo_skb(): factor out non sending code to __can_get_echo_skb()
   17afd6b2f539 can: flexcan: Unlock the MB unconditionally
   4e10eaf14115 drm/ast: Remove existing framebuffers before loading driver
   2059f682eac4 drm/ast: fixed cursor may disappear sometimes
   47d28426881e drm/ast: change resolution may cause screen blurred
   231220ffbd0c drm/i915: Disable LP3 watermarks on all SNB machines
   0ca629caa428 tcp: do not release socket ownership in tcp_close()
   235bb14bb504 mm/memory.c: recheck page table entry with page table lock held
   700d687423ce mm: don't warn about large allocations for slab
   3deb594eb9cc llc: do not use sk_eat_skb()
   d62cdc16c019 gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
   91aa78f105a0 sctp: clear the transport of some out_chunk_list chunks in sctp_assoc_rm_peer
   1ffe2390eec3 bfs: add sanity check at bfs_fill_super()
   609b2f88baa9 Input: synaptics - avoid using uninitialized variable when probing
   1c3712cd9ec5 selinux: Add __GFP_NOWARN to allocation at str_read()
   f4dd907859f6 v9fs_dir_readdir: fix double-free on p9stat_read error
   43fb0f750bf5 tools/power/cpupower: fix compilation with STATIC=true
   7b18c23b8a15 opp: ti-opp-supply: Correct the supply in _get_optimal_vdd_voltage call
   cdcc687a7c0f opp: ti-opp-supply: Dynamically update u_volt_min
   adf820e7040b brcmfmac: fix reporting support for 160 MHz channels
   77260dca90d8 iwlwifi: mvm: don't use SAR Geo if basic SAR is not used
   230956227e0f iwlwifi: mvm: fix regulatory domain update when the firmware starts
   34c26e7ff77e iwlwifi: mvm: support sta_statistics() even on older firmware
   4e7059a1ef08 iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE
   00db19541478 gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path
   1c65bc42b0b6 mmc: sdhci-pci: Workaround GLK firmware failing to restore the tuning value
   e670f3c0bd7f mmc: sdhci-pci: Try "cd" for card-detect lookup before using NULL
   0279a3e8c9a3 Documentation/security-bugs: Postpone fix publication in exceptional cases
   bea263a4d369 Documentation/security-bugs: Clarify treatment of embargoed information
   85225e451366 MAINTAINERS: Add Sasha as a stable branch maintainer
   a820ce4d4189 ALSA: oss: Use kvzalloc() for local buffer allocations
   7ca1b0cfd1f5 usb: xhci: Prevent bus suspend if a port connect change or polling state is detected
   6dc2234cfc3d xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc
   e23d44bfb180 usb: xhci: fix timeout for transition from RExit to U0
   794e4eca3eb8 usb: xhci: fix uninitialized completion when USB3 port got wrong status
   e705be077247 xhci: Add check for invalid byte size error when UAS devices are connected.
   a065ce744fcb xhci: handle port status events for removed USB3 hcd
   d0ab048de951 xhci: Fix leaking USB3 shared_hcd at xhci removal
   c191d670df6c usb: dwc3: core: Clean up ULPI device
   baae5ac1953b usb: dwc3: gadget: Properly check last unaligned/zero chain TRB
   a3c907510737 usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers
   2b5d953d4120 usb: core: Fix hub port connection events lost
   015ca0f92560 efi/libstub: arm: support building with clang
   7972aba9b9a0 HID: steam: remove input device when a hid client is running.

(From OE-Core rev: d288dc17d6fe6e88d6a490f258e8d2502d661aad)

(From OE-Core rev: 933712eb6a2b212ac53fbc79d1d3e79dd551523f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:29 +00:00
Bruce Ashfield
6e640ff1e8 kernel: use olddefconfig as the primary target for KERNEL_CONFIG_COMMAND
As was warned by commit 312ee68752fa [kconfig: announce removal of
oldnoconfig if used], oldnoconfig has been removed from the 4.20 kernel.

So we switch our default mode to olddefconfig.

commit fb16d8912 [kconfig: replace 'oldnoconfig' with 'olddefconfig',
and keep the old name as an alias] introduced olddefconfig in the 3.10
kernel, we shuffle oldnoconfig to the fallback target.

The fallback mode allows kernels between 3.10 and the currently listed
oldest kernel of 3.2 to continue to configure.

(From OE-Core rev: 8593dcb7e8c938530ff00ffedf7f3d02d26c3bad)

(From OE-Core rev: 0bbe3d579e4363a0ee34a9490dbf10f2a7a6736c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 16:38:29 +00:00
Richard Purdie
1d987b98ed bitbake: server/process: Add missing exception raise
The intent of the code was to catch one kind of error, it was actually swallowing
all exceptions and looping indefinitely. Fix it to work as intended.

This explains some mystery hangs we've been seeing.

(Bitbake rev: d89358c7b8aa69f12b8c384c4fdb493782633494)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:32:00 +00:00
David Reyna
9bd81c492c bitbake: toaster: correctly register the thud branch
There are typos in the fixture files that need to be fixed to correctly
check out the 'thud' branch.

[YOCTO #13064]

(Bitbake rev: 03a2bc00a070794452aa1df0fd75a338bdccc47d)

Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:32:00 +00:00
Richard Purdie
3541f019a5 bitbake: process: Rewrite multiple connection handling
If the bitbake server recieved multiple connections, it currently closes
ones it can't handle (while its dealing with another). This is rather
antisocial behaviour which causes clients to quickly run through their
retries and abort.

Instead, queue any other connections until the current one is closed. This
way the client can decide when it wants to stop waiting for the server. If the
client is gone by the time we handle it, we handle that gracefully.

This also fixes a number of bugs in the connection handling where connections
which did drop early were badly handled causing tracebacks in the logs.

Also, handle queue incomming connections in a loop to ensure that the main
client handling doesn't starve that piece of the system.

This code was stress tested by running 50 connection attempts in parallel at
once, ensuring the code correctly handled them.

(Bitbake rev: 220193dc38c4e78cb7cf36132a3a5b499a35bc8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:14 +00:00
Richard Purdie
563a74d522 bitbake: process: Handle EWOULDBLOCK in socket connect
Now that we set a timeout for the socket, it can return EWOULDBLOCK
if a signal or other event happens to wake up even if we don't timeout.

If this happens, retry the connection, else we simply see it quickly
loop through the retries and abort the connection in a very short
interval.

(Bitbake rev: c2000651a200530ba08161207ade5eea8bbeec43)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:14 +00:00
Richard Purdie
86209d4365 bitbake: process.py: Set socket timeout to 10 seconds
The current value of 2 seconds has shown to be short in
wider testing.

(Bitbake rev: 469cc520593ba52775a373faad03072b7af05dba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:14 +00:00
Richard Purdie
b2660f423e bitbake: server/process: Ensure socket has a timeout set
We're seeing hangs in oe-selftest where server startup and shutdown are
racing. The assumption was a connect would timeout however no timeout is
set which can leave processes hanging. Set a short timeout for
the connection to avoid this.

(Bitbake rev: 833d95f538c007c27c6eb8d8f2f97094dc2b1a41)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:14 +00:00
Richard Purdie
d52655e517 bitbake: lib/bb/server: Avoid UnboundLocalError traceback
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/main.py", line 464, in setup_bitbake
    server_connection = bb.server.process.connectProcessServer(sockname, featureset)
  File "/home/pokybuild/yocto-worker/nightly-oe-selftest/build/bitbake/lib/bb/server/process.py", line 490, in connectProcessServer
    if command_chan_recv:
UnboundLocalError: local variable 'command_chan_recv' referenced before assignment

(Bitbake rev: 257ed88590883f46beec0164749e45733e67954e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:13 +00:00
Richard Purdie
6399d307ad bitbake: server/process: Handle short reads
Its possible the read may return a smaller number of characters. Remove
the possibility by using a single character to signal the server is ready.

(Bitbake rev: 7fb2d6bed06439e59a81dd91798d886ee0a72e99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:13 +00:00
Richard Purdie
4e3ab56b9f bitbake: cooker: Add some timing debug messages to the server startup
We're seeing slow startup in bitbake, add some timeing debug messages so
the logs are more useful for debugging when its slow.

(Bitbake rev: 92f61dfe409da2fdd7c609cf1125878aad273d04)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:13 +00:00
Richard Purdie
bb1f8f0891 bitbake: server/process: Increase server startup time delay
On loaded production systems we've seen bitbake server take over
40s to start up. Increase the timeout to 90s which tries to avoid
failures in selftests.

The delays come from setting up the inotify watches (31s) so can't
really be avoided.

After 5s delay we now warn the user we're waiting for 90s so the
interactive exeperience shouldn't be much changed and its very
unlikely the user would see that anyway.

(Bitbake rev: 492a5c1b32bee1f5d7978954ee0ebdf4fccdf56f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:13 +00:00
Alejandro Enedino Hernandez Samaniego
c425c0a38f bitbake: cooker: fix indirect multiconfig dependencies
When an indirect multiconfig dependency exists, such as:

A depends on B, B has a multiconfig dependency to C,and our build
target is A, the multiconfig dependency to C is not processed on
time, hence no providers are added for it, causing an exception in
the runqueue because the dependency does exist in it.

Call add_unresolved() for all available multiconfigs before processing
providers for multiconfig dependencies, detecting mcdepends on time so
providers for them can be added correctly.

(Bitbake rev: 25b585b981cc7e4ed48b0f7c89a075486fa1eb2b)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 17:03:13 +00:00
Scott Rifenbark
cc73390a75 dev-manual, brief-yoctoprojectqs: Added "2.6.1" tag to examples
Even though the tag does not exist at this point because the
release is in development, I added the tag to the list of
tags returned by the "git tag" command in the two examples
in these books.  The manual at this point is under development
so all bets are off as to things being totally accurate here.
Once the release is out, the example will work.

(From yocto-docs rev: 41e25a93eed0b75bfeb934c59a5bc4c34df53445)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-23 07:56:37 +00:00
Scott Rifenbark
7022689b10 brief-yoctoprojectqs, dev-manual: Update tag checkout examples
Turns out I had some hard-coded stuff in these examples.
Furthermore, I did not have good enough detail in the
brief-yoctoprojectqs manual.  I added more detail on how to get
that sato example going.

(From yocto-docs rev: 8d2fe4968eec9250c6bf9da530d2d7521f68b986)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:47 +00:00
Scott Rifenbark
a5b9706722 poky.ent: Updated release date to "January 2019"
Variable used in the manual revision tables had gone stale.

(From yocto-docs rev: 9325027bbc7bccbb9e4d4a6a02b9b2b1817f8725)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-16 15:35:47 +00:00
375 changed files with 18695 additions and 4055 deletions

View File

@@ -503,7 +503,7 @@
</section>
<section id='unsetting-variables'>
<title>Unseting variables</title>
<title>Unsetting variables</title>
<para>
It is possible to completely remove a variable or a variable flag

View File

@@ -175,18 +175,31 @@ class BBCooker:
self.configuration = configuration
bb.debug(1, "BBCooker starting %s" % time.time())
sys.stdout.flush()
self.configwatcher = pyinotify.WatchManager()
bb.debug(1, "BBCooker pyinotify1 %s" % time.time())
sys.stdout.flush()
self.configwatcher.bbseen = []
self.configwatcher.bbwatchedfiles = []
self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications)
bb.debug(1, "BBCooker pyinotify2 %s" % time.time())
sys.stdout.flush()
self.watchmask = pyinotify.IN_CLOSE_WRITE | pyinotify.IN_CREATE | pyinotify.IN_DELETE | \
pyinotify.IN_DELETE_SELF | pyinotify.IN_MODIFY | pyinotify.IN_MOVE_SELF | \
pyinotify.IN_MOVED_FROM | pyinotify.IN_MOVED_TO
self.watcher = pyinotify.WatchManager()
bb.debug(1, "BBCooker pyinotify3 %s" % time.time())
sys.stdout.flush()
self.watcher.bbseen = []
self.watcher.bbwatchedfiles = []
self.notifier = pyinotify.Notifier(self.watcher, self.notifications)
bb.debug(1, "BBCooker pyinotify complete %s" % time.time())
sys.stdout.flush()
# If being called by something like tinfoil, we need to clean cached data
# which may now be invalid
bb.parse.clear_cache()
@@ -196,6 +209,9 @@ class BBCooker:
self.initConfigurationData()
bb.debug(1, "BBCooker parsed base configuration %s" % time.time())
sys.stdout.flush()
# we log all events to a file if so directed
if self.configuration.writeeventlog:
# register the log file writer as UI Handler
@@ -233,6 +249,9 @@ class BBCooker:
# Let SIGHUP exit as SIGTERM
signal.signal(signal.SIGHUP, self.sigterm_exception)
bb.debug(1, "BBCooker startup complete %s" % time.time())
sys.stdout.flush()
def process_inotify_updates(self):
for n in [self.confignotifier, self.notifier]:
if n.check_events(timeout=0):
@@ -372,8 +391,9 @@ class BBCooker:
if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
self.disableDataTracking()
self.data.renameVar("__depends", "__base_depends")
self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher)
for mc in self.databuilder.mcdata.values():
mc.renameVar("__depends", "__base_depends")
self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher)
self.baseconfig_valid = True
self.parsecache_valid = False
@@ -620,13 +640,18 @@ class BBCooker:
runlist.append([mc, k, ktask, fn])
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data)
mcdeps = taskdata[mc].get_mcdepends()
# No need to do check providers if there are no mcdeps or not an mc build
if mcdeps and mc:
# Make sure we can provide the multiconfig dependency
if len(self.multiconfigs) > 1:
seen = set()
new = True
# Make sure we can provide the multiconfig dependency
while new:
mcdeps = set()
# Add unresolved first, so we can get multiconfig indirect dependencies on time
for mc in self.multiconfigs:
taskdata[mc].add_unresolved(localdata[mc], self.recipecaches[mc])
mcdeps |= set(taskdata[mc].get_mcdepends())
new = False
for mc in self.multiconfigs:
for k in mcdeps:
@@ -641,6 +666,7 @@ class BBCooker:
taskdata[depmc].add_provider(localdata[depmc], self.recipecaches[depmc], l[3])
seen.add(k)
new = True
for mc in self.multiconfigs:
taskdata[mc].add_unresolved(localdata[mc], self.recipecaches[mc])

View File

@@ -45,60 +45,97 @@ class GitSM(Git):
"""
return ud.type in ['gitsm']
@staticmethod
def parse_gitmodules(gitmodules):
modules = {}
module = ""
for line in gitmodules.splitlines():
if line.startswith('[submodule'):
module = line.split('"')[1]
modules[module] = {}
elif module and line.strip().startswith('path'):
path = line.split('=')[1].strip()
modules[module]['path'] = path
elif module and line.strip().startswith('url'):
url = line.split('=')[1].strip()
modules[module]['url'] = url
return modules
def process_submodules(self, ud, workdir, function, d):
"""
Iterate over all of the submodules in this repository and execute
the 'function' for each of them.
"""
def update_submodules(self, ud, d):
submodules = []
paths = {}
revision = {}
uris = {}
local_paths = {}
subrevision = {}
def parse_gitmodules(gitmodules):
modules = {}
module = ""
for line in gitmodules.splitlines():
if line.startswith('[submodule'):
module = line.split('"')[1]
modules[module] = {}
elif module and line.strip().startswith('path'):
path = line.split('=')[1].strip()
modules[module]['path'] = path
elif module and line.strip().startswith('url'):
url = line.split('=')[1].strip()
modules[module]['url'] = url
return modules
# Collect the defined submodules, and their attributes
for name in ud.names:
try:
gitmodules = runfetchcmd("%s show %s:.gitmodules" % (ud.basecmd, ud.revisions[name]), d, quiet=True, workdir=ud.clonedir)
gitmodules = runfetchcmd("%s show %s:.gitmodules" % (ud.basecmd, ud.revisions[name]), d, quiet=True, workdir=workdir)
except:
# No submodules to update
continue
for m, md in self.parse_gitmodules(gitmodules).items():
for m, md in parse_gitmodules(gitmodules).items():
try:
module_hash = runfetchcmd("%s ls-tree -z -d %s %s" % (ud.basecmd, ud.revisions[name], md['path']), d, quiet=True, workdir=workdir)
except:
# If the command fails, we don't have a valid file to check. If it doesn't
# fail -- it still might be a failure, see next check...
module_hash = ""
if not module_hash:
logger.debug(1, "submodule %s is defined, but is not initialized in the repository. Skipping", m)
continue
submodules.append(m)
paths[m] = md['path']
revision[m] = ud.revisions[name]
uris[m] = md['url']
subrevision[m] = module_hash.split()[2]
# Convert relative to absolute uri based on parent uri
if uris[m].startswith('..'):
newud = copy.copy(ud)
newud.path = os.path.realpath(os.path.join(newud.path, md['url']))
newud.path = os.path.realpath(os.path.join(newud.path, uris[m]))
uris[m] = Git._get_repo_url(self, newud)
for module in submodules:
module_hash = runfetchcmd("%s ls-tree -z -d %s %s" % (ud.basecmd, ud.revisions[name], paths[module]), d, quiet=True, workdir=ud.clonedir)
module_hash = module_hash.split()[2]
# Translate the module url into a SRC_URI
if "://" in uris[module]:
# Properly formated URL already
proto = uris[module].split(':', 1)[0]
url = uris[module].replace('%s:' % proto, 'gitsm:', 1)
else:
if ":" in uris[module]:
# Most likely an SSH style reference
proto = "ssh"
if ":/" in uris[module]:
# Absolute reference, easy to convert..
url = "gitsm://" + uris[module].replace(':/', '/', 1)
else:
# Relative reference, no way to know if this is right!
logger.warning("Submodule included by %s refers to relative ssh reference %s. References may fail if not absolute." % (ud.url, uris[module]))
url = "gitsm://" + uris[module].replace(':', '/', 1)
else:
# This has to be a file reference
proto = "file"
url = "gitsm://" + uris[module]
# Build new SRC_URI
proto = uris[module].split(':', 1)[0]
url = uris[module].replace('%s:' % proto, 'gitsm:', 1)
url += ';protocol=%s' % proto
url += ";name=%s" % module
url += ";bareclone=1;nocheckout=1;nobranch=1"
url += ";subpath=%s" % module
ld = d.createCopy()
# Not necessary to set SRC_URI, since we're passing the URI to
# Fetch.
#ld.setVar('SRC_URI', url)
ld.setVar('SRCREV_%s' % module, module_hash)
ld.setVar('SRCREV_%s' % module, subrevision[module])
# Workaround for issues with SRCPV/SRCREV_FORMAT errors
# error refer to 'multiple' repositories. Only the repository
@@ -106,145 +143,85 @@ class GitSM(Git):
ld.setVar('SRCPV', d.getVar('SRCPV'))
ld.setVar('SRCREV_FORMAT', module)
newfetch = Fetch([url], ld, cache=False)
newfetch.download()
local_paths[module] = newfetch.localpath(url)
function(ud, url, module, paths[module], ld)
# Correct the submodule references to the local download version...
runfetchcmd("%(basecmd)s config submodule.%(module)s.url %(url)s" % {'basecmd': ud.basecmd, 'module': module, 'url' : local_paths[module]}, d, workdir=ud.clonedir)
symlink_path = os.path.join(ud.clonedir, 'modules', paths[module])
if not os.path.exists(symlink_path):
try:
os.makedirs(os.path.dirname(symlink_path), exist_ok=True)
except OSError:
pass
os.symlink(local_paths[module], symlink_path)
return True
return submodules != []
def need_update(self, ud, d):
main_repo_needs_update = Git.need_update(self, ud, d)
# First check that the main repository has enough history fetched. If it doesn't, then we don't
# even have the .gitmodules and gitlinks for the submodules to attempt asking whether the
# submodules' histories are recent enough.
if main_repo_needs_update:
if Git.need_update(self, ud, d):
return True
# Now check that the submodule histories are new enough. The git-submodule command doesn't have
# any clean interface for doing this aside from just attempting the checkout (with network
# fetched disabled).
return not self.update_submodules(ud, d)
try:
# Check for the nugget dropped by the download operation
known_srcrevs = runfetchcmd("%s config --get-all bitbake.srcrev" % \
(ud.basecmd), d, workdir=ud.clonedir)
if ud.revisions[ud.names[0]] not in known_srcrevs.split():
return True
except bb.fetch2.FetchError:
# No srcrev nuggets, so this is new and needs to be updated
return True
return False
def download(self, ud, d):
Git.download(self, ud, d)
def download_submodule(ud, url, module, modpath, d):
url += ";bareclone=1;nobranch=1"
if not ud.shallow or ud.localpath != ud.fullshallow:
self.update_submodules(ud, d)
# Is the following still needed?
#url += ";nocheckout=1"
def copy_submodules(self, submodules, ud, destdir, d):
if ud.bareclone:
repo_conf = destdir
else:
repo_conf = os.path.join(destdir, '.git')
if submodules and not os.path.exists(os.path.join(repo_conf, 'modules')):
os.mkdir(os.path.join(repo_conf, 'modules'))
for module, md in submodules.items():
srcpath = os.path.join(ud.clonedir, 'modules', md['path'])
modpath = os.path.join(repo_conf, 'modules', md['path'])
if os.path.exists(srcpath):
if os.path.exists(os.path.join(srcpath, '.git')):
srcpath = os.path.join(srcpath, '.git')
target = modpath
if os.path.exists(modpath):
target = os.path.dirname(modpath)
os.makedirs(os.path.dirname(target), exist_ok=True)
runfetchcmd("cp -fpLR %s %s" % (srcpath, target), d)
elif os.path.exists(modpath):
# Module already exists, likely unpacked from a shallow mirror clone
pass
else:
# This is fatal, as we do NOT want git-submodule to hit the network
raise bb.fetch2.FetchError('Submodule %s does not exist in %s or %s.' % (module, srcpath, modpath))
def clone_shallow_local(self, ud, dest, d):
super(GitSM, self).clone_shallow_local(ud, dest, d)
# Copy over the submodules' fetched histories too.
repo_conf = os.path.join(dest, '.git')
submodules = []
for name in ud.names:
try:
gitmodules = runfetchcmd("%s show %s:.gitmodules" % (ud.basecmd, ud.revision), d, quiet=True, workdir=dest)
except:
# No submodules to update
continue
newfetch = Fetch([url], d, cache=False)
newfetch.download()
# Drop a nugget to add each of the srcrevs we've fetched (used by need_update)
runfetchcmd("%s config --add bitbake.srcrev %s" % \
(ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
except Exception as e:
logger.error('gitsm: submodule download failed: %s %s' % (type(e).__name__, str(e)))
raise
submodules = self.parse_gitmodules(gitmodules)
self.copy_submodules(submodules, ud, dest, d)
Git.download(self, ud, d)
self.process_submodules(ud, ud.clonedir, download_submodule, d)
def unpack(self, ud, destdir, d):
def unpack_submodules(ud, url, module, modpath, d):
url += ";bareclone=1;nobranch=1"
# Figure out where we clone over the bare submodules...
if ud.bareclone:
repo_conf = ud.destdir
else:
repo_conf = os.path.join(ud.destdir, '.git')
try:
newfetch = Fetch([url], d, cache=False)
newfetch.unpack(root=os.path.dirname(os.path.join(repo_conf, 'modules', module)))
except Exception as e:
logger.error('gitsm: submodule unpack failed: %s %s' % (type(e).__name__, str(e)))
raise
local_path = newfetch.localpath(url)
# Correct the submodule references to the local download version...
runfetchcmd("%(basecmd)s config submodule.%(module)s.url %(url)s" % {'basecmd': ud.basecmd, 'module': module, 'url' : local_path}, d, workdir=ud.destdir)
if ud.shallow:
runfetchcmd("%(basecmd)s config submodule.%(module)s.shallow true" % {'basecmd': ud.basecmd, 'module': module}, d, workdir=ud.destdir)
# Ensure the submodule repository is NOT set to bare, since we're checking it out...
try:
runfetchcmd("%s config core.bare false" % (ud.basecmd), d, quiet=True, workdir=os.path.join(repo_conf, 'modules', module))
except:
logger.error("Unable to set git config core.bare to false for %s" % os.path.join(repo_conf, 'modules', module))
raise
Git.unpack(self, ud, destdir, d)
# Copy over the submodules' fetched histories too.
if ud.bareclone:
repo_conf = ud.destdir
else:
repo_conf = os.path.join(ud.destdir, '.git')
ret = self.process_submodules(ud, ud.destdir, unpack_submodules, d)
update_submodules = False
paths = {}
uris = {}
local_paths = {}
for name in ud.names:
try:
gitmodules = runfetchcmd("%s show HEAD:.gitmodules" % (ud.basecmd), d, quiet=True, workdir=ud.destdir)
except:
# No submodules to update
continue
submodules = self.parse_gitmodules(gitmodules)
self.copy_submodules(submodules, ud, ud.destdir, d)
submodules_queue = [(module, os.path.join(repo_conf, 'modules', md['path'])) for module, md in submodules.items()]
while len(submodules_queue) != 0:
module, modpath = submodules_queue.pop()
# add submodule children recursively
try:
gitmodules = runfetchcmd("%s show HEAD:.gitmodules" % (ud.basecmd), d, quiet=True, workdir=modpath)
for m, md in self.parse_gitmodules(gitmodules).items():
submodules_queue.append([m, os.path.join(modpath, 'modules', md['path'])])
except:
# no children
pass
# There are submodules to update
update_submodules = True
# Determine (from the submodule) the correct url to reference
try:
output = runfetchcmd("%(basecmd)s config remote.origin.url" % {'basecmd': ud.basecmd}, d, workdir=modpath)
except bb.fetch2.FetchError as e:
# No remote url defined in this submodule
continue
local_paths[module] = output
# Setup the local URL properly (like git submodule init or sync would do...)
runfetchcmd("%(basecmd)s config submodule.%(module)s.url %(url)s" % {'basecmd': ud.basecmd, 'module': module, 'url' : local_paths[module]}, d, workdir=ud.destdir)
# Ensure the submodule repository is NOT set to bare, since we're checking it out...
runfetchcmd("%s config core.bare false" % (ud.basecmd), d, quiet=True, workdir=modpath)
if update_submodules:
# Run submodule update, this sets up the directories -- without touching the config
if not ud.bareclone and ret:
# All submodules should already be downloaded and configured in the tree. This simply sets
# up the configuration and checks out the files. The main project config should remain
# unmodified, and no download from the internet should occur.
runfetchcmd("%s submodule update --recursive --no-fetch" % (ud.basecmd), d, quiet=True, workdir=ud.destdir)

View File

@@ -49,6 +49,11 @@ def fn_from_tid(tid):
def taskname_from_tid(tid):
return tid.rsplit(":", 1)[1]
def mc_from_tid(tid):
if tid.startswith('multiconfig:'):
return tid.split(':')[1]
return ""
def split_tid(tid):
(mc, fn, taskname, _) = split_tid_mcfn(tid)
return (mc, fn, taskname)
@@ -405,6 +410,9 @@ class RunQueueData:
explored_deps = {}
msgs = []
class TooManyLoops(Exception):
pass
def chain_reorder(chain):
"""
Reorder a dependency chain so the lowest task id is first
@@ -457,7 +465,7 @@ class RunQueueData:
msgs.append("\n")
if len(valid_chains) > 10:
msgs.append("Aborted dependency loops search after 10 matches.\n")
return msgs
raise TooManyLoops
continue
scan = False
if revdep not in explored_deps:
@@ -476,8 +484,11 @@ class RunQueueData:
explored_deps[tid] = total_deps
for task in tasks:
find_chains(task, [])
try:
for task in tasks:
find_chains(task, [])
except TooManyLoops:
pass
return msgs
@@ -2073,10 +2084,23 @@ class RunQueueExecuteTasks(RunQueueExecute):
return True
def filtermcdeps(self, task, deps):
ret = set()
mainmc = mc_from_tid(task)
for dep in deps:
mc = mc_from_tid(dep)
if mc != mainmc:
continue
ret.add(dep)
return ret
# We filter out multiconfig dependencies from taskdepdata we pass to the tasks
# as most code can't handle them
def build_taskdepdata(self, task):
taskdepdata = {}
next = self.rqdata.runtaskentries[task].depends
next.add(task)
next = self.filtermcdeps(task, next)
while next:
additional = []
for revdep in next:
@@ -2086,6 +2110,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
taskhash = self.rqdata.runtaskentries[revdep].hash
taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash]
deps = self.filtermcdeps(task, deps)
for revdep2 in deps:
if revdep2 not in taskdepdata:
additional.append(revdep2)

View File

@@ -130,6 +130,7 @@ class ProcessServer(multiprocessing.Process):
bb.utils.set_process_name("Cooker")
ready = []
newconnections = []
self.controllersock = False
fds = [self.sock]
@@ -138,37 +139,48 @@ class ProcessServer(multiprocessing.Process):
print("Entering server connection loop")
def disconnect_client(self, fds):
if not self.haveui:
return
print("Disconnecting Client")
fds.remove(self.controllersock)
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
del self.event_writer
self.controllersock.close()
self.controllersock = False
self.haveui = False
self.lastui = time.time()
self.cooker.clientComplete()
if self.timeout is None:
if self.controllersock:
fds.remove(self.controllersock)
self.controllersock.close()
self.controllersock = False
if self.haveui:
fds.remove(self.command_channel)
bb.event.unregister_UIHhandler(self.event_handle, True)
self.command_channel_reply.writer.close()
self.event_writer.writer.close()
self.command_channel.close()
self.command_channel = False
del self.event_writer
self.lastui = time.time()
self.cooker.clientComplete()
self.haveui = False
ready = select.select(fds,[],[],0)[0]
if newconnections:
print("Starting new client")
conn = newconnections.pop(-1)
fds.append(conn)
self.controllersock = conn
elif self.timeout is None and not ready:
print("No timeout, exiting.")
self.quit = True
while not self.quit:
if self.sock in ready:
self.controllersock, address = self.sock.accept()
if self.haveui:
print("Dropping connection attempt as we have a UI %s" % (str(ready)))
self.controllersock.close()
else:
print("Accepting %s" % (str(ready)))
fds.append(self.controllersock)
while select.select([self.sock],[],[],0)[0]:
controllersock, address = self.sock.accept()
if self.controllersock:
print("Queuing %s (%s)" % (str(ready), str(newconnections)))
newconnections.append(controllersock)
else:
print("Accepting %s (%s)" % (str(ready), str(newconnections)))
self.controllersock = controllersock
fds.append(controllersock)
if self.controllersock in ready:
try:
print("Connecting Client")
print("Processing Client")
ui_fds = recvfds(self.controllersock, 3)
print("Connecting Client")
# Where to write events to
writer = ConnectionWriter(ui_fds[0])
@@ -400,16 +412,19 @@ class BitBakeServer(object):
os.close(self.readypipein)
ready = ConnectionReader(self.readypipe)
r = ready.poll(30)
r = ready.poll(5)
if not r:
bb.note("Bitbake server didn't start within 5 seconds, waiting for 90")
r = ready.poll(90)
if r:
try:
r = ready.get()
except EOFError:
# Trap the child exitting/closing the pipe and error out
r = None
if not r or r != "ready":
if not r or r[0] != "r":
ready.close()
bb.error("Unable to start bitbake server")
bb.error("Unable to start bitbake server (%s)" % str(r))
if os.path.exists(logfile):
logstart_re = re.compile(self.start_log_format % ('([0-9]+)', '([0-9-]+ [0-9:.]+)'))
started = False
@@ -452,7 +467,7 @@ class BitBakeServer(object):
os.close(self.readypipe)
writer = ConnectionWriter(self.readypipein)
self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
writer.send("ready")
writer.send("r")
writer.close()
server.cooker = self.cooker
server.server_timeout = self.configuration.server_timeout
@@ -468,16 +483,26 @@ def connectProcessServer(sockname, featureset):
# AF_UNIX has path length issues so chdir here to workaround
cwd = os.getcwd()
readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None
eq = command_chan_recv = command_chan = None
sock.settimeout(10)
try:
try:
os.chdir(os.path.dirname(sockname))
sock.connect(os.path.basename(sockname))
finished = False
while not finished:
try:
sock.connect(os.path.basename(sockname))
finished = True
except IOError as e:
if e.errno == errno.EWOULDBLOCK:
pass
raise
finally:
os.chdir(cwd)
readfd = writefd = readfd1 = writefd1 = readfd2 = writefd2 = None
eq = command_chan_recv = command_chan = None
# Send an fd for the remote to write events to
readfd, writefd = os.pipe()
eq = BBUIEventQueue(readfd)

View File

@@ -181,6 +181,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
depmc = pkgname.split(':')[1]
if mc != depmc:
continue
if dep.startswith("multiconfig:") and not mc:
continue
depname = dataCache.pkg_fn[pkgname]
if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
continue

View File

@@ -893,12 +893,116 @@ class FetcherNetworkTest(FetcherTest):
@skipIfNoNetwork()
def test_git_submodule(self):
fetcher = bb.fetch.Fetch(["gitsm://git.yoctoproject.org/git-submodule-test;rev=f12e57f2edf0aa534cf1616fa983d165a92b0842"], self.d)
# URL with ssh submodules
url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=ssh-gitsm-tests;rev=049da4a6cb198d7c0302e9e8b243a1443cb809a7"
# Original URL (comment this if you have ssh access to git.yoctoproject.org)
url = "gitsm://git.yoctoproject.org/git-submodule-test;branch=master;rev=a2885dd7d25380d23627e7544b7bbb55014b16ee"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(repo_path), msg='Unpacked repository missing')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'bitbake')), msg='bitbake submodule missing')
self.assertFalse(os.path.exists(os.path.join(repo_path, 'na')), msg='uninitialized submodule present')
# Only when we're running the extended test with a submodule's submodule, can we check this.
if os.path.exists(os.path.join(repo_path, 'bitbake-gitsm-test1')):
self.assertTrue(os.path.exists(os.path.join(repo_path, 'bitbake-gitsm-test1', 'bitbake')), msg='submodule of submodule missing')
def test_git_submodule_dbus_broker(self):
# The following external repositories have show failures in fetch and unpack operations
# We want to avoid regressions!
url = "gitsm://github.com/bus1/dbus-broker;protocol=git;rev=fc874afa0992d0c75ec25acb43d344679f0ee7d2"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-dvar/config')), msg='Missing submodule config "subprojects/c-dvar"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-list/config')), msg='Missing submodule config "subprojects/c-list"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-rbtree/config')), msg='Missing submodule config "subprojects/c-rbtree"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-sundry/config')), msg='Missing submodule config "subprojects/c-sundry"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-utf8/config')), msg='Missing submodule config "subprojects/c-utf8"')
def test_git_submodule_CLI11(self):
url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=bd4dc911847d0cde7a6b41dfa626a85aab213baf"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/googletest/config')), msg='Missing submodule config "extern/googletest"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
def test_git_submodule_update_CLI11(self):
""" Prevent regression on update detection not finding missing submodule, or modules without needed commits """
url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=cf6a99fa69aaefe477cc52e3ef4a7d2d7fa40714"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# CLI11 that pulls in a newer nlohmann-json
url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=49ac989a9527ee9bb496de9ded7b4872c2e0e5ca"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/googletest/config')), msg='Missing submodule config "extern/googletest"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
def test_git_submodule_aktualizr(self):
url = "gitsm://github.com/advancedtelematic/aktualizr;branch=master;protocol=git;rev=d00d1a04cc2366d1a5f143b84b9f507f8bd32c44"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/partial/extern/isotp-c/config')), msg='Missing submodule config "partial/extern/isotp-c/config"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/partial/extern/isotp-c/modules/deps/bitfield-c/config')), msg='Missing submodule config "partial/extern/isotp-c/modules/deps/bitfield-c/config"')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'partial/extern/isotp-c/deps/bitfield-c/.git')), msg="Submodule of submodule isotp-c did not unpack properly")
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/tests/tuf-test-vectors/config')), msg='Missing submodule config "tests/tuf-test-vectors/config"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/googletest/config')), msg='Missing submodule config "third_party/googletest/config"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/HdrHistogram_c/config')), msg='Missing submodule config "third_party/HdrHistogram_c/config"')
def test_git_submodule_iotedge(self):
""" Prevent regression on deeply nested submodules not being checked out properly, even though they were fetched. """
# This repository also has submodules where the module (name), path and url do not align
url = "gitsm://github.com/azure/iotedge.git;protocol=git;rev=d76e0316c6f324345d77c48a83ce836d09392699"
fetcher = bb.fetch.Fetch([url], self.d)
fetcher.download()
# Previous cwd has been deleted
os.chdir(os.path.dirname(self.unpackdir))
fetcher.unpack(self.unpackdir)
repo_path = os.path.join(self.tempdir, 'unpacked', 'git')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/testrunner/readme.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/readme.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/testrunner/readme.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/readme.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout')
self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout')
class TrustedNetworksTest(FetcherTest):
def test_trusted_network(self):
@@ -1312,6 +1416,7 @@ class GitShallowTest(FetcherTest):
# fetch and unpack, from the shallow tarball
bb.utils.remove(self.gitdir, recurse=True)
bb.utils.remove(ud.clonedir, recurse=True)
bb.utils.remove(ud.clonedir.replace('gitsource', 'gitsubmodule'), recurse=True)
# confirm that the unpacked repo is used when no git clone or git
# mirror tarball is available
@@ -1466,6 +1571,7 @@ class GitShallowTest(FetcherTest):
self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir)
self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir)
self.add_empty_file('asub', cwd=smdir)
self.add_empty_file('bsub', cwd=smdir)
self.git('submodule init', cwd=self.srcdir)
self.git('submodule add file://%s' % smdir, cwd=self.srcdir)
@@ -1475,10 +1581,16 @@ class GitShallowTest(FetcherTest):
uri = 'gitsm://%s;protocol=file;subdir=${S}' % self.srcdir
fetcher, ud = self.fetch_shallow(uri)
# Verify the main repository is shallow
self.assertRevCount(1)
assert './.git/modules/' in bb.process.run('tar -tzf %s' % os.path.join(self.dldir, ud.mirrortarballs[0]))[0]
# Verify the gitsubmodule directory is present
assert os.listdir(os.path.join(self.gitdir, 'gitsubmodule'))
# Verify the submodule is also shallow
self.assertRevCount(1, cwd=os.path.join(self.gitdir, 'gitsubmodule'))
if any(os.path.exists(os.path.join(p, 'git-annex')) for p in os.environ.get('PATH').split(':')):
def test_shallow_annex(self):
self.add_empty_file('a')

View File

@@ -42,6 +42,10 @@ class VerCmpString(unittest.TestCase):
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.0+1.1-beta1')
self.assertTrue(result > 0)
result = bb.utils.vercmp_string('1.', '1.1')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1.')
self.assertTrue(result > 0)
def test_explode_dep_versions(self):
correctresult = {"foo" : ["= 1.10"]}

View File

@@ -120,6 +120,10 @@ def vercmp_part(a, b):
return -1
elif oa > ob:
return 1
elif ca is None:
return -1
elif cb is None:
return 1
elif ca < cb:
return -1
elif ca > cb:

View File

@@ -52,8 +52,8 @@
</object>
<object model="orm.release" pk="4">
<field type="CharField" name="name">thud</field>
<field type="CharField" name="description">Openembedded Rocko</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
<field type="CharField" name="description">Openembedded Thud</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">thud</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=thud\"&gt;OpenEmbedded Thud&lt;/a&gt; branch.</field>
</object>

View File

@@ -56,9 +56,9 @@
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/"&gt;Yocto Project Master branch&lt;/a&gt;.</field>
</object>
<object model="orm.release" pk="4">
<field type="CharField" name="name">rocko</field>
<field type="CharField" name="name">thud</field>
<field type="CharField" name="description">Yocto Project 2.6 "Thud"</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
<field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
<field type="CharField" name="branch_name">thud</field>
<field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=thud"&gt;Yocto Project Thud branch&lt;/a&gt;.</field>
</object>
@@ -152,7 +152,7 @@
<field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">rocko</field>
<field type="CharField" name="branch">thud</field>
<field type="CharField" name="dirpath">meta</field>
</object>
@@ -190,7 +190,7 @@
<field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">rocko</field>
<field type="CharField" name="branch">thud</field>
<field type="CharField" name="dirpath">meta-poky</field>
</object>
@@ -228,7 +228,7 @@
<field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
<field type="IntegerField" name="layer_source">0</field>
<field rel="ManyToOneRel" to="orm.release" name="release">4</field>
<field type="CharField" name="branch">rocko</field>
<field type="CharField" name="branch">thud</field>
<field type="CharField" name="dirpath">meta-yocto-bsp</field>
</object>
</django-objects>

View File

@@ -144,23 +144,53 @@
you need to get a copy of the Poky repository on your build
host.
Use the following commands to clone the Poky
repository and then checkout the &DISTRO_REL_TAG; release:
repository.
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
remote: Counting objects: 361782, done.
remote: Compressing objects: 100% (87100/87100), done.
remote: Total 361782 (delta 268619), reused 361439 (delta 268277)
Receiving objects: 100% (361782/361782), 131.94 MiB | 6.88 MiB/s, done.
Resolving deltas: 100% (268619/268619), done.
remote: Counting objects: 445141, done.
remote: Compressing objects: 100% (105214/105214), done.
remote: Total 445141 (delta 333098), reused 444745 (delta 332720)
Receiving objects: 100% (445141/445141), 156.60 MiB | 5.13 MiB/s, done.
Resolving deltas: 100% (333098/333098), done.
Checking connectivity... done.
$ git checkout tags/yocto-2.5 -b my-yocto-2.5
</literallayout>
Move to the <filename>poky</filename> directory and take a look
at the tags:
<literallayout class='monospaced'>
$ cd poky
$ git fetch --tags
$ git tag
1.1_M1.final
1.1_M1.rc1
1.1_M1.rc2
1.1_M2.final
1.1_M2.rc1
.
.
.
yocto-2.5
yocto-2.5.1
yocto-2.5.2
yocto-2.5.3
yocto-2.6
yocto-2.6.1
yocto-2.6.2
yocto-2.6.3
yocto-2.7
yocto_1.5_M5.rc8
</literallayout>
For this example, check out the branch based on the
&DISTRO_REL_TAG; release:
<literallayout class='monospaced'>
$ git checkout tags/&DISTRO_REL_TAG; -b my-&DISTRO_REL_TAG;
Switched to a new branch 'my-&DISTRO_REL_TAG;'
</literallayout>
The previous Git checkout command creates a local branch
named my-&DISTRO_REL_TAG;. The files available to you in that
branch exactly match the repository's files in the
"&DISTRO_NAME_NO_CAP;" development branch at the time of the
Yocto Project &DISTRO; release.
Yocto Project &DISTRO_REL_TAG; release.
</para>
<para>
@@ -204,12 +234,41 @@
<orderedlist>
<listitem><para>
<emphasis>Initialize the Build Environment:</emphasis>
Run the
From within the <filename>poky</filename> directory, run the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
environment setup script to define Yocto Project's
build environment on your build host.
<literallayout class='monospaced'>
$ cd ~/poky
$ source &OE_INIT_FILE;
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to, for
example, select a different MACHINE (target hardware). See conf/local.conf
for more information as common configuration options are commented.
You had no conf/bblayers.conf file. This configuration file has therefore been
created for you with some default values. To add additional metadata layers
into your configuration please add entries to conf/bblayers.conf.
The Yocto Project has extensive documentation about OE including a reference
manual which can be found at:
http://yoctoproject.org/documentation
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
### Shell environment set up for builds. ###
You can now run 'bitbake &lt;target&gt;'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
</literallayout>
Among other things, the script creates the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
@@ -333,16 +392,15 @@
You can put the copy in the top level of the copy of the
Poky repository created earlier:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone https://github.com/kraj/meta-altera.git
Cloning into 'meta-altera'...
remote: Counting objects: 25170, done.
remote: Compressing objects: 100% (350/350), done.
remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219
Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done.
Resolving deltas: 100% (13385/13385), done.
Checking connectivity... done.
</literallayout>
remote: Enumerating objects: 219, done.
remote: Counting objects: 100% (219/219), done.
remote: Compressing objects: 100% (116/116), done.
remote: Total 1463 (delta 111), reused 172 (delta 79), pack-reused 1244
Receiving objects: 100% (1463/1463), 211.60 KiB | 0 bytes/s, done.
Resolving deltas: 100% (706/706), done.
Checking connectivity... done. </literallayout>
The hardware layer now exists with other layers inside
the Poky reference repository on your build host as
<filename>meta-altera</filename> and contains all the
@@ -380,8 +438,6 @@
$ cd ~/poky/build
$ bitbake-layers add-layer ../meta-altera
NOTE: Starting bitbake server...
Parsing recipes: 100% |##################################################################| Time: 0:00:32
Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, 123 skipped, 0 masked, 0 errors.
</literallayout>
You can find more information on adding layers in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#adding-a-layer-using-the-bitbake-layers-script'>Adding a Layer Using the <filename>bitbake-layers</filename> Script</ulink>"

View File

@@ -128,9 +128,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -243,11 +243,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-intel.git
Cloning into 'meta-intel'...
remote: Counting objects: 15585, done.
remote: Compressing objects: 100% (5056/5056), done.
remote: Total 15585 (delta 9123), reused 15329 (delta 8867)
Receiving objects: 100% (15585/15585), 4.51 MiB | 3.19 MiB/s, done.
Resolving deltas: 100% (9123/9123), done.
remote: Counting objects: 17179, done.
remote: Compressing objects: 100% (5307/5307), done.
remote: Total 17179 (delta 10209), reused 17139 (delta 10169)
Receiving objects: 100% (17179/17179), 4.76 MiB | 4.39 MiB/s, done.
Resolving deltas: 100% (10209/10209), done.
Checking connectivity... done.
</literallayout>
</para></listitem>
@@ -289,13 +289,12 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-raspberrypi
Cloning into 'meta-raspberrypi'...
remote: Counting objects: 4743, done.
remote: Compressing objects: 100% (2185/2185), done.
remote: Total 4743 (delta 2447), reused 4496 (delta 2258)
Receiving objects: 100% (4743/4743), 1.18 MiB | 0 bytes/s, done.
Resolving deltas: 100% (2447/2447), done.
Checking connectivity... done.
</literallayout>
remote: Counting objects: 6205, done.
remote: Compressing objects: 100% (2700/2700), done.
remote: Total 6205 (delta 3342), reused 5916 (delta 3146)
Receiving objects: 100% (6205/6205), 1.43 MiB | 0 bytes/s, done.
Resolving deltas: 100% (3342/3342), done.
Checking connectivity... done. </literallayout>
</para></listitem>
<listitem><para>
<emphasis>Initialize the Build Environment:</emphasis>
@@ -392,164 +391,15 @@
</para>
<para>
Below is an example of the Raspberry Pi BSP
You can examine the Raspberry Pi BSP
layer that is available from the
<ulink url='&YOCTO_GIT_URL;'>Source Respositories</ulink>:
<literallayout class='monospaced'>
meta-raspberrypi/COPYING.MIT
meta-raspberrypi/README.md
meta-raspberrypi/classes
meta-raspberrypi/classes/sdcard_image-rpi.bbclass
meta-raspberrypi/conf/
meta-raspberrypi/conf/layer.conf
meta-raspberrypi/conf/machine/
meta-raspberrypi/conf/machine/raspberrypi-cm.conf
meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
meta-raspberrypi/conf/machine/raspberrypi.conf
meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
meta-raspberrypi/conf/machine/raspberrypi0.conf
meta-raspberrypi/conf/machine/raspberrypi2.conf
meta-raspberrypi/conf/machine/raspberrypi3-64.conf
meta-raspberrypi/conf/machine/raspberrypi3.conf
meta-raspberrypi/conf/machine/include
meta-raspberrypi/conf/machine/include/rpi-base.inc
meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
meta-raspberrypi/docs
meta-raspberrypi/docs/Makefile
meta-raspberrypi/docs/conf.py
meta-raspberrypi/docs/contributing.md
meta-raspberrypi/docs/extra-apps.md
meta-raspberrypi/docs/extra-build-config.md
meta-raspberrypi/docs/index.rst
meta-raspberrypi/docs/layer-contents.md
meta-raspberrypi/docs/readme.md
meta-raspberrypi/files
meta-raspberrypi/files/custom-licenses
meta-raspberrypi/files/custom-licenses/Broadcom
meta-raspberrypi/recipes-bsp
meta-raspberrypi/recipes-bsp/bootfiles
meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
meta-raspberrypi/recipes-bsp/common
meta-raspberrypi/recipes-bsp/common/firmware.inc
meta-raspberrypi/recipes-bsp/formfactor
meta-raspberrypi/recipes-bsp/formfactor/formfactor
meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi
meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig
meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend
meta-raspberrypi/recipes-bsp/rpi-u-boot-src
meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files
meta-raspberrypi/recipes-bsp/rpi-u-boot-src/files/boot.cmd.in
meta-raspberrypi/recipes-bsp/rpi-u-boot-src/rpi-u-boot-scr.bb
meta-raspberrypi/recipes-bsp/u-boot
meta-raspberrypi/recipes-bsp/u-boot/u-boot
meta-raspberrypi/recipes-bsp/u-boot/u-boot/*.patch
meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
meta-raspberrypi/recipes-connectivity
meta-raspberrypi/recipes-connectivity/bluez5
meta-raspberrypi/recipes-connectivity/bluez5/bluez5
meta-raspberrypi/recipes-connectivity/bluez5/bluez5/*.patch
meta-raspberrypi/recipes-connectivity/bluez5/bluez5/BCM43430A1.hcd
meta-raspberrypi/recipes-connectivity/bluez5/bluez5brcm43438.service
meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
meta-raspberrypi/recipes-core
meta-raspberrypi/recipes-core/images
meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
meta-raspberrypi/recipes-core/images/rpi-test-image.bb
meta-raspberrypi/recipes-core/packagegroups
meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
meta-raspberrypi/recipes-core/psplash
meta-raspberrypi/recipes-core/psplash/files
meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h
meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend
meta-raspberrypi/recipes-core/udev
meta-raspberrypi/recipes-core/udev/udev-rules-rpi
meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules
meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
meta-raspberrypi/recipes-devtools
meta-raspberrypi/recipes-devtools/bcm2835
meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb
meta-raspberrypi/recipes-devtools/pi-blaster
meta-raspberrypi/recipes-devtools/pi-blaster/files
meta-raspberrypi/recipes-devtools/pi-blaster/files/*.patch
meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
meta-raspberrypi/recipes-devtools/python
meta-raspberrypi/recipes-devtools/python/python-rtimu
meta-raspberrypi/recipes-devtools/python/python-rtimu/*.patch
meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
meta-raspberrypi/recipes-devtools/python/rpi-gpio
meta-raspberrypi/recipes-devtools/python/rpi-gpio/*.patch
meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb
meta-raspberrypi/recipes-devtools/python/rpio
meta-raspberrypi/recipes-devtools/python/rpio/*.patch
meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
meta-raspberrypi/recipes-devtools/wiringPi
meta-raspberrypi/recipes-devtools/wiringPi/files
meta-raspberrypi/recipes-devtools/wiringPi/files/*.patch
meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
meta-raspberrypi/recipes-graphics
meta-raspberrypi/recipes-graphics/eglinfo
meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
meta-raspberrypi/recipes-graphics/mesa
meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
meta-raspberrypi/recipes-graphics/userland
meta-raspberrypi/recipes-graphics/userland/userland
meta-raspberrypi/recipes-graphics/userland/userland/*.patch
meta-raspberrypi/recipes-graphics/userland/userland_git.bb
meta-raspberrypi/recipes-graphics/vc-graphics
meta-raspberrypi/recipes-graphics/vc-graphics/files
meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc
meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
meta-raspberrypi/recipes-graphics/wayland
meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
meta-raspberrypi/recipes-graphics/xorg-xserver
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-evdev.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
meta-raspberrypi/recipes-kernel
meta-raspberrypi/recipes-kernel/linux-firmware
meta-raspberrypi/recipes-kernel/linux-firmware/files
meta-raspberrypi/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin
meta-raspberrypi/recipes-kernel/linux-firmware/files/brcfmac43430-sdio.txt
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
meta-raspberrypi/recipes-kernel/linux
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
meta-raspberrypi/recipes-multimedia
meta-raspberrypi/recipes-multimedia/gstreamer
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx/*.patch
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/*.patch
meta-raspberrypi/recipes-multimedia/omxplayer
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/*.patch
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
meta-raspberrypi/recipes-multimedia/x264
meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend
meta-raspberrypi/wic
meta-raspberrypi/wic/sdimage-raspberrypi.wks
</literallayout>
<ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink> by
following this link:
<ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/?h=&DISTRO_NAME_NO_CAP;'></ulink>.
Following the link puts you in the Source Repositories and the
Raspberry Pi BSP layer for the "&DISTRO_NAME_NO_CAP;" release.
You can use the interface to explore the configuration, docs, and
recipe files.
</para>
<para>
@@ -840,13 +690,13 @@
files for the BSP.
Most notably would be the formfactor files.
For example, in the Raspberry Pi BSP there is the
<filename>formfactor_0.0.bbappend</filename> file,
<filename>formfactor_%.bbappend</filename> file,
which is an append file used to augment the recipe
that starts the build.
Furthermore, there are machine-specific settings used
during the build that are defined by the
<filename>machconfig</filename> file further down in
the directory.
the directory (i.e. <filename>formfactor/rpi/</filename>).
Here is the <filename>machconfig</filename> file for
the Raspberry Pi BSP:
<literallayout class='monospaced'>
@@ -866,7 +716,8 @@
formfactor recipe
<filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>,
which is found in the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
(i.e. <filename>poky</filename>).
</para></note>
</section>

View File

@@ -1122,11 +1122,11 @@
.
.
.
yocto-2.2
yocto-2.2.1
yocto-2.3
yocto-2.3.1
yocto-2.4
yocto-2.5
yocto-2.5.1
yocto-2.5.2
yocto-2.6
yocto-2.6.1
yocto_1.5_M5.rc8
</literallayout>
</para></listitem>

View File

@@ -113,9 +113,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -98,9 +98,14 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
</revhistory>
<copyright>

BIN
documentation/mega-manual/figures/package-feeds.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -82,9 +82,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

BIN
documentation/overview-manual/figures/package-feeds.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -3186,7 +3186,8 @@
<para>
In the
<ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>,
the program that implements fakeroot is known as Pseudo.
the program that implements fakeroot is known as
<ulink url='https://www.yoctoproject.org/software-item/pseudo/'>Pseudo</ulink>.
Pseudo overrides system calls by using the environment variable
<filename>LD_PRELOAD</filename>, which results in the illusion
of running as root.
@@ -3220,10 +3221,8 @@
<ulink url='&YOCTO_DOCS_BB_URL;#var-FAKEROOT'><filename>FAKEROOT*</filename></ulink>
variables in the BitBake User Manual.
You can also reference the
"<ulink url='http://www.ibm.com/developerworks/opensource/library/os-aapseudo1/index.html'>Pseudo</ulink>"
and
"<ulink url='https://github.com/wrpseudo/pseudo/wiki/WhyNotFakeroot'>Why Not Fakeroot?</ulink>"
articles for background information on Pseudo.
article for background information on Fakeroot and Pseudo.
</para>
</section>
</chapter>

View File

@@ -1157,7 +1157,7 @@
</para></listitem>
<listitem><para>
The build system generates the file system image and a
customized Extensible SDK (eSDSK) for application
customized Extensible SDK (eSDK) for application
development in parallel.
</para></listitem>
</orderedlist>

View File

@@ -43,9 +43,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -1,17 +1,17 @@
<!ENTITY DISTRO "2.6.1">
<!ENTITY DISTRO_COMPRESSED "261">
<!ENTITY DISTRO "2.6.3">
<!ENTITY DISTRO_COMPRESSED "263">
<!ENTITY DISTRO_NAME_NO_CAP "thud">
<!ENTITY DISTRO_NAME "Thud">
<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "sumo">
<!ENTITY DISTRO_NAME_MINUS_ONE "Sumo">
<!ENTITY YOCTO_DOC_VERSION "2.6.1">
<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.5.2">
<!ENTITY DISTRO_REL_TAG "yocto-2.6.1">
<!ENTITY METAINTELVERSION "9.0">
<!ENTITY REL_MONTH_YEAR "December 2018">
<!ENTITY YOCTO_DOC_VERSION "2.6.3">
<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.5.3">
<!ENTITY DISTRO_REL_TAG "yocto-2.6.3">
<!ENTITY METAINTELVERSION "10.1">
<!ENTITY REL_MONTH_YEAR "July 2019">
<!ENTITY META_INTEL_REL_TAG "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;">
<!ENTITY POKYVERSION "21.0.1">
<!ENTITY POKYVERSION_COMPRESSED "2101">
<!ENTITY POKYVERSION "20.0.3">
<!ENTITY POKYVERSION_COMPRESSED "2003">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2019">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">

View File

@@ -98,9 +98,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -129,9 +129,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -88,36 +88,56 @@
</itemizedlist>
</note>
<itemizedlist>
<!-- <listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 16.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 18.04</para></listitem>
<listitem><para>Fedora 28</para></listitem>
<listitem><para>CentOS 7.x</para></listitem>
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
<listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
<listitem><para>OpenSUSE 42.3</para></listitem>
</itemizedlist>
</para>
<!--
Checkout the poky distro you are interested in (by branch or tag).
From the poky directory, run the script:
bitbake -e | grep ^SANITY_TESTED_DISTROS | sed -e 's/.*"\(.*\)".*/\1/g' -e 's!\\n!\n!g' | sed 's/^[\t]*//;s/[ \t]*$//' | grep -v Poky
This returns a list of the supported distros for the release.
Here is some old list items to show the form:
<listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem>
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 13.10</para></listitem>
<listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 14.10</para></listitem>
<listitem><para>Ubuntu 15.04</para></listitem>
<listitem><para>Ubuntu 15.10</para></listitem> -->
<listitem><para>Ubuntu 15.10</para></listitem>
<listitem><para>Ubuntu 16.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 16.10 (LTS)</para></listitem>
<listitem><para>Ubuntu 17.04</para></listitem>
<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 17 (Spherical)</para></listitem>
<listitem><para>Fedora 19 (Schrödinger's Cat)</para></listitem>
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem>
<listitem><para>Fedora release 22</para></listitem>
<listitem><para>Fedora release 23</para></listitem>
<listitem><para>Fedora release 24</para></listitem> -->
<listitem><para>Fedora release 24</para></listitem>
<listitem><para>Fedora release 26</para></listitem>
<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.7 (Final)</para></listitem>
<listitem><para>CentOS release 5.8 (Final)</para></listitem>
<listitem><para>CentOS release 6.3 (Final)</para></listitem>
<listitem><para>CentOS release 6.x</para></listitem> -->
<listitem><para>CentOS release 6.x</para></listitem>
<listitem><para>CentOS release 7.x</para></listitem>
<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem> -->
<listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
<listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
@@ -128,11 +148,10 @@
<listitem><para>openSUSE 12.2</para></listitem>
<listitem><para>openSUSE 12.3</para></listitem>
<listitem><para>openSUSE 13.1</para></listitem>
<listitem><para>openSUSE 13.2</para></listitem> -->
<listitem><para>openSUSE 13.2</para></listitem>
<listitem><para>openSUSE 42.1</para></listitem>
<listitem><para>openSUSE 42.2</para></listitem>
</itemizedlist>
</para>
-->
<note>
While the Yocto Project Team attempts to ensure all Yocto Project

View File

@@ -1350,7 +1350,7 @@
For example, the following line specifies three
configuration files:
<literallayout class='monospaced'>
BBMULTIFONFIG = "configA configB configC"
BBMULTICONFIG = "configA configB configC"
</literallayout>
Each configuration file you use must reside in the
<link linkend='build-directory'>Build Directory</link>
@@ -6697,10 +6697,10 @@
revisioning by appending values to the
<filename>INC_PR</filename> variable:
<literallayout class='monospaced'>
recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</literallayout>
The first line of the example establishes the baseline
revision to be used for all recipes that use the
@@ -13707,7 +13707,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para></listitem>
<listitem><para><emphasis><filename>maxdate</filename> -</emphasis>
Apply the patch only if <filename>SRCDATE</filename>
is not later than <filename>mindate</filename>.
is not later than <filename>maxdate</filename>.
</para></listitem>
<listitem><para><emphasis><filename>minrev</filename> -</emphasis>
Apply the patch only if <filename>SRCREV</filename>
@@ -16833,7 +16833,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
USERADD_PACKAGES = "${PN}"
</literallayout>
<note>
If follows that if you are going to use the
It follows that if you are going to use the
<filename>USERADD_PACKAGES</filename> variable,
you need to set one or more of the
<link linkend='var-USERADD_PARAM'><filename>USERADD_PARAM</filename></link>,

View File

@@ -63,9 +63,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -73,9 +73,19 @@
</revision>
<revision>
<revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
<date>February 2019</date>
<revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.2</revnumber>
<date>April 2019</date>
<revremark>Released with the Yocto Project 2.6.2 Release.</revremark>
</revision>
<revision>
<revnumber>2.6.3</revnumber>
<date>&REL_MONTH_YEAR;</date>
<revremark>Released with the Yocto Project 2.6.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -2,39 +2,39 @@
# This style is for manual folders like "yocto-project-qs" and "poky-ref-manual".
# This is the old way that did it. Can't do that now that we have "bitbake-user-manual" strings
# in the mega-manual.
# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/poky-ref-manual/poky-ref-manual.html#@"link" href="#@g
# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/yocto-project-qs/yocto-project-qs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/poky-ref-manual/poky-ref-manual.html#@"link" href="#@g
# Processes all other manuals (<word>-<word> style) except for the BitBake User Manual because
# it is not included in the mega-manual.
# This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual").
# This was the one-liner that worked before we introduced the BitBake User Manual, which is
# not in the mega-manual.
# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/sdk-manual/sdk-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/bsp-guide/bsp-guide.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/dev-manual/dev-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/overview-manual/overview-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/kernel-dev/kernel-dev.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/profile-manual/profile-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/ref-manual/ref-manual.html#@"link" href="#@g
s@"ulink" href="http://www.yoctoproject.org/docs/2.6.3/toaster-manual/toaster-manual.html#@"link" href="#@g
# Process cases where just an external manual is referenced without an id anchor
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html" target="_top">Yocto Project Quick Start</a>@Yocto Project Quick Start@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/yocto-project-qs/yocto-project-qs.html" target="_top">Yocto Project Quick Start</a>@Yocto Project Quick Start@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
# Process a single, rouge occurrence of a linked reference to the Mega-Manual.
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g
s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.3/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "2.6.1"
DISTRO_VERSION = "2.6.3"
DISTRO_CODENAME = "thud"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

View File

@@ -8,11 +8,11 @@ KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
SRCREV_machine_genericx86 ?= "33859b3077c83d8a024946ba06a59990546fcbc7"
SRCREV_machine_genericx86-64 ?= "33859b3077c83d8a024946ba06a59990546fcbc7"
SRCREV_machine_edgerouter ?= "0cdc8564c61958a39704d97e008120bd7c762f60"
SRCREV_machine_beaglebone-yocto ?= "0cdc8564c61958a39704d97e008120bd7c762f60"
SRCREV_machine_mpc8315e-rdb ?= "20be2231bb047b02248d7f965c1c3af0c6be3a5e"
SRCREV_machine_genericx86 ?= "db2d813869a0501782469ecdb17e277a501c9f57"
SRCREV_machine_genericx86-64 ?= "db2d813869a0501782469ecdb17e277a501c9f57"
SRCREV_machine_edgerouter ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2"
SRCREV_machine_beaglebone-yocto ?= "28e7781d57a59227bf1c08c7f3dbdfee16aa0dc2"
SRCREV_machine_mpc8315e-rdb ?= "99071a599d8650b069fb8135866fca203f375350"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
@@ -20,8 +20,8 @@ COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.18.14"
LINUX_VERSION_genericx86-64 = "4.18.14"
LINUX_VERSION_edgerouter = "4.18.9"
LINUX_VERSION_beaglebone-yocto = "4.18.9"
LINUX_VERSION_mpc8315e-rdb = "4.18.9"
LINUX_VERSION_genericx86 = "4.18.22"
LINUX_VERSION_genericx86-64 = "4.18.22"
LINUX_VERSION_edgerouter = "4.18.25"
LINUX_VERSION_beaglebone-yocto = "4.18.25"
LINUX_VERSION_mpc8315e-rdb = "4.18.25"

View File

@@ -1,11 +1,11 @@
def get_minor_dir(v):
import re
m = re.match("^([0-9]+)\.([0-9]+)", v)
m = re.match(r"^([0-9]+)\.([0-9]+)", v)
return "%s.%s" % (m.group(1), m.group(2))
def get_real_name(n):
import re
m = re.match("^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n)
m = re.match(r"^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n)
return "%s" % (m.group(1))
VERMINOR = "${@get_minor_dir("${PV}")}"

View File

@@ -20,7 +20,7 @@ python() {
elif generator == "Ninja":
d.appendVar("DEPENDS", " ninja-native")
d.setVar("OECMAKE_GENERATOR_ARGS", "-G Ninja -DCMAKE_MAKE_PROGRAM=ninja")
d.setVarFlag("do_compile", "progress", "outof:^\[(\d+)/(\d+)\]\s+")
d.setVarFlag("do_compile", "progress", r"outof:^\[(\d+)/(\d+)\]\s+")
else:
bb.fatal("Unknown CMake Generator %s" % generator)
}

View File

@@ -38,6 +38,8 @@ BB_HASHBASE_WHITELIST += "ICECC_PARALLEL_MAKE ICECC_DISABLED ICECC_USER_PACKAGE_
ICECC_ENV_EXEC ?= "${STAGING_BINDIR_NATIVE}/icecc-create-env"
HOSTTOOLS_NONFATAL += "icecc patchelf"
# This version can be incremented when changes are made to the environment that
# invalidate the version on the compile nodes. Changing it will cause a new
# environment to be created.
@@ -98,9 +100,11 @@ DEPENDS_prepend += "${@icecc_dep_prepend(d)} "
get_cross_kernel_cc[vardepsexclude] += "KERNEL_CC"
def get_cross_kernel_cc(bb,d):
kernel_cc = d.getVar('KERNEL_CC')
if not icecc_is_kernel(bb, d):
return None
# evaluate the expression by the shell if necessary
kernel_cc = d.getVar('KERNEL_CC')
if '`' in kernel_cc or '$(' in kernel_cc:
import subprocess
kernel_cc = subprocess.check_output("echo %s" % kernel_cc, shell=True).decode("utf-8")[:-1]
@@ -113,38 +117,6 @@ def get_cross_kernel_cc(bb,d):
def get_icecc(d):
return d.getVar('ICECC_PATH') or bb.utils.which(os.getenv("PATH"), "icecc")
def create_path(compilers, bb, d):
"""
Create Symlinks for the icecc in the staging directory
"""
staging = os.path.join(d.expand('${STAGING_BINDIR}'), "ice")
if icecc_is_kernel(bb, d):
staging += "-kernel"
#check if the icecc path is set by the user
icecc = get_icecc(d)
# Create the dir if necessary
try:
os.stat(staging)
except:
try:
os.makedirs(staging)
except:
pass
for compiler in compilers:
gcc_path = os.path.join(staging, compiler)
try:
os.stat(gcc_path)
except:
try:
os.symlink(icecc, gcc_path)
except:
pass
return staging
def use_icecc(bb,d):
if d.getVar('ICECC_DISABLED') == "1":
# don't even try it, when explicitly disabled
@@ -248,12 +220,11 @@ def icecc_path(bb,d):
# don't create unnecessary directories when icecc is disabled
return
staging = os.path.join(d.expand('${STAGING_BINDIR}'), "ice")
if icecc_is_kernel(bb, d):
return create_path( [get_cross_kernel_cc(bb,d), ], bb, d)
staging += "-kernel"
else:
prefix = d.expand('${HOST_PREFIX}')
return create_path( [prefix+"gcc", prefix+"g++"], bb, d)
return staging
def icecc_get_external_tool(bb, d, tool):
external_toolchain_bindir = d.expand('${EXTERNAL_TOOLCHAIN}${bindir_cross}')
@@ -303,9 +274,9 @@ def icecc_get_and_check_tool(bb, d, tool):
# compiler environment package.
t = icecc_get_tool(bb, d, tool)
if t:
link_path = icecc_get_tool_link(tool, d)
link_path = icecc_get_tool_link(t, d)
if link_path == get_icecc(d):
bb.error("%s is a symlink to %s in PATH and this prevents icecc from working" % (t, get_icecc(d)))
bb.error("%s is a symlink to %s in PATH and this prevents icecc from working" % (t, link_path))
return ""
else:
return t
@@ -350,6 +321,27 @@ set_icecc_env() {
return
fi
ICECC_BIN="${@get_icecc(d)}"
if [ -z "${ICECC_BIN}" ]; then
bbwarn "Cannot use icecc: icecc binary not found"
return
fi
if [ -z "$(which patchelf patchelf-uninative)" ]; then
bbwarn "Cannot use icecc: patchelf not found"
return
fi
# Create symlinks to icecc in the recipe-sysroot directory
mkdir -p ${ICE_PATH}
if [ -n "${KERNEL_CC}" ]; then
compilers="${@get_cross_kernel_cc(bb,d)}"
else
compilers="${HOST_PREFIX}gcc ${HOST_PREFIX}g++"
fi
for compiler in $compilers; do
ln -sf ${ICECC_BIN} ${ICE_PATH}/$compiler
done
ICECC_CC="${@icecc_get_and_check_tool(bb, d, "gcc")}"
ICECC_CXX="${@icecc_get_and_check_tool(bb, d, "g++")}"
# cannot use icecc_get_and_check_tool here because it assumes as without target_sys prefix
@@ -387,7 +379,7 @@ set_icecc_env() {
${ICECC_ENV_EXEC} ${ICECC_ENV_DEBUG} "${ICECC_CC}" "${ICECC_CXX}" "${ICECC_AS}" "${ICECC_VERSION}"
then
touch "${ICECC_VERSION}.done"
elif [ ! wait_for_file "${ICECC_VERSION}.done" 30 ]
elif ! wait_for_file "${ICECC_VERSION}.done" 30
then
# locking failed so wait for ${ICECC_VERSION}.done to appear
bbwarn "Timeout waiting for ${ICECC_VERSION}.done"

View File

@@ -171,7 +171,9 @@ multiubi_mkfs() {
echo vol_type=dynamic >> ubinize${vname}-${IMAGE_NAME}.cfg
echo vol_name=${UBI_VOLNAME} >> ubinize${vname}-${IMAGE_NAME}.cfg
echo vol_flags=autoresize >> ubinize${vname}-${IMAGE_NAME}.cfg
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
if [ -n "$vname" ]; then
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
fi
ubinize -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubi ${ubinize_args} ubinize${vname}-${IMAGE_NAME}.cfg
# Cleanup cfg file
@@ -205,6 +207,7 @@ IMAGE_CMD_multiubi () {
IMAGE_CMD_ubi () {
multiubi_mkfs "${MKUBIFS_ARGS}" "${UBINIZE_ARGS}"
}
IMAGE_TYPEDEP_ubi = "ubifs"
IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"

View File

@@ -111,7 +111,7 @@ def package_qa_check_rpath(file,name, d, elf, messages):
phdrs = elf.run_objdump("-p", d)
import re
rpath_re = re.compile("\s+RPATH\s+(.*)")
rpath_re = re.compile(r"\s+RPATH\s+(.*)")
for line in phdrs.split("\n"):
m = rpath_re.match(line)
if m:
@@ -140,7 +140,7 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages):
phdrs = elf.run_objdump("-p", d)
import re
rpath_re = re.compile("\s+RPATH\s+(.*)")
rpath_re = re.compile(r"\s+RPATH\s+(.*)")
for line in phdrs.split("\n"):
m = rpath_re.match(line)
if m:
@@ -203,8 +203,8 @@ def package_qa_check_libdir(d):
# The re's are purposely fuzzy, as some there are some .so.x.y.z files
# that don't follow the standard naming convention. It checks later
# that they are actual ELF files
lib_re = re.compile("^/lib.+\.so(\..+)?$")
exec_re = re.compile("^%s.*/lib.+\.so(\..+)?$" % exec_prefix)
lib_re = re.compile(r"^/lib.+\.so(\..+)?$")
exec_re = re.compile(r"^%s.*/lib.+\.so(\..+)?$" % exec_prefix)
for root, dirs, files in os.walk(pkgdest):
if root == pkgdest:
@@ -302,7 +302,7 @@ def package_qa_check_arch(path,name,d, elf, messages):
# Check the architecture and endiannes of the binary
is_32 = (("virtual/kernel" in provides) or bb.data.inherits_class("module", d)) and \
(target_os == "linux-gnux32" or target_os == "linux-muslx32" or \
target_os == "linux-gnu_ilp32" or re.match('mips64.*32', d.getVar('DEFAULTTUNE')))
target_os == "linux-gnu_ilp32" or re.match(r'mips64.*32', d.getVar('DEFAULTTUNE')))
is_bpf = (oe.qa.elf_machine_to_string(elf.machine()) == "BPF")
if not ((machine == elf.machine()) or is_32 or is_bpf):
package_qa_add_message(messages, "arch", "Architecture did not match (%s, expected %s) on %s" % \
@@ -342,7 +342,7 @@ def package_qa_textrel(path, name, d, elf, messages):
sane = True
import re
textrel_re = re.compile("\s+TEXTREL\s+")
textrel_re = re.compile(r"\s+TEXTREL\s+")
for line in phdrs.split("\n"):
if textrel_re.match(line):
sane = False
@@ -952,7 +952,7 @@ python do_package_qa () {
import re
# The package name matches the [a-z0-9.+-]+ regular expression
pkgname_pattern = re.compile("^[a-z0-9.+-]+$")
pkgname_pattern = re.compile(r"^[a-z0-9.+-]+$")
taskdepdata = d.getVar("BB_TASKDEPDATA", False)
taskdeps = set()
@@ -1160,7 +1160,7 @@ python () {
if pn in overrides:
msg = 'Recipe %s has PN of "%s" which is in OVERRIDES, this can result in unexpected behaviour.' % (d.getVar("FILE"), pn)
package_qa_handle_error("pn-overrides", msg, d)
prog = re.compile('[A-Z]')
prog = re.compile(r'[A-Z]')
if prog.search(pn):
package_qa_handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d)

View File

@@ -157,8 +157,8 @@ PACKAGES_DYNAMIC += "^${KERNEL_PACKAGE_NAME}-firmware-.*"
export OS = "${TARGET_OS}"
export CROSS_COMPILE = "${TARGET_PREFIX}"
export KBUILD_BUILD_VERSION = "1"
export KBUILD_BUILD_USER = "oe-user"
export KBUILD_BUILD_HOST = "oe-host"
export KBUILD_BUILD_USER ?= "oe-user"
export KBUILD_BUILD_HOST ?= "oe-host"
KERNEL_RELEASE ?= "${KERNEL_VERSION}"
@@ -224,9 +224,11 @@ copy_initramfs() {
break
;;
esac
break
fi
done
echo "Finished copy of initramfs into ./usr"
# Verify that the above loop found a initramfs, fail otherwise
[ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
}
do_bundle_initramfs () {
@@ -492,7 +494,7 @@ sysroot_stage_all () {
:
}
KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} oldnoconfig"
KERNEL_CONFIG_COMMAND ?= "oe_runmake_call -C ${S} CC="${KERNEL_CC}" O=${B} olddefconfig || oe_runmake -C ${S} O=${B} CC="${KERNEL_CC}" oldnoconfig"
python check_oldest_kernel() {
oldest_kernel = d.getVar('OLDEST_KERNEL')
@@ -682,6 +684,9 @@ kernel_do_deploy() {
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
for imageType in ${KERNEL_IMAGETYPES} ; do
if [ "$imageType" = "fitImage" ] ; then
continue
fi
initramfs_base_name=${imageType}-${INITRAMFS_NAME}
initramfs_symlink_name=${imageType}-${INITRAMFS_LINK_NAME}
install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType}.initramfs $deployDir/${initramfs_base_name}.bin

View File

@@ -52,8 +52,8 @@ def write_license_files(d, license_manifest, pkg_dic):
except oe.license.LicenseError as exc:
bb.fatal('%s: %s' % (d.getVar('P'), exc))
else:
pkg_dic[pkg]["LICENSES"] = re.sub('[|&()*]', ' ', pkg_dic[pkg]["LICENSE"])
pkg_dic[pkg]["LICENSES"] = re.sub(' *', ' ', pkg_dic[pkg]["LICENSES"])
pkg_dic[pkg]["LICENSES"] = re.sub(r'[|&()*]', ' ', pkg_dic[pkg]["LICENSE"])
pkg_dic[pkg]["LICENSES"] = re.sub(r' *', ' ', pkg_dic[pkg]["LICENSES"])
pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split()
if not "IMAGE_MANIFEST" in pkg_dic[pkg]:
@@ -78,7 +78,7 @@ def write_license_files(d, license_manifest, pkg_dic):
for lic in pkg_dic[pkg]["LICENSES"]:
lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY'),
pkg_dic[pkg]["PN"], "generic_%s" %
re.sub('\+', '', lic))
re.sub(r'\+', '', lic))
# add explicity avoid of CLOSED license because isn't generic
if lic == "CLOSED":
continue
@@ -119,14 +119,14 @@ def write_license_files(d, license_manifest, pkg_dic):
pkg_license = os.path.join(pkg_license_dir, lic)
pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic)
if re.match("^generic_.*$", lic):
if re.match(r"^generic_.*$", lic):
generic_lic = canonical_license(d,
re.search("^generic_(.*)$", lic).group(1))
re.search(r"^generic_(.*)$", lic).group(1))
# Do not copy generic license into package if isn't
# declared into LICENSES of the package.
if not re.sub('\+$', '', generic_lic) in \
[re.sub('\+', '', lic) for lic in \
if not re.sub(r'\+$', '', generic_lic) in \
[re.sub(r'\+', '', lic) for lic in \
pkg_manifest_licenses]:
continue

View File

@@ -368,7 +368,8 @@ def append_source_info(file, sourcefile, d, fatal=True):
# is still assuming that.
debuglistoutput = '\0'.join(debugsources) + '\0'
lf = bb.utils.lockfile(sourcefile + ".lock")
open(sourcefile, 'a').write(debuglistoutput)
with open(sourcefile, 'a') as sf:
sf.write(debuglistoutput)
bb.utils.unlockfile(lf)
@@ -2121,7 +2122,7 @@ python package_depchains() {
# Since bitbake can't determine which variables are accessed during package
# iteration, we need to list them here:
PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm 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"
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):
ret = []

View File

@@ -153,6 +153,7 @@ python patch_do_patch() {
patch_do_patch[vardepsexclude] = "PATCHRESOLVE"
addtask patch after do_unpack
do_patch[umask] = "022"
do_patch[dirs] = "${WORKDIR}"
do_patch[depends] = "${PATCHDEPENDENCY}"

View File

@@ -13,7 +13,7 @@ def get_perl_version(d):
return None
l = f.readlines();
f.close();
r = re.compile("^version='(\d*\.\d*\.\d*)'")
r = re.compile(r"^version='(\d*\.\d*\.\d*)'")
for s in l:
m = r.match(s)
if m:

View File

@@ -164,8 +164,7 @@ python inject_rm_work() {
# Determine what do_build depends upon, without including do_build
# itself or our own special do_rm_work_all.
deps = set(bb.build.preceedtask('do_build', True, d))
deps.difference_update(('do_build', 'do_rm_work_all'))
deps = sorted((set(bb.build.preceedtask('do_build', True, d))).difference(('do_build', 'do_rm_work_all')) or "")
# deps can be empty if do_build doesn't exist, e.g. *-inital recipes
if not deps:

View File

@@ -362,7 +362,10 @@ def sstate_installpkgdir(ss, d):
for plain in ss['plaindirs']:
workdir = d.getVar('WORKDIR')
sharedworkdir = os.path.join(d.getVar('TMPDIR'), "work-shared")
src = sstateinst + "/" + plain.replace(workdir, '')
if sharedworkdir in plain:
src = sstateinst + "/" + plain.replace(sharedworkdir, '')
dest = plain
bb.utils.mkdirhier(src)
prepdir(dest)
@@ -620,8 +623,11 @@ def sstate_package(ss, d):
os.rename(state[1], sstatebuild + state[0])
workdir = d.getVar('WORKDIR')
sharedworkdir = os.path.join(d.getVar('TMPDIR'), "work-shared")
for plain in ss['plaindirs']:
pdir = plain.replace(workdir, sstatebuild)
if sharedworkdir in plain:
pdir = plain.replace(sharedworkdir, sstatebuild)
bb.utils.mkdirhier(plain)
bb.utils.mkdirhier(pdir)
os.rename(plain, pdir)

View File

@@ -86,7 +86,7 @@ python systemd_populate_packages() {
def systemd_generate_package_scripts(pkg):
bb.debug(1, 'adding systemd calls to postinst/postrm for %s' % pkg)
paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE_' + pkg, True).split())
paths_escaped = ' '.join(shlex.quote(s) for s in d.getVar('SYSTEMD_SERVICE_' + pkg).split())
d.setVar('SYSTEMD_SERVICE_ESCAPED_' + pkg, paths_escaped)
# Add pkg to the overrides so that it finds the SYSTEMD_SERVICE_pkg

View File

@@ -31,6 +31,7 @@ TESTIMAGE_AUTO ??= "0"
# TEST_LOG_DIR contains a command ssh log and may contain infromation about what command is running, output and return codes and for qemu a boot log till login.
# Booting is handled by this class, and it's not a test in itself.
# TEST_QEMUBOOT_TIMEOUT can be used to set the maximum time in seconds the launch code will wait for the login prompt.
# 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_LOG_DIR ?= "${WORKDIR}/testimage"
@@ -40,31 +41,13 @@ TEST_NEEDED_PACKAGES_DIR ?= "${WORKDIR}/testimage/packages"
TEST_EXTRACTED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/extracted"
TEST_PACKAGED_DIR ?= "${TEST_NEEDED_PACKAGES_DIR}/packaged"
PKGMANTESTSUITE = "\
${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'dnf rpm', '', d)} \
${@bb.utils.contains('IMAGE_PKGTYPE', 'ipk', 'opkg', '', d)} \
${@bb.utils.contains('IMAGE_PKGTYPE', 'deb', 'apt', '', d)} \
"
SYSTEMDSUITE = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
MINTESTSUITE = "ping"
NETTESTSUITE = "${MINTESTSUITE} ssh df date scp oe_syslog ${SYSTEMDSUITE}"
DEVTESTSUITE = "gcc kernelmodule ldd"
PTESTTESTSUITE = "${MINTESTSUITE} ssh scp ptest"
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"
DEFAULT_TEST_SUITES = "${MINTESTSUITE} auto"
DEFAULT_TEST_SUITES_pn-core-image-minimal = "${MINTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-minimal-dev = "${MINTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-full-cmdline = "${NETTESTSUITE} perl python logrotate ptest"
DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}"
DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${PKGMANTESTSUITE} ptest"
DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${PKGMANTESTSUITE} \
${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)} ptest gi"
DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \
connman ${DEVTESTSUITE} logrotate perl parselogs python ${PKGMANTESTSUITE} xorg ptest gi stap"
DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${PKGMANTESTSUITE} ptest gi"
DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildlzip buildgalculator \
connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${PKGMANTESTSUITE} ptest gi stap"
DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto"
DEFAULT_TEST_SUITES = "${BASICTESTSUITE}"
# aarch64 has no graphics
DEFAULT_TEST_SUITES_remove_aarch64 = "xorg"
@@ -81,21 +64,20 @@ TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
TEST_QEMUBOOT_TIMEOUT ?= "1000"
TEST_TARGET ?= "qemu"
TEST_QEMUPARAMS ?= ""
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)}"
TESTIMAGEDEPENDS_append_qemuall = " ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS_append_qemuall = " ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'dnf-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'ipk', 'opkg-utils-native:do_populate_sysroot package-index:do_package_index', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'deb', 'apt-native:do_populate_sysroot package-index:do_package_index', '', d)}"
TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c-native:do_populate_sysroot', '', d)}"
TESTIMAGELOCK = "${TMPDIR}/testimage.lock"
TESTIMAGELOCK_qemuall = ""
TESTIMAGE_DUMP_DIR ?= "/tmp/oe-saved-tests/"
TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR"
@@ -219,12 +201,13 @@ def testimage_main(d):
machine = d.getVar("MACHINE")
# Get rootfs
fstypes = [fs for fs in d.getVar('IMAGE_FSTYPES').split(' ')
if fs in supported_fstypes]
if not fstypes:
bb.fatal('Unsupported image type built. Add a comptible image to '
'IMAGE_FSTYPES. Supported types: %s' %
', '.join(supported_fstypes))
fstypes = d.getVar('IMAGE_FSTYPES').split()
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 '
'IMAGE_FSTYPES. Supported types: %s' %
', '.join(supported_fstypes))
rootfs = '%s.%s' % (image_name, fstypes[0])
# Get tmpdir (not really used, just for compatibility)
@@ -248,13 +231,11 @@ def testimage_main(d):
boottime = int(d.getVar("TEST_QEMUBOOT_TIMEOUT"))
# Get use_kvm
qemu_use_kvm = d.getVar("QEMU_USE_KVM")
if qemu_use_kvm and \
(d.getVar('MACHINE') in qemu_use_kvm.split() or \
oe.types.boolean(qemu_use_kvm) and 'x86' in machine):
kvm = True
else:
kvm = False
kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
slirp = False
if d.getVar("QEMU_USE_SLIRP"):
slirp = True
# TODO: We use the current implementatin of qemu runner because of
# time constrains, qemu runner really needs a refactor too.
@@ -267,6 +248,8 @@ def testimage_main(d):
'boottime' : boottime,
'bootlog' : bootlog,
'kvm' : kvm,
'slirp' : slirp,
'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"),
}
# TODO: Currently BBPATH is needed for custom loading of targets.
@@ -306,17 +289,12 @@ def testimage_main(d):
package_extraction(d, tc.suites)
bootparams = None
if d.getVar('VIRTUAL-RUNTIME_init_manager', '') == 'systemd':
# Add systemd.log_level=debug to enable systemd debug logging
bootparams = 'systemd.log_target=console'
results = None
orig_sigterm_handler = signal.signal(signal.SIGTERM, sigterm_exception)
try:
# We need to check if runqemu ends unexpectedly
# or if the worker send us a SIGTERM
tc.target.start(extra_bootparams=bootparams)
tc.target.start(params=d.getVar("TEST_QEMUPARAMS"))
results = tc.runTests()
except (RuntimeError, BlockingIOError) as err:
if isinstance(err, RuntimeError):
@@ -336,7 +314,8 @@ def testimage_main(d):
configuration = get_testimage_configuration(d, 'runtime', machine)
results.logDetails(get_testimage_json_result_dir(d),
configuration,
get_testimage_result_id(configuration))
get_testimage_result_id(configuration),
dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
results.logSummary(pn)
if not results.wasSuccessful():
bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)

View File

@@ -14,218 +14,31 @@
#
# where "<image-name>" is an image like core-image-sato.
def get_sdk_configuration(d, test_type):
import platform
from oeqa.utils.metadata import get_layers
configuration = {'TEST_TYPE': test_type,
'MACHINE': d.getVar("MACHINE"),
'SDKMACHINE': d.getVar("SDKMACHINE"),
'IMAGE_BASENAME': d.getVar("IMAGE_BASENAME"),
'IMAGE_PKGTYPE': d.getVar("IMAGE_PKGTYPE"),
'STARTTIME': d.getVar("DATETIME"),
'HOST_DISTRO': oe.lsb.distro_identifier().replace(' ', '-'),
'LAYERS': get_layers(d.getVar("BBLAYERS"))}
return configuration
get_sdk_configuration[vardepsexclude] = "DATETIME"
TESTSDK_CLASS_NAME ?= "oeqa.sdk.testsdk.TestSDK"
TESTSDKEXT_CLASS_NAME ?= "oeqa.sdkext.testsdk.TestSDKExt"
def get_sdk_json_result_dir(d):
json_result_dir = os.path.join(d.getVar("LOG_DIR"), 'oeqa')
custom_json_result_dir = d.getVar("OEQA_JSON_RESULT_DIR")
if custom_json_result_dir:
json_result_dir = custom_json_result_dir
return json_result_dir
def import_and_run(name, d):
import importlib
def get_sdk_result_id(configuration):
return '%s_%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['SDKMACHINE'], configuration['MACHINE'], configuration['STARTTIME'])
class_name = d.getVar(name)
if class_name:
module, cls = class_name.rsplit('.', 1)
m = importlib.import_module(module)
c = getattr(m, cls)()
c.run(d)
else:
bb.warn('No tests were run because %s did not define a class' % name)
def testsdk_main(d):
import os
import subprocess
import json
import logging
from bb.utils import export_proxies
from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
from oeqa.utils import make_logger_bitbake_compatible
pn = d.getVar("PN")
logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
# sdk use network for download projects for build
export_proxies(d)
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain %s is not built. Build it before running the tests: 'bitbake <image> -c populate_sdk' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = OESDKTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = OESDKTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
processes = d.getVar("TESTIMAGE_NUMBER_THREADS") or d.getVar("BB_NUMBER_THREADS")
if processes:
try:
import testtools, subunit
except ImportError:
bb.warn("Failed to import testtools or subunit, the testcases will run serially")
processes = None
sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
bb.utils.remove(sdk_dir, True)
bb.utils.mkdirhier(sdk_dir)
try:
subprocess.check_output("cd %s; %s <<EOF\n./\nY\nEOF" % (sdk_dir, tcname), shell=True)
except subprocess.CalledProcessError as e:
bb.fatal("Couldn't install the SDK:\n%s" % e.output.decode("utf-8"))
fail = False
sdk_envs = OESDKTestContextExecutor._get_sdk_environs(sdk_dir)
for s in sdk_envs:
sdk_env = sdk_envs[s]
bb.plain("SDK testing environment: %s" % s)
tc = OESDKTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
host_pkg_manifest=host_pkg_manifest)
try:
tc.loadTests(OESDKTestContextExecutor.default_cases)
except Exception as e:
import traceback
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
if processes:
result = tc.runTests(processes=int(processes))
else:
result = tc.runTests()
component = "%s %s" % (pn, OESDKTestContextExecutor.name)
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
configuration = get_sdk_configuration(d, 'sdk')
result.logDetails(get_sdk_json_result_dir(d),
configuration,
get_sdk_result_id(configuration))
result.logSummary(component, context_msg)
if not result.wasSuccessful():
fail = True
if fail:
bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
testsdk_main[vardepsexclude] =+ "BB_ORIGENV"
import_and_run[vardepsexclude] = "DATETIME BB_ORIGENV"
python do_testsdk() {
testsdk_main(d)
import_and_run('TESTSDK_CLASS_NAME', d)
}
addtask testsdk
do_testsdk[nostamp] = "1"
def testsdkext_main(d):
import os
import json
import subprocess
import logging
from bb.utils import export_proxies
from oeqa.utils import avoid_paths_in_environ, make_logger_bitbake_compatible, subprocesstweak
from oeqa.sdkext.context import OESDKExtTestContext, OESDKExtTestContextExecutor
pn = d.getVar("PN")
logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
# extensible sdk use network
export_proxies(d)
subprocesstweak.errors_have_output()
# extensible sdk can be contaminated if native programs are
# in PATH, i.e. use perl-native instead of eSDK one.
paths_to_avoid = [d.getVar('STAGING_DIR'),
d.getVar('BASE_WORKDIR')]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"))
sdk_dir = d.expand("${WORKDIR}/testsdkext/")
bb.utils.remove(sdk_dir, True)
bb.utils.mkdirhier(sdk_dir)
try:
subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
logfn = os.path.join(sdk_dir, 'preparing_build_system.log')
if os.path.exists(logfn):
msg += '\n\nContents of preparing_build_system.log:\n'
with open(logfn, 'r') as f:
for line in f:
msg += line
bb.fatal(msg)
fail = False
sdk_envs = OESDKExtTestContextExecutor._get_sdk_environs(sdk_dir)
for s in sdk_envs:
bb.plain("Extensible SDK testing environment: %s" % s)
sdk_env = sdk_envs[s]
# Use our own SSTATE_DIR and DL_DIR so that updates to the eSDK come from our sstate cache
# and we don't spend hours downloading kernels for the kernel module test
# Abuse auto.conf since local.conf would be overwritten by the SDK
with open(os.path.join(sdk_dir, 'conf', 'auto.conf'), 'a+') as f:
f.write('SSTATE_MIRRORS += " \\n file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
f.write('SOURCE_MIRROR_URL = "file://%s"\n' % test_data.get('DL_DIR'))
f.write('INHERIT += "own-mirrors"\n')
f.write('PREMIRRORS_prepend = " git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME \\n "\n' % test_data.get('DL_DIR'))
# We need to do this in case we have a minimal SDK
subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % \
sdk_env, cwd=sdk_dir, shell=True, stderr=subprocess.STDOUT)
tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
host_pkg_manifest=host_pkg_manifest)
try:
tc.loadTests(OESDKExtTestContextExecutor.default_cases)
except Exception as e:
import traceback
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
result = tc.runTests()
component = "%s %s" % (pn, OESDKExtTestContextExecutor.name)
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
configuration = get_sdk_configuration(d, 'sdkext')
result.logDetails(get_sdk_json_result_dir(d),
configuration,
get_sdk_result_id(configuration))
result.logSummary(component, context_msg)
if not result.wasSuccessful():
fail = True
if fail:
bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
testsdkext_main[vardepsexclude] =+ "BB_ORIGENV"
python do_testsdkext() {
testsdkext_main(d)
import_and_run('TESTSDKEXT_CLASS_NAME', d)
}
addtask testsdkext
do_testsdkext[nostamp] = "1"

View File

@@ -128,30 +128,30 @@ toolchain_create_post_relocate_script() {
touch $relocate_script
cat >> $relocate_script <<EOF
# Source top-level SDK env scripts in case they are needed for the relocate
# scripts.
for env_setup_script in ${env_dir}/environment-setup-*; do
. \$env_setup_script
status=\$?
if [ \$status != 0 ]; then
echo "\$0: Failed to source \$env_setup_script with status \$status"
exit \$status
fi
done
if [ -d "${SDKPATHNATIVE}/post-relocate-setup.d/" ]; then
for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*; do
if [ ! -x \$s ]; then
continue
fi
\$s "\$1"
status=\$?
if [ \$status != 0 ]; then
echo "post-relocate command \"\$s \$1\" failed with status \$status" >&2
exit \$status
fi
done
rm -rf "${SDKPATHNATIVE}/post-relocate-setup.d"
# Source top-level SDK env scripts in case they are needed for the relocate
# scripts.
for env_setup_script in ${env_dir}/environment-setup-*; do
. \$env_setup_script
status=\$?
if [ \$status != 0 ]; then
echo "\$0: Failed to source \$env_setup_script with status \$status"
exit \$status
fi
for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*; do
if [ ! -x \$s ]; then
continue
fi
\$s "\$1"
status=\$?
if [ \$status != 0 ]; then
echo "post-relocate command \"\$s \$1\" failed with status \$status" >&2
exit \$status
fi
done
done
rm -rf "${SDKPATHNATIVE}/post-relocate-setup.d"
fi
EOF
}

View File

@@ -80,16 +80,16 @@ do_concat_dtb () {
}
python () {
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == uboot_pn:
kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == uboot_pn:
kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel')
# u-boot.dtb and u-boot-nodtb.bin are deployed _before_ do_deploy
# Thus, do_deploy_setscene will also populate them in DEPLOY_IMAGE_DIR
bb.build.addtask('do_deploy_dtb', 'do_deploy', 'do_compile', d)
# u-boot.dtb and u-boot-nodtb.bin are deployed _before_ do_deploy
# Thus, do_deploy_setscene will also populate them in DEPLOY_IMAGE_DIR
bb.build.addtask('do_deploy_dtb', 'do_deploy', 'do_compile', d)
# do_concat_dtb is scheduled _before_ do_install as it overwrite the
# u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR.
bb.build.addtask('do_concat_dtb', 'do_install', None, d)
d.appendVarFlag('do_concat_dtb', 'depends', ' %s:do_assemble_fitimage' % kernel_pn)
# do_concat_dtb is scheduled _before_ do_install as it overwrite the
# u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR.
bb.build.addtask('do_concat_dtb', 'do_install', None, d)
d.appendVarFlag('do_concat_dtb', 'depends', ' %s:do_assemble_fitimage' % kernel_pn)
}

View File

@@ -2,7 +2,7 @@ UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/
UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
UNINATIVE_URL ?= "unset"
UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.xz"
# Example checksums
#UNINATIVE_CHECKSUM[aarch64] = "dead"
#UNINATIVE_CHECKSUM[i686] = "dead"
@@ -89,7 +89,7 @@ python uninative_event_fetchloader() {
cmd = d.expand("\
mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \
cd ${UNINATIVE_STAGING_DIR}-uninative; \
tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \
tar -xJf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \
${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux \
${UNINATIVE_LOADER} \

View File

@@ -143,7 +143,7 @@ python perform_packagecopy_append () {
if not alt_link:
alt_link = "%s/%s" % (d.getVar('bindir'), alt_name)
d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link)
if alt_link.startswith(os.path.join(d.getVar('sysconfdir', True), 'init.d')):
if alt_link.startswith(os.path.join(d.getVar('sysconfdir'), 'init.d')):
# Managing init scripts does not work (bug #10433), foremost
# because of a race with update-rc.d
bb.fatal("Using update-alternatives for managing SysV init scripts is not supported")

View File

@@ -59,8 +59,8 @@ def update_useradd_static_config(d):
# Paths are resolved via BBPATH.
def get_table_list(d, var, default):
files = []
bbpath = d.getVar('BBPATH', True)
tables = d.getVar(var, True)
bbpath = d.getVar('BBPATH')
tables = d.getVar(var)
if not tables:
tables = default
for conf_file in tables.split():

View File

@@ -6,10 +6,9 @@
# to the distro running on the build machine.
#
UNINATIVE_MAXGLIBCVERSION = "2.28"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.3/"
UNINATIVE_CHECKSUM[aarch64] ?= "b7fbbaad1ec86d76eca84d83098f50525b8a4124cc8685eaed"
UNINATIVE_CHECKSUM[i686] ?= "44253cddbf629082568cea4fff59419106871a0cf81b4845b5d34e7014887b20"
UNINATIVE_CHECKSUM[x86_64] ?= "c6954563dad3c95608117c6fc328099036c832bbd924ebf5fdccb622fc0a8684"
UNINATIVE_MAXGLIBCVERSION = "2.29"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.6/"
UNINATIVE_CHECKSUM[aarch64] ?= "a37118fc8b423f48146120707b81dd15017512c3e8ef9e6ca2cb3a033f4f4046"
UNINATIVE_CHECKSUM[i686] ?= "3234fc3ded810225071f23a0e9a99f4f8c2480059945a848eff076ce78122ade"
UNINATIVE_CHECKSUM[x86_64] ?= "133387753a9acf3e1b788103c59fac91e968e2ee331d7a4b9498e926ada7be57"

View File

@@ -1,112 +1,134 @@
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE
=========================================
This copy of the libpng notices is provided for your convenience. In case of
any discrepancy between this copy and the notices in the file png.h that is
included in the libpng distribution, the latter shall prevail.
PNG Reference Library License version 2
---------------------------------------
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
* Copyright (c) 1995-2018 The PNG Reference Library Authors.
* Copyright (c) 2018 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
If you modify libpng you may insert additional notices immediately following
this sentence.
The software is supplied "as is", without warranty of any kind,
express or implied, including, without limitation, the warranties
of merchantability, fitness for a particular purpose, title, and
non-infringement. In no even shall the Copyright owners, or
anyone distributing the software, be liable for any damages or
other liability, whether in contract, tort or otherwise, arising
from, out of, or in connection with the software, or the use or
other dealings in the software, even if advised of the possibility
of such damage.
This code is released under the libpng license.
Permission is hereby granted to use, copy, modify, and distribute
this software, or portions hereof, for any purpose, without fee,
subject to the following restrictions:
libpng versions 1.2.6, August 15, 2004, through 1.4.5, December 9, 2010, are
Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you
use this software in a product, an acknowledgment in the product
documentation would be appreciated, but is not required.
Cosmin Truta
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
Simon-Pierre Cadieux
Eric S. Raymond
Gilles Vollant
PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35)
-----------------------------------------------------------------------
libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are
Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are
derived from libpng-1.0.6, and are distributed according to the same
disclaimer and license as libpng-1.0.6 with the following individuals
added to the list of Contributing Authors:
Simon-Pierre Cadieux
Eric S. Raymond
Mans Rullgard
Cosmin Truta
Gilles Vollant
James Yu
Mandar Sahastrabuddhe
Google Inc.
Vadim Barkov
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the
library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes
or needs. This library is provided with all faults, and the entire
risk of satisfactory quality, performance, accuracy, and effort is with
the user.
There is no warranty against interference with your enjoyment of
the library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes
or needs. This library is provided with all faults, and the entire
risk of satisfactory quality, performance, accuracy, and effort is
with the user.
Some files in the "contrib" directory and some configure-generated
files that are distributed with libpng have other copyright owners, and
are released under other open source licenses.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-0.96,
with the following individuals added to the list of Contributing Authors:
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
libpng-0.96, and are distributed according to the same disclaimer and
license as libpng-0.96, with the following individuals added to the
list of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996, 1997 Andreas Dilger
Distributed according to the same disclaimer and license as libpng-0.88,
with the following individuals added to the list of Contributing Authors:
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
and are distributed according to the same disclaimer and license as
libpng-0.88, with the following individuals added to the list of
Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
Some files in the "scripts" directory have other copyright owners,
but are released under this license.
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing Authors
and Group 42, Inc. disclaim all warranties, expressed or implied,
including, without limitation, the warranties of merchantability and of
fitness for any purpose. The Contributing Authors and Group 42, Inc.
assume no liability for direct, indirect, incidental, special, exemplary,
or consequential damages, which may result from the use of the PNG
Reference Library, even if advised of the possibility of such damage.
The PNG Reference Library is supplied "AS IS". The Contributing
Authors and Group 42, Inc. disclaim all warranties, expressed or
implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The Contributing
Authors and Group 42, Inc. assume no liability for direct, indirect,
incidental, special, exemplary, or consequential damages, which may
result from the use of the PNG Reference Library, even if advised of
the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this
source code, or portions hereof, for any purpose, without fee, subject
to the following restrictions:
1. The origin of this source code must not be misrepresented.
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without
fee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use this
source code in a product, acknowledgment is not required but would be
appreciated.
A "png_get_copyright" function is available, for convenient use in "about"
boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
December 9, 2010
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit,
without fee, and encourage the use of this source code as a component
to supporting the PNG file format in commercial products. If you use
this source code in a product, acknowledgment is not required but would
be appreciated.

View File

@@ -1329,6 +1329,8 @@ class OpkgPM(OpkgDpkgPM):
cmd = "%s %s" % (self.opkg_cmd, self.opkg_args)
for exclude in (self.d.getVar("PACKAGE_EXCLUDE") or "").split():
cmd += " --add-exclude %s" % exclude
for bad_recommendation in (self.d.getVar("BAD_RECOMMENDATIONS") or "").split():
cmd += " --add-ignore-recommends %s" % bad_recommendation
cmd += " install "
cmd += " ".join(pkgs)
@@ -1397,45 +1399,6 @@ class OpkgPM(OpkgDpkgPM):
def list_installed(self):
return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs()
def handle_bad_recommendations(self):
bad_recommendations = self.d.getVar("BAD_RECOMMENDATIONS") or ""
if bad_recommendations.strip() == "":
return
status_file = os.path.join(self.opkg_dir, "status")
# If status file existed, it means the bad recommendations has already
# been handled
if os.path.exists(status_file):
return
cmd = "%s %s info " % (self.opkg_cmd, self.opkg_args)
with open(status_file, "w+") as status:
for pkg in bad_recommendations.split():
pkg_info = cmd + pkg
try:
output = subprocess.check_output(pkg_info.split(), stderr=subprocess.STDOUT).strip().decode("utf-8")
except subprocess.CalledProcessError as e:
bb.fatal("Cannot get package info. Command '%s' "
"returned %d:\n%s" % (pkg_info, e.returncode, e.output.decode("utf-8")))
if output == "":
bb.note("Ignored bad recommendation: '%s' is "
"not a package" % pkg)
continue
for line in output.split('\n'):
if line.startswith("Status:"):
status.write("Status: deinstall hold not-installed\n")
else:
status.write(line + "\n")
# Append a blank line after each package entry to ensure that it
# is separated from the following entry
status.write("\n")
def dummy_install(self, pkgs):
"""
The following function dummy installs pkgs and returns the log of output.

View File

@@ -879,8 +879,6 @@ class OpkgRootfs(DpkgOpkgRootfs):
self.pm.update()
self.pm.handle_bad_recommendations()
if self.progress_reporter:
self.progress_reporter.next_stage()

View File

@@ -156,3 +156,27 @@ def path(value, relativeto='', normalize='true', mustexist='false'):
raise ValueError("{0}: {1}".format(value, os.strerror(errno.ENOENT)))
return value
def is_x86(arch):
"""
Check whether arch is x86 or x86_64
"""
if arch.startswith('x86_') or re.match('i.*86', arch):
return True
else:
return False
def qemu_use_kvm(kvm, target_arch):
"""
Enable kvm if target_arch == build_arch or both of them are x86 archs.
"""
use_kvm = False
if kvm and boolean(kvm):
build_arch = os.uname()[4]
if is_x86(build_arch) and is_x86(target_arch):
use_kvm = True
elif build_arch == target_arch:
use_kvm = True
return use_kvm

View File

@@ -7,6 +7,7 @@ import unittest
import logging
import re
import json
import sys
from unittest import TextTestResult as _TestResult
from unittest import TextTestRunner as _TestRunner
@@ -45,6 +46,9 @@ class OETestResult(_TestResult):
self.tc = tc
# stdout and stderr for each test case
self.logged_output = {}
def startTest(self, test):
# May have been set by concurrencytest
if test.id() not in self.starttime:
@@ -53,6 +57,9 @@ class OETestResult(_TestResult):
def stopTest(self, test):
self.endtime[test.id()] = time.time()
if self.buffer:
self.logged_output[test.id()] = (
sys.stdout.getvalue(), sys.stderr.getvalue())
super(OETestResult, self).stopTest(test)
if test.id() in self.progressinfo:
self.tc.logger.info(self.progressinfo[test.id()])
@@ -81,11 +88,17 @@ class OETestResult(_TestResult):
def _getTestResultDetails(self, case):
result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 'SKIPPED',
'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED'}
'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED',
'unexpectedSuccesses' : 'PASSED'}
for rtype in result_types:
found = False
for (scase, msg) in getattr(self, rtype):
for resultclass in getattr(self, rtype):
# unexpectedSuccesses are just lists, not lists of tuples
if isinstance(resultclass, tuple):
scase, msg = resultclass
else:
scase, msg = resultclass, None
if case.id() == scase.id():
found = True
break
@@ -93,13 +106,13 @@ class OETestResult(_TestResult):
# When fails at module or class level the class name is passed as string
# so figure out to see if match
m = re.search(r"^setUpModule \((?P<module_name>.*)\)$", scase_str)
m = re.search(r"^setUpModule \((?P<module_name>.*)\).*$", scase_str)
if m:
if case.__class__.__module__ == m.group('module_name'):
found = True
break
m = re.search(r"^setUpClass \((?P<class_name>.*)\)$", scase_str)
m = re.search(r"^setUpClass \((?P<class_name>.*)\).*$", scase_str)
if m:
class_name = "%s.%s" % (case.__class__.__module__,
case.__class__.__name__)
@@ -118,7 +131,8 @@ class OETestResult(_TestResult):
self.successes.append((test, None))
super(OETestResult, self).addSuccess(test)
def logDetails(self, json_file_dir=None, configuration=None, result_id=None):
def logDetails(self, json_file_dir=None, configuration=None, result_id=None,
dump_streams=False):
self.tc.logger.info("RESULTS:")
result = {}
@@ -144,10 +158,14 @@ class OETestResult(_TestResult):
if status not in logs:
logs[status] = []
logs[status].append("RESULTS - %s - Testcase %s: %s%s" % (case.id(), oeid, status, t))
report = {'status': status}
if log:
result[case.id()] = {'status': status, 'log': log}
else:
result[case.id()] = {'status': status}
report['log'] = log
if dump_streams and case.id() in self.logged_output:
(stdout, stderr) = self.logged_output[case.id()]
report['stdout'] = stdout
report['stderr'] = stderr
result[case.id()] = report
for i in ['PASSED', 'SKIPPED', 'EXPECTEDFAIL', 'ERROR', 'FAILED', 'UNKNOWN']:
if i not in logs:

View File

@@ -12,15 +12,14 @@ from oeqa.utils.qemurunner import QemuRunner
supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
class OEQemuTarget(OESSHTarget):
def __init__(self, logger, ip, server_ip, timeout=300, user='root',
def __init__(self, logger, server_ip, timeout=300, user='root',
port=None, machine='', rootfs='', kernel='', kvm=False,
dump_dir='', dump_host_cmds='', display='', bootlog='',
tmpdir='', dir_image='', boottime=60, **kwargs):
super(OEQemuTarget, self).__init__(logger, ip, server_ip, timeout,
super(OEQemuTarget, self).__init__(logger, None, server_ip, timeout,
user, port)
self.ip = ip
self.server_ip = server_ip
self.machine = machine
self.rootfs = rootfs

View File

@@ -207,7 +207,7 @@ def SSHCall(command, logger, timeout=None, **opts):
logger.debug('time: %s, endtime: %s' % (time.time(), endtime))
try:
if select.select([process.stdout], [], [], 5)[0] != []:
reader = codecs.getreader('utf-8')(process.stdout)
reader = codecs.getreader('utf-8')(process.stdout, 'ignore')
data = reader.read(1024, 4096)
if not data:
process.stdout.close()
@@ -234,7 +234,7 @@ def SSHCall(command, logger, timeout=None, **opts):
output += lastline
else:
output = process.communicate()[0].decode("utf-8", errors='replace')
output = process.communicate()[0].decode('utf-8', errors='ignore')
logger.debug('Data from SSH call: %s' % output.rstrip())
options = {

View File

@@ -19,6 +19,7 @@ import testtools
import threading
import time
import io
import subunit
from queue import Queue
from itertools import cycle
@@ -50,10 +51,11 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
def _add_result_with_semaphore(self, method, test, *args, **kwargs):
self.semaphore.acquire()
try:
self.result.starttime[test.id()] = self._test_start.timestamp()
self.result.threadprogress[self.threadnum].append(test.id())
totalprogress = sum(len(x) for x in self.result.threadprogress.values())
self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
if self._test_start:
self.result.starttime[test.id()] = self._test_start.timestamp()
self.result.threadprogress[self.threadnum].append(test.id())
totalprogress = sum(len(x) for x in self.result.threadprogress.values())
self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
self.threadnum,
len(self.result.threadprogress[self.threadnum]),
self.totalinprocess,
@@ -65,6 +67,23 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
self.semaphore.release()
super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs)
#
# We have to patch subunit since it doesn't understand how to handle addError
# outside of a running test case. This can happen if classSetUp() fails
# for a class of tests. This unfortunately has horrible internal knowledge.
#
def outSideTestaddError(self, offset, line):
"""An 'error:' directive has been read."""
test_name = line[offset:-1].decode('utf8')
self.parser._current_test = subunit.RemotedTestCase(test_name)
self.parser.current_test_description = test_name
self.parser._state = self.parser._reading_error_details
self.parser._reading_error_details.set_simple()
self.parser.subunitLineReceived(line)
subunit._OutSideTest.addError = outSideTestaddError
#
# A dummy structure to add to io.StringIO so that the .buffer object
# is available and accepts writes. This allows unittest with buffer=True

View File

@@ -0,0 +1,40 @@
{
"runtime_core-image-minimal_qemuarm_20181225195701": {
"configuration": {
"DISTRO": "poky",
"HOST_DISTRO": "ubuntu-16.04",
"IMAGE_BASENAME": "core-image-minimal",
"IMAGE_PKGTYPE": "rpm",
"LAYERS": {
"meta": {
"branch": "master",
"commit": "801745d918e83f976c706f29669779f5b292ade3",
"commit_count": 52782
},
"meta-poky": {
"branch": "master",
"commit": "801745d918e83f976c706f29669779f5b292ade3",
"commit_count": 52782
},
"meta-yocto-bsp": {
"branch": "master",
"commit": "801745d918e83f976c706f29669779f5b292ade3",
"commit_count": 52782
}
},
"MACHINE": "qemuarm",
"STARTTIME": "20181225195701",
"TEST_TYPE": "runtime"
},
"result": {
"apt.AptRepoTest.test_apt_install_from_repo": {
"log": "Test requires apt to be installed",
"status": "PASSED"
},
"buildcpio.BuildCpioTest.test_cpio": {
"log": "Test requires autoconf to be installed",
"status": "ERROR"
}
}
}
}

View File

@@ -1,7 +1,7 @@
[
{
"test": {
"@alias": "bsps-hw.bsps-tools.rpm_-__install_dependency_package",
"@alias": "bsps-hw.bsps-hw.rpm_-__install_dependency_package",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -27,7 +27,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.boot_and_install_from_USB",
"@alias": "bsps-hw.bsps-hw.boot_and_install_from_USB",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -61,7 +61,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.live_boot_from_USB",
"@alias": "bsps-hw.bsps-hw.live_boot_from_USB",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -87,7 +87,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.boot_from_runlevel_3",
"@alias": "bsps-hw.bsps-hw.boot_from_runlevel_3",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -121,7 +121,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.boot_from_runlevel_5",
"@alias": "bsps-hw.bsps-hw.boot_from_runlevel_5",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -151,7 +151,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.shutdown_system",
"@alias": "bsps-hw.bsps-hw.shutdown_system",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -173,7 +173,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.reboot_system",
"@alias": "bsps-hw.bsps-hw.reboot_system",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -195,7 +195,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.switch_among_multi_applications_and_desktop",
"@alias": "bsps-hw.bsps-hw.switch_among_multi_applications_and_desktop",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -225,7 +225,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.USB_-_mount",
"@alias": "bsps-hw.bsps-hw.USB_-_mount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -251,7 +251,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.USB_-_read_files",
"@alias": "bsps-hw.bsps-hw.USB_-_read_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -281,7 +281,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.USB_-_umount",
"@alias": "bsps-hw.bsps-hw.USB_-_umount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -307,7 +307,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.USB_-_write_files",
"@alias": "bsps-hw.bsps-hw.USB_-_write_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -333,7 +333,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.ethernet_static_ip_set_in_connman",
"@alias": "bsps-hw.bsps-hw.ethernet_static_ip_set_in_connman",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -367,7 +367,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.ethernet_get_IP_in_connman_via_DHCP",
"@alias": "bsps-hw.bsps-hw.ethernet_get_IP_in_connman_via_DHCP",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -397,7 +397,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.connman_offline_mode_in_connman-gnome",
"@alias": "bsps-hw.bsps-hw.connman_offline_mode_in_connman-gnome",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -419,7 +419,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.X_server_can_start_up_with_runlevel_5_boot",
"@alias": "bsps-hw.bsps-hw.X_server_can_start_up_with_runlevel_5_boot",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -441,7 +441,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.standby",
"@alias": "bsps-hw.bsps-hw.standby",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -475,7 +475,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.check_CPU_utilization_after_standby",
"@alias": "bsps-hw.bsps-hw.check_CPU_utilization_after_standby",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -505,7 +505,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_if_LAN_device_works_well_after_resume_from_suspend_state",
"@alias": "bsps-hw.bsps-hw.Test_if_LAN_device_works_well_after_resume_from_suspend_state",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -535,7 +535,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state",
"@alias": "bsps-hw.bsps-hw.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -565,7 +565,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.click_terminal_icon_on_X_desktop",
"@alias": "bsps-hw.bsps-hw.click_terminal_icon_on_X_desktop",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -587,7 +587,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.Add_multiple_files_in_media_player",
"@alias": "bsps-hw.bsps-hw.Add_multiple_files_in_media_player",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -613,7 +613,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.check_bash_in_image",
"@alias": "bsps-hw.bsps-hw.check_bash_in_image",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -631,7 +631,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.MicroSD_-__mount",
"@alias": "bsps-hw.bsps-hw.MicroSD_-__mount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -653,7 +653,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.MicroSD_-__read_files",
"@alias": "bsps-hw.bsps-hw.MicroSD_-__read_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -683,7 +683,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.MicroSD_-__umount",
"@alias": "bsps-hw.bsps-hw.MicroSD_-__umount",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -713,7 +713,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.MicroSD_-__write_files",
"@alias": "bsps-hw.bsps-hw.MicroSD_-__write_files",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -743,7 +743,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.video_-_libva_check_(ogg_video_play)",
"@alias": "bsps-hw.bsps-hw.video_-_libva_check_(ogg_video_play)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -769,29 +769,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.media_player_-_unable_to_play_MPEG-1_without_\"commercial\"_flag",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
"name": "alexandru.c.georgescu@intel.com"
}
],
"execution": {
"1": {
"action": "Copy sample MPEG-1 file to a system without the \"commercial\" flag.",
"expected_results": ""
},
"2": {
"action": "Launch media player and make sure it cannot play the MPEG-1 file.",
"expected_results": "MPEG-1 file can not be played on images without the \"commercial\" flag. "
}
},
"summary": "media_player_-_unable_to_play_MPEG-1_without_\"commercial\"_flag"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.media_player_-_play_video_(ogv)",
"@alias": "bsps-hw.bsps-hw.media_player_-_play_video_(ogv)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -813,7 +791,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.media_player_-_stop/play_button_(ogv)",
"@alias": "bsps-hw.bsps-hw.media_player_-_stop/play_button_(ogv)",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -843,7 +821,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.audio_-_play_(ogg)_with_HDMI",
"@alias": "bsps-hw.bsps-hw.audio_-_play_(ogg)_with_HDMI",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -869,7 +847,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.audio_-_play_(wav)_with_HDMI",
"@alias": "bsps-hw.bsps-hw.audio_-_play_(wav)_with_HDMI",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -895,7 +873,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.Graphics_-_ABAT",
"@alias": "bsps-hw.bsps-hw.Graphics_-_ABAT",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -921,7 +899,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-tools.Graphics_-_x11perf_-_2D",
"@alias": "bsps-hw.bsps-hw.Graphics_-_x11perf_-_2D",
"author": [
{
"email": "alexandru.c.georgescu@intel.com",
@@ -943,33 +921,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-oe-core.Test_Run_Integrity_-_Check_that_image_is_buildable",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "Check that image can be built using either of the following methods: \n\n",
"expected_results": ""
},
"2": {
"action": "Check that image is built by autobuilder \nPlease check at: https://autobuilder.yocto.io/pub/releases/ \nChoose the target release that you are validating. \n\n",
"expected_results": ""
},
"3": {
"action": "Build image yourself \nPreferred to build an core-image-sato-dev to ease the process of the dependent test cases in this run. \nNote: Please set MACHINE in conf/local.conf ",
"expected_results": "If either method fails, this test case will be failed and dependent test cases will be blocked. "
}
},
"summary": "Test_Run_Integrity_-_Check_that_image_is_buildable"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Check_if_SATA_disk_can_work_correctly",
"@alias": "bsps-hw.bsps-hw.Check_if_SATA_disk_can_work_correctly",
"author": [
{
"email": "yi.zhao@windriver.com",
@@ -999,7 +951,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Install_and_boot_from_USB-drive_to_HDD-drive",
"@alias": "bsps-hw.bsps-hw.Install_and_boot_from_USB-drive_to_HDD-drive",
"author": [
{
"email": "david.israelx.rodriguez.castellanos@intel.com",
@@ -1041,7 +993,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Install_and_boot_from_USB-drive_to_SD-drive",
"@alias": "bsps-hw.bsps-hw.Install_and_boot_from_USB-drive_to_SD-drive",
"author": [
{
"email": "david.israelx.rodriguez.castellanos@intel.com",
@@ -1083,7 +1035,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_SD",
"@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_SD",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1101,7 +1053,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_HDD",
"@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_HDD",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1119,7 +1071,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_boot_on_serial_communication_USB",
"@alias": "bsps-hw.bsps-hw.Test_boot_on_serial_communication_USB",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1153,7 +1105,7 @@
},
{
"test": {
"@alias": "bsps-hw.bsps-runtime.Test_Seek_bar_and_volume_control",
"@alias": "bsps-hw.bsps-hw.Test_Seek_bar_and_volume_control",
"author": [
{
"email": "juan.fernandox.ramos.frayle@intel.com",
@@ -1196,5 +1148,139 @@
},
"summary": "Test_Seek_bar_and_volume_control"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-hw.Check_if_watchdog_can_reset_the_target_system",
"author": [
{
"email": "yi.zhao@windriver.com",
"name": "yi.zhao@windriver.com"
}
],
"execution": {
"1": {
"action": "1.Check if watchdog device exist in /dev/ directory. Run command echo 1 > /dev/watchdog and wait for 60s. Then, the target will reboot.",
"expected_results": "The watchdog device exist in /dev/ directory and can reboot the target.\n"
}
},
"summary": "Check_if_watchdog_can_reset_the_target_system"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-hw.Check_if_RTC_(Real_Time_Clock)_can_work_correctly",
"author": [
{
"email": "yi.zhao@windriver.com",
"name": "yi.zhao@windriver.com"
}
],
"execution": {
"1": {
"action": "Read time from RTC registers. root@localhost:/root> hwclock -r Sun Mar 22 04:05:47 1970 -0.001948 seconds ",
"expected_results": "Can read and set the time from RTC.\n"
},
"2": {
"action": "Set system current time root@localhost:/root> date 062309452008 ",
"expected_results": ""
},
"3": {
"action": "Synchronize the system current time to RTC registers root@localhost:/root> hwclock -w ",
"expected_results": ""
},
"4": {
"action": "Read time from RTC registers root@localhost:/root> hwclock -r ",
"expected_results": ""
},
"5": {
"action": "Reboot target and read time from RTC again\n",
"expected_results": ""
}
},
"summary": "Check_if_RTC_(Real_Time_Clock)_can_work_correctly"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-hw.Check_if_target_can_support_EEPROM",
"author": [
{
"email": "yi.zhao@windriver.com",
"name": "yi.zhao@windriver.com"
}
],
"execution": {
"1": {
"action": "Check eeprom device exist in /sys/bus/i2c/devices/ ",
"expected_results": "Hexdump can read data from eeprom.\n"
},
"2": {
"action": "Run \"hexdump eeprom\" commandroot@mpc8315e-rdb:/sys/bus/i2c/devices/1-0051> hexdump eeprom0000000 9210 0b02 0211 0009 0b52 0108 0c00 3c000000010 6978 6930 6911 208c 7003 3c3c 00f0 8381\u2026\n",
"expected_results": ""
}
},
"summary": "Check_if_target_can_support_EEPROM"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-hw.System_can_boot_up_via_NFS",
"author": [
{
"email": "yi.zhao@windriver.com",
"name": "yi.zhao@windriver.com"
}
],
"execution": {
"1": {
"action": "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/ttyS0 -b 115200 ",
"expected_results": "The system can boot up without problem\n"
},
"2": {
"action": "Power up or reset the board and press a key on the terminal when prompted to get to the U-Boot command line ",
"expected_results": ""
},
"3": {
"action": "Set up the environment in U-Boot: => setenv ipaddr => setenv serverip ",
"expected_results": ""
},
"4": {
"action": "Download the kernel and boot: => tftp tftp $loadaddr vmlinux => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=: ip=::::edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom)\n",
"expected_results": ""
}
},
"summary": "System_can_boot_up_via_NFS"
}
},
{
"test": {
"@alias": "bsps-hw.bsps-hw.Boot_from_JFFS2_image",
"author": [
{
"email": "yi.zhao@windriver.com",
"name": "yi.zhao@windriver.com"
}
],
"execution": {
"1": {
"action": "First boot the board with NFS root. ",
"expected_results": "The system can boot up without problem\n"
},
"2": {
"action": "Install mtd-utils package. Erase the MTD partition which will be used as root: $ flash_eraseall /dev/mtd3 ",
"expected_results": ""
},
"3": {
"action": "Copy the JFFS2 image to the MTD partition: $ flashcp core-image-minimal-mpc8315e-rdb.jffs2 /dev/mtd3 ",
"expected_results": ""
},
"4": {
"action": "Then reboot the board and set up the environment in U-Boot: => setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttyS0,115200 ",
"expected_results": ""
}
},
"summary": "Boot_from_JFFS2_image"
}
}
]

View File

@@ -10,7 +10,7 @@
],
"execution": {
"1": {
"action": "Build a kernel with KVM enabled \n\nIn Local.conf add \n\nQEMU_USE_KVM = \"${@ 'intel-corei7-64 intel-core2-32 qemux86 qemux86-64' if os.access('/dev/kvm', os.R_OK|os.W_OK) else '' }\" \n\n ",
"action": "Build a kernel with KVM enabled \n\nIn Local.conf add \n\nQEMU_USE_KVM = \"${@ '1' if os.access('/dev/kvm', os.R_OK|os.W_OK) else '0' }\" \n\n ",
"expected_results": ""
},
"2": {
@@ -219,4 +219,4 @@
"summary": "check_bash_in_image"
}
}
]
]

View File

@@ -0,0 +1,194 @@
[
{
"test": {
"@alias": "compliance-test.compliance-test.LTP_subset_test_suite",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "For real hardware, run following component, \nsyscalls \nfs \nfsx \ndio \nio \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ntimers \ncommands \n\nFor QEMU, run following component \nsyscalls \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ncommands \n\nRun Instructions: \nLTP download: http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20120401/ltp-full-20120401.bz2/download \n\n(link is outdated, always use the last version released or the one found in the image) \n\n\n\nbuild steps: refer to http://ltp.sourceforge.net \n\nRun steps:",
"expected_results": ""
},
"2": {
"action": "Build LTP with toolchain or in sdk image. Or use a sato-sdk image which has LTP already included in /opt/ltp",
"expected_results": ""
},
"3": {
"action": "For QEMU, create the qemu target with \"-m 512\", which makes some memory stress cases pass. For some issues, we could only set 128M for qemuarm and 256M for qemumips.",
"expected_results": ""
},
"4": {
"action": "Copy LTP folder into target, for example, /opt/ltp if you have built it yourself. Modify the default scenario file \"scenario_groups/default\", remove test suites not to be tested",
"expected_results": ""
},
"5": {
"action": "Comment runtests/sched: hackbench, which is not suitable to run in emulators. Reminder (comment it also for Sugarbay Devices).",
"expected_results": ""
},
"6": {
"action": "Comment oom01, oom02, oom03, oom04 in runtest/mm, which consume lots of memory",
"expected_results": ""
},
"7": {
"action": "From /opt/ltp run: ./runltp -p -l result-M2-20101218.log -C result-M2-20101218.fail -d /opt/ltp/tmp &> result-M2-20101218.fulllog \n\n",
"expected_results": "Check the result on wiki, https://wiki.yoctoproject.org/wiki/LTP_result, there should be no regression failure met."
}
},
"summary": "LTP_subset_test_suite"
}
},
{
"test": {
"@alias": "compliance-test.compliance-test.POSIX_subset_test_suite",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "In a sato-sdk image go to /opt/ltp or get latest LTP sourcecode, download location is http://sourceforge.net/projects/ltp/files/LTP%20Source/ and install it.",
"expected_results": ""
},
"2": {
"action": "Go into the folder of LTP, and posix_testsuite is under testcases/open_posix_testsuite/",
"expected_results": ""
},
"3": {
"action": "Run connmand: make generate-makefiles",
"expected_results": ""
},
"4": {
"action": "Run connmand: make conformance-all",
"expected_results": ""
},
"5": {
"action": "Run connmand: make conformance-test (this step may show errors, ignore them)",
"expected_results": ""
},
"6": {
"action": "Run connmand: make tools-all",
"expected_results": ""
},
"7": {
"action": "Run connmand: sh posix.sh > posix.log, posix.sh as below: \n \n#!/bin/sh \n./bin/run-posix-option-group-test.sh AIO \n./bin/run-posix-option-group-test.sh MEM \n./bin/run-posix-option-group-test.sh MSG \n./bin/run-posix-option-group-test.sh SEM \n./bin/run-posix-option-group-test.sh SIG \n./bin/run-posix-option-group-test.sh THR \n./bin/run-posix-option-group-test.sh TMR \n./bin/run-posix-option-group-test.sh TPS \n \n",
"expected_results": ""
},
"8": {
"action": "Check the posix.log after testing is finished",
"expected_results": "Compare the test result on wiki, https://wiki.yoctoproject.org/wiki/Posix_result, there should be no more regression failures met."
}
},
"summary": "POSIX_subset_test_suite"
}
},
{
"test": {
"@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "Get lsd-sdk image and install it on target device or start the image(if it is QEMU) with option \"-m 512M\"",
"expected_results": ""
},
"2": {
"action": "Comment in /opt/lsb-test/session any tests you don't want to run.",
"expected_results": ""
},
"3": {
"action": "Run /usr/bin/LSB_Test.sh which should download the LSB suite and set it up. Some packages may fail to download because their location changed on ftp.linuxfoundation.org. You need to manually update /opt/lsb-test/packages_list",
"expected_results": ""
},
"4": {
"action": "Tests should start automatically, you can use the web interface to reconfigure the setup. ",
"expected_results": "Check the result on wiki https://wiki.yoctoproject.org/wiki/LSB_Result No regression failures should be met."
}
},
"summary": "LSB_subset_test_suite"
}
},
{
"test": {
"@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "Bootup with core-image-lsb-sdk image",
"expected_results": ""
},
"2": {
"action": "Execute the crashme test with below command \n\n./opt/ltp/runltp f crashme",
"expected_results": "The stress testing should not make the target crash. Check CPU usage and basic functionality of the system after the tests are over. "
}
},
"summary": "stress_test_-_Genericx86-64"
}
},
{
"test": {
"@alias": "compliance-test.compliance-test.stress_test_-_- crashme_-_-Beaglebone",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": " Get crashme from http://people.delphiforums.com/gjc/crashme.html",
"expected_results": ""
},
"2": {
"action": "Follow the setup steps on above URL, build crashme in target",
"expected_results": ""
},
"3": {
"action": " Run crashme for 24 hours",
"expected_results": "Target should not crash with the program."
}
},
"summary": "stress_test_-_crashme_-Beaglebone"
}
},
{
"test": {
"@alias": "compliance-test.compliance-test.stress_test_-_ltp_-Beaglebone",
"author": [
{
"email": "corneliux.stoicescu@intel.com",
"name": "corneliux.stoicescu@intel.com"
}
],
"execution": {
"1": {
"action": "Build LTP with toolchain or in sdk image",
"expected_results": ""
},
"2": {
"action": "Copy LTP folder into target, for example, /opt/ltp. Modify script, testscripts/ltpstress.sh, set Iostat=1, NO_NETWORK=1",
"expected_results": ""
},
"3": {
"action": "cd testscripts/ && ./ltpstress.sh",
"expected_results": "This stress case will run for 24 hours Check the result\ntarget should not crash with the program "
}
},
"summary": "stress_test_-_-ltp_-Beaglebone"
}
}
]

View File

@@ -1,7 +1,7 @@
[
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_defconfig",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_defconfig",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -18,12 +18,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_7"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_defconfig"
"summary": "Kernel_dev_defconfig"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_defconfig+fragments",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_defconfig+fragments",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -40,12 +40,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_8"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_defconfig+fragments"
"summary": "Kernel_dev_defconfig+fragments"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_Applying_patches",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_Applying_patches",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -62,12 +62,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_Applying_patches"
"summary": "Kernel_dev_Applying_patches"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-local-source",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_linux-yocto-local-source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -84,12 +84,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_2"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-local-source"
"summary": "Kernel_dev_linux-yocto-local-source"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-custom-local-source",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_linux-yocto-custom-local-source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -106,12 +106,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_3"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_linux-yocto-custom-local-source"
"summary": "Kernel_dev_linux-yocto-custom-local-source"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_recipe-space_meta",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_recipe-space_meta",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -128,12 +128,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_5"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_recipe-space_meta"
"summary": "Kernel_dev_recipe-space_meta"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_External_source",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_External_source",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -150,12 +150,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_6"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_External_source"
"summary": "Kernel_dev_External_source"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_building_external_modules(hello-mod)",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_building_external_modules(hello-mod)",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -172,12 +172,12 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_10"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_building_external_modules(hello-mod)"
"summary": "Kernel_dev_building_external_modules(hello-mod)"
}
},
{
"test": {
"@alias": "kernel-configuration.kernel-configuration.TCTEMP_2.3_MANUAL_Kernel_dev_local_parallel_meta",
"@alias": "kernel-dev.kernel-dev.Kernel_dev_local_parallel_meta",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -194,7 +194,7 @@
"expected_results": "Review expected results on thethe \"Kernel Development Test Cases\"wiki. https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases#Expected_Results_4"
}
},
"summary": "TCTEMP_2.3_MANUAL_Kernel_dev_local_parallel_meta"
"summary": "Kernel_dev_local_parallel_meta"
}
}
]

View File

@@ -1,7 +1,7 @@
[
{
"test": {
"@alias": "sdk.sdk_runqemu.test_sdk_toolchain_can_run_multiple_QEMU_machines_under_UNFS",
"@alias": "sdk.sdk_runqemu.test_install_cross_toolchain_can_run_multiple_qemu_for_x86",
"author": [
{
"email": "ee.peng.yeoh@intel.com",
@@ -11,22 +11,22 @@
"execution": {
"1": {
"action": "Prepare kernel, rootfs tar.bz2 image, and qemu configuration \n \ta. Download kernel, rootfs tar.bz2 image and qemu configuration from public autobuilder webpage \n \tb. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/machines/qemu/qemux86/ \n \tc. Download \n \t \ti. rootfs tar.bz2: core-image-sato-sdk-qemux86.tar.bz2 \n \t\tii. kernel: bzImage-qemux86.bin \n \t\tiii. qemu configuration: core-image-sato-sdk-qemux86.qemuboot.conf ",
"expected_results": ""
"expected_results": "Download completes successfully."
},
"2": {
"action": "Download & install sdk toolchain from public autobuilder \n \ta. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/toolchain/x86_64/ \n \tb. Download poky-glibc-x86_64-core-image-sato-sdk-<type-arch>-toolchain-<release-version>.sh \n \tc. Run command: poky-glibc-x86_64-core-image-sato-sdk-<type-arch>-toolchain-<release-version>.sh",
"expected_results": ""
"action": "Download & install toolchain tarball matching your host from public autobuilder \n \ta. Goto https://autobuilder.yocto.io/pub/releases/<target_release>/toolchain/x86_64/ \n \tb. Download poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh \n \tc. Run command: poky-glibc-x86_64-core-image-sato-<type-arch>-toolchain-<release-version>.sh \n \td. After installation toolchain Run source command : source /toolchain-installed-path/environment-setup-<architecture name>-poky-linux",
"expected_results": "Toolchain gets installed successfully."
},
"3": {
"action": "Extract rootfs twice into two images \n \ta. Run 2 commands below: \n runqemu-extract-sdk core-image-sato-sdk-qemux86.tar.bz2 qemux86_rootfs_image1 \n runqemu-extract-sdk core-image-sato-sdk-qemux86.tar.bz2 qemux86_rootfs_image2",
"expected_results": ""
"expected_results": "Both images build successfully."
},
"4": {
"action": " From the 2 terminals, start qemu to boot up both two images \n \ta. Run 2 commands below: \n runqemu core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image1 \n runqemu core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image2 ",
"action": " From the 2 terminals, start qemu to boot up both two images \n \ta. Run 2 commands below: \n runqemu <kernel-name> core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image1 \n runqemu <kernel-name> core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image2 ",
"expected_results": "Expect both qemu to boot up successfully."
}
},
"summary": "test_sdk_toolchain_can_run_multiple_QEMU_machines_under_UNFS"
"summary": "test_install_cross_toolchain_can_run_multiple_qemu_for_x86"
}
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -13,17 +13,18 @@ class BuildCpioTest(OERuntimeTestCase):
cls.project = TargetBuildProject(cls.tc.target,
uri,
dl_dir = cls.tc.td['DL_DIR'])
cls.project.download_archive()
@classmethod
def tearDownClass(cls):
cls.project.clean()
@OETestID(205)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
@OEHasPackage(['autoconf'])
def test_cpio(self):
self.project.download_archive()
self.project.run_configure()
self.project.run_make()
self.project.run_install()

View File

@@ -1,7 +1,7 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -13,16 +13,17 @@ class GalculatorTest(OERuntimeTestCase):
cls.project = TargetBuildProject(cls.tc.target,
uri,
dl_dir = cls.tc.td['DL_DIR'])
cls.project.download_archive()
@classmethod
def tearDownClass(cls):
cls.project.clean()
@OETestID(1526)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
@OEHasPackage(['autoconf'])
def test_galculator(self):
self.project.download_archive()
self.project.run_configure()
self.project.run_make()

View File

@@ -1,7 +1,7 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -14,21 +14,19 @@ class BuildLzipTest(OERuntimeTestCase):
cls.project = TargetBuildProject(cls.tc.target,
uri,
dl_dir = cls.tc.td['DL_DIR'])
cls.project.download_archive()
@classmethod
def tearDownClass(cls):
cls.project.clean()
@OETestID(206)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
@OEHasPackage(['autoconf'])
def test_lzip(self):
self.project.download_archive()
self.project.run_configure()
self.project.run_make()
self.project.run_install()
@classmethod
def tearDownClass(self):
self.project.clean()

View File

@@ -3,6 +3,7 @@ import re
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class DateTest(OERuntimeTestCase):
@@ -18,6 +19,7 @@ class DateTest(OERuntimeTestCase):
@OETestID(211)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_date(self):
(status, output) = self.target.run('date +"%Y-%m-%d %T"')
msg = 'Failed to get initial date, output: %s' % output

View File

@@ -1,11 +1,13 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class DfTest(OERuntimeTestCase):
@OETestID(234)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_df(self):
cmd = "df / | sed -n '2p' | awk '{print $4}'"
(status,output) = self.target.run(cmd)

View File

@@ -3,12 +3,12 @@ import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class GccCompileTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
def setUp(cls):
dst = '/tmp/'
src = os.path.join(cls.tc.files_dir, 'test.c')
cls.tc.target.copyTo(src, dst)
@@ -20,14 +20,13 @@ class GccCompileTest(OERuntimeTestCase):
cls.tc.target.copyTo(src, dst)
@classmethod
def tearDownClass(cls):
def tearDown(cls):
files = '/tmp/test.c /tmp/test.o /tmp/test /tmp/testmakefile'
cls.tc.target.run('rm %s' % files)
@OETestID(203)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
def test_gcc_compile(self):
status, output = self.target.run('gcc /tmp/test.c -o /tmp/test -lm')
msg = 'gcc compile failed, output: %s' % output
@@ -38,9 +37,8 @@ class GccCompileTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
@OETestID(200)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['g++'])
def test_gpp_compile(self):
status, output = self.target.run('g++ /tmp/test.c -o /tmp/test -lm')
msg = 'g++ compile failed, output: %s' % output
@@ -51,9 +49,8 @@ class GccCompileTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
@OETestID(1142)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['g++'])
def test_gpp2_compile(self):
status, output = self.target.run('g++ /tmp/test.cpp -o /tmp/test -lm')
msg = 'g++ compile failed, output: %s' % output
@@ -64,9 +61,9 @@ class GccCompileTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
@OETestID(204)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
def test_make(self):
status, output = self.target.run('cd /tmp; make -f testmakefile')
msg = 'running make failed, output %s' % output

View File

@@ -4,11 +4,12 @@ from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class KernelModuleTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
def setUp(cls):
src = os.path.join(cls.tc.runtime_files_dir, 'hellomod.c')
dst = '/tmp/hellomod.c'
cls.tc.target.copyTo(src, dst)
@@ -18,7 +19,7 @@ class KernelModuleTest(OERuntimeTestCase):
cls.tc.target.copyTo(src, dst)
@classmethod
def tearDownClass(cls):
def tearDown(cls):
files = '/tmp/Makefile /tmp/hellomod.c'
cls.tc.target.run('rm %s' % files)
@@ -26,6 +27,9 @@ class KernelModuleTest(OERuntimeTestCase):
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['gcc.GccCompileTest.test_gcc_compile'])
@OEHasPackage(['kernel-devsrc'])
@OEHasPackage(['make'])
@OEHasPackage(['gcc'])
def test_kernel_module(self):
cmds = [
'cd /usr/src/kernel && make scripts prepare',

View File

@@ -8,9 +8,13 @@ from oeqa.runtime.decorator.package import OEHasPackage
class LogrotateTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
cls.tc.target.run('cp /etc/logrotate.d/wtmp $HOME/wtmp.oeqabak')
@classmethod
def tearDownClass(cls):
cls.tc.target.run('rm -rf $HOME/logrotate_dir')
cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf $HOME/logrotate_dir')
@OETestID(1544)
@OETestDepends(['ssh.SSHTest.test_ssh'])

View File

@@ -16,7 +16,7 @@ class OpkgTest(OERuntimeTestCase):
class OpkgRepoTest(OpkgTest):
@classmethod
def setUpClass(cls):
def setUp(cls):
allarchfeed = 'all'
if cls.tc.td["MULTILIB_VARIANTS"]:
allarchfeed = cls.tc.td["TUNE_PKGARCH"]
@@ -25,7 +25,7 @@ class OpkgRepoTest(OpkgTest):
cls.repo_server.start()
@classmethod
def tearDownClass(cls):
def tearDown(cls):
cls.repo_server.stop()
def setup_source_config_for_package_install(self):

View File

@@ -1,11 +1,13 @@
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class PerlTest(OERuntimeTestCase):
@OETestID(208)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['perl'])
def test_perl_works(self):
status, output = self.target.run("perl -e '$_=\"Uryyb, jbeyq\"; tr/a-zA-Z/n-za-mN-ZA-M/;print'")

View File

@@ -1,65 +1,26 @@
import unittest
import pprint
import datetime
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.utils.logparser import Lparser, Result
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.utils.logparser import PtestParser
class PtestRunnerTest(OERuntimeTestCase):
# a ptest log parser
def parse_ptest(self, logfile):
parser = Lparser(test_0_pass_regex="^PASS:(.+)",
test_0_fail_regex="^FAIL:(.+)",
test_0_skip_regex="^SKIP:(.+)",
section_0_begin_regex="^BEGIN: .*/(.+)/ptest",
section_0_end_regex="^END: .*/(.+)/ptest")
parser.init()
result = Result()
with open(logfile, errors='replace') as f:
for line in f:
result_tuple = parser.parse_line(line)
if not result_tuple:
continue
result_tuple = line_type, category, status, name = parser.parse_line(line)
if line_type == 'section' and status == 'begin':
current_section = name
continue
if line_type == 'section' and status == 'end':
current_section = None
continue
if line_type == 'test' and status == 'pass':
result.store(current_section, name, status)
continue
if line_type == 'test' and status == 'fail':
result.store(current_section, name, status)
continue
if line_type == 'test' and status == 'skip':
result.store(current_section, name, status)
continue
result.sort_tests()
return result
@OETestID(1600)
@skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['ptest-runner'])
@unittest.expectedFailure
def test_ptestrunner(self):
status, output = self.target.run('which ptest-runner', 0)
if status != 0:
self.skipTest("No -ptest packages are installed in the image")
import datetime
test_log_dir = self.td.get('TEST_LOG_DIR', '')
# The TEST_LOG_DIR maybe NULL when testimage is added after
# testdata.json is generated.
@@ -67,9 +28,9 @@ class PtestRunnerTest(OERuntimeTestCase):
test_log_dir = os.path.join(self.td.get('WORKDIR', ''), 'testimage')
# Don't use self.td.get('DATETIME'), it's from testdata.json, not
# up-to-date, and may cause "File exists" when re-reun.
datetime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
ptest_log_dir_link = os.path.join(test_log_dir, 'ptest_log')
ptest_log_dir = '%s.%s' % (ptest_log_dir_link, datetime)
ptest_log_dir = '%s.%s' % (ptest_log_dir_link, timestamp)
ptest_runner_log = os.path.join(ptest_log_dir, 'ptest-runner.log')
status, output = self.target.run('ptest-runner', 0)
@@ -86,25 +47,36 @@ class PtestRunnerTest(OERuntimeTestCase):
extras['ptestresult.rawlogs'] = {'log': output}
# Parse and save results
parse_result = self.parse_ptest(ptest_runner_log)
parse_result.log_as_files(ptest_log_dir, test_status = ['pass','fail', 'skip'])
parser = PtestParser()
results, sections = parser.parse(ptest_runner_log)
parser.results_as_files(ptest_log_dir)
if os.path.exists(ptest_log_dir_link):
# Remove the old link to create a new one
os.remove(ptest_log_dir_link)
os.symlink(os.path.basename(ptest_log_dir), ptest_log_dir_link)
extras['ptestresult.sections'] = sections
trans = str.maketrans("()", "__")
resmap = {'pass': 'PASSED', 'skip': 'SKIPPED', 'fail': 'FAILED'}
for section in parse_result.result_dict:
for test, result in parse_result.result_dict[section]:
testname = "ptestresult." + section + "." + "_".join(test.translate(trans).split())
extras[testname] = {'status': resmap[result]}
for section in results:
for test in results[section]:
result = results[section][test]
testname = "ptestresult." + (section or "No-section") + "." + "_".join(test.translate(trans).split())
extras[testname] = {'status': result}
failed_tests = {}
for section in parse_result.result_dict:
failed_testcases = [ "_".join(test.translate(trans).split()) for test, result in parse_result.result_dict[section] if result == 'fail' ]
for section in results:
failed_testcases = [ "_".join(test.translate(trans).split()) for test in results[section] if results[section][test] == 'fail' ]
if failed_testcases:
failed_tests[section] = failed_testcases
failmsg = ""
status, output = self.target.run('dmesg | grep "Killed process"', 0)
if output:
failmsg = "ERROR: Processes were killed by the OOM Killer:\n%s\n" % output
if failed_tests:
self.fail("Failed ptests:\n%s" % pprint.pformat(failed_tests))
failmsg = failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests)
if failmsg:
self.fail(failmsg)

View File

@@ -1,16 +1,12 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class PythonTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
import unittest
if "python3-core" not in cls.tc.image_packages:
raise unittest.SkipTest("Python3 not on target")
@OETestID(965)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['python3-core'])
def test_python3(self):
cmd = "python3 -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
status, output = self.target.run(cmd)

View File

@@ -10,11 +10,6 @@ from oeqa.core.utils.path import findFile
class RpmBasicTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
if cls.tc.td['PACKAGE_CLASSES'].split()[0] != 'package_rpm':
cls.skipTest('Tests require image to be build from rpm')
@OETestID(960)
@OEHasPackage(['rpm'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
@@ -26,6 +21,9 @@ class RpmBasicTest(OERuntimeTestCase):
@OETestID(191)
@OETestDepends(['rpm.RpmBasicTest.test_rpm_help'])
def test_rpm_query(self):
status, output = self.target.run('ls /var/lib/rpm/')
if status != 0:
self.skipTest('No /var/lib/rpm on target')
status, output = self.target.run('rpm -q rpm')
msg = 'status and output: %s and %s' % (status, output)
self.assertEqual(status, 0, msg=msg)
@@ -34,30 +32,25 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
if cls.tc.td['PACKAGE_CLASSES'].split()[0] != 'package_rpm':
cls.skipTest('Tests require image to be build from rpm')
pkgarch = cls.td['TUNE_PKGARCH'].replace('-', '_')
rpmdir = os.path.join(cls.tc.td['DEPLOY_DIR'], 'rpm', pkgarch)
# Pick base-passwd-doc as a test file to get installed, because it's small
# and it will always be built for standard targets
rpm_doc = 'base-passwd-doc-*.%s.rpm' % pkgarch
if not os.path.exists(rpmdir):
return
for f in fnmatch.filter(os.listdir(rpmdir), rpm_doc):
test_file = os.path.join(rpmdir, f)
dst = '/tmp/base-passwd-doc.rpm'
cls.tc.target.copyTo(test_file, dst)
@classmethod
def tearDownClass(cls):
dst = '/tmp/base-passwd-doc.rpm'
cls.tc.target.run('rm -f %s' % dst)
cls.test_file = os.path.join(rpmdir, f)
cls.dst = '/tmp/base-passwd-doc.rpm'
@OETestID(192)
@OETestDepends(['rpm.RpmBasicTest.test_rpm_help'])
@OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
def test_rpm_install(self):
self.tc.target.copyTo(self.test_file, self.dst)
status, output = self.target.run('rpm -ivh /tmp/base-passwd-doc.rpm')
msg = 'Failed to install base-passwd-doc package: %s' % output
self.assertEqual(status, 0, msg=msg)
self.tc.target.run('rm -f %s' % self.dst)
@OETestID(194)
@OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install'])
@@ -118,6 +111,8 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
msg = 'Failed to find database files under /var/lib/rpm/ as __db.xxx'
self.assertEqual(0, status, msg=msg)
self.tc.target.copyTo(self.test_file, self.dst)
# Remove the package just in case
self.target.run('rpm -e base-passwd-doc')
@@ -131,6 +126,8 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
msg = 'Failed to remove base-passwd-doc package. Reason: {}'.format(output)
self.assertEqual(0, status, msg=msg)
self.tc.target.run('rm -f %s' % self.dst)
# if using systemd this should ensure all entries are flushed to /var
status, output = self.target.run("journalctl --sync")
# Get the amount of entries in the log file

View File

@@ -4,6 +4,7 @@ from tempfile import mkstemp
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class ScpTest(OERuntimeTestCase):
@@ -20,6 +21,7 @@ class ScpTest(OERuntimeTestCase):
@OETestID(220)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['openssh-scp', 'dropbear'])
def test_scp_file(self):
dst = '/tmp/test_scp_file'

View File

@@ -1,11 +1,13 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class SSHTest(OERuntimeTestCase):
@OETestID(224)
@OETestDepends(['ping.PingTest.test_ping'])
@OEHasPackage(['dropbear', 'openssh-sshd'])
def test_ssh(self):
(status, output) = self.target.run('uname -a')
self.assertEqual(status, 0, msg='SSH Test failed: %s' % output)

View File

@@ -4,17 +4,18 @@ from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class StapTest(OERuntimeTestCase):
@classmethod
def setUpClass(cls):
def setUp(cls):
src = os.path.join(cls.tc.runtime_files_dir, 'hello.stp')
dst = '/tmp/hello.stp'
cls.tc.target.copyTo(src, dst)
@classmethod
def tearDownClass(cls):
def tearDown(cls):
files = '/tmp/hello.stp'
cls.tc.target.run('rm %s' % files)
@@ -22,6 +23,7 @@ class StapTest(OERuntimeTestCase):
@skipIfNotFeature('tools-profile',
'Test requires tools-profile to be in IMAGE_FEATURES')
@OETestDepends(['kernelmodule.KernelModuleTest.test_kernel_module'])
@OEHasPackage(['systemtap'])
def test_stap(self):
cmds = [
'cd /usr/src/kernel && make scripts prepare',

View File

@@ -2,6 +2,7 @@ from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class XorgTest(OERuntimeTestCase):
@@ -9,6 +10,7 @@ class XorgTest(OERuntimeTestCase):
@skipIfNotFeature('x11-base',
'Test requires x11 to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['xserver-nodm-init'])
def test_xorg_running(self):
cmd ='%s | grep -v xinit | grep [X]org' % self.tc.target_cmds['ps']
status, output = self.target.run(cmd)

View File

@@ -49,7 +49,6 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
default_manifest = 'data/manifest'
default_server_ip = '192.168.7.1'
default_target_ip = '192.168.7.2'
default_host_dumper_dir = '/tmp/oe-saved-tests'
default_extract_dir = 'packages/extracted'
def register_commands(self, logger, subparsers):
@@ -71,9 +70,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
% self.default_server_ip)
runtime_group.add_argument('--host-dumper-dir', action='store',
default=self.default_host_dumper_dir,
help="Directory where host status is dumped, if tests fails, default: %s" \
% self.default_host_dumper_dir)
help="Directory where host status is dumped, if tests fails")
runtime_group.add_argument('--packages-manifest', action='store',
default=self.default_manifest,
@@ -101,7 +98,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
if target_type == 'simpleremote':
target = OESSHTarget(logger, target_ip, server_ip, **kwargs)
elif target_type == 'qemu':
target = OEQemuTarget(logger, target_ip, server_ip, **kwargs)
target = OEQemuTarget(logger, server_ip, **kwargs)
else:
# XXX: This code uses the old naming convention for controllers and
# targets, the idea it is to leave just targets as the controller

View File

@@ -8,5 +8,5 @@ from oeqa.core.case import OETestCase
class OESDKTestCase(OETestCase):
def _run(self, cmd):
return subprocess.check_output(". %s > /dev/null; %s;" % \
(self.tc.sdk_env, cmd), shell=True,
(self.tc.sdk_env, cmd), shell=True, executable="/bin/bash",
stderr=subprocess.STDOUT, universal_newlines=True)

View File

@@ -0,0 +1,142 @@
# Copyright 2018 by Garmin Ltd. or its subsidiaries
# Released under the MIT license (see COPYING.MIT)
from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
class TestSDKBase(object):
@staticmethod
def get_sdk_configuration(d, test_type):
import platform
import oe.lsb
from oeqa.utils.metadata import get_layers
configuration = {'TEST_TYPE': test_type,
'MACHINE': d.getVar("MACHINE"),
'SDKMACHINE': d.getVar("SDKMACHINE"),
'IMAGE_BASENAME': d.getVar("IMAGE_BASENAME"),
'IMAGE_PKGTYPE': d.getVar("IMAGE_PKGTYPE"),
'STARTTIME': d.getVar("DATETIME"),
'HOST_DISTRO': oe.lsb.distro_identifier().replace(' ', '-'),
'LAYERS': get_layers(d.getVar("BBLAYERS"))}
return configuration
@staticmethod
def get_sdk_json_result_dir(d):
json_result_dir = os.path.join(d.getVar("LOG_DIR"), 'oeqa')
custom_json_result_dir = d.getVar("OEQA_JSON_RESULT_DIR")
if custom_json_result_dir:
json_result_dir = custom_json_result_dir
return json_result_dir
@staticmethod
def get_sdk_result_id(configuration):
return '%s_%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['SDKMACHINE'], configuration['MACHINE'], configuration['STARTTIME'])
class TestSDK(TestSDKBase):
context_executor_class = OESDKTestContextExecutor
context_class = OESDKTestContext
test_type = 'sdk'
def get_tcname(self, d):
"""
Get the name of the SDK file
"""
return d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh")
def extract_sdk(self, tcname, sdk_dir, d):
"""
Extract the SDK to the specified location
"""
import subprocess
try:
subprocess.check_output("cd %s; %s <<EOF\n./\nY\nEOF" % (sdk_dir, tcname), shell=True)
except subprocess.CalledProcessError as e:
bb.fatal("Couldn't install the SDK:\n%s" % e.output.decode("utf-8"))
def setup_context(self, d):
"""
Return a dictionary of additional arguments that should be passed to
the context_class on construction
"""
return dict()
def run(self, d):
import os
import subprocess
import json
import logging
from bb.utils import export_proxies
from oeqa.utils import make_logger_bitbake_compatible
pn = d.getVar("PN")
logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
# sdk use network for download projects for build
export_proxies(d)
tcname = self.get_tcname(d)
if not os.path.exists(tcname):
bb.fatal("The toolchain %s is not built. Build it before running the tests: 'bitbake <image> -c populate_sdk' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = self.context_executor_class._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = self.context_executor_class._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
processes = d.getVar("TESTIMAGE_NUMBER_THREADS") or d.getVar("BB_NUMBER_THREADS")
if processes:
try:
import testtools, subunit
except ImportError:
bb.warn("Failed to import testtools or subunit, the testcases will run serially")
processes = None
sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
bb.utils.remove(sdk_dir, True)
bb.utils.mkdirhier(sdk_dir)
context_args = self.setup_context(d)
self.extract_sdk(tcname, sdk_dir, d)
fail = False
sdk_envs = self.context_executor_class._get_sdk_environs(sdk_dir)
for s in sdk_envs:
sdk_env = sdk_envs[s]
bb.plain("SDK testing environment: %s" % s)
tc = self.context_class(td=test_data, logger=logger, sdk_dir=sdk_dir,
sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
host_pkg_manifest=host_pkg_manifest, **context_args)
try:
tc.loadTests(self.context_executor_class.default_cases)
except Exception as e:
import traceback
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
if processes:
result = tc.runTests(processes=int(processes))
else:
result = tc.runTests()
component = "%s %s" % (pn, self.context_executor_class.name)
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
configuration = self.get_sdk_configuration(d, self.test_type)
result.logDetails(self.get_sdk_json_result_dir(d),
configuration,
self.get_sdk_result_id(configuration))
result.logSummary(component, context_msg)
if not result.wasSuccessful():
fail = True
if fail:
bb.fatal("%s - FAILED - check the task log and the commands log" % pn)

View File

@@ -42,7 +42,8 @@ class SDKBuildProject(BuildProject):
def _run(self, cmd):
self.log("Running . %s; " % self.sdkenv + cmd)
try:
output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True, stderr=subprocess.STDOUT)
output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True,
executable='/bin/bash', stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as exc:
print(exc.output.decode('utf-8'))
return exc.returncode

View File

@@ -0,0 +1,104 @@
# Copyright 2018 by Garmin Ltd. or its subsidiaries
# Released under the MIT license (see COPYING.MIT)
from oeqa.sdk.testsdk import TestSDKBase
class TestSDKExt(TestSDKBase):
def run(self, d):
import os
import json
import subprocess
import logging
from bb.utils import export_proxies
from oeqa.utils import avoid_paths_in_environ, make_logger_bitbake_compatible, subprocesstweak
from oeqa.sdkext.context import OESDKExtTestContext, OESDKExtTestContextExecutor
pn = d.getVar("PN")
logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
# extensible sdk use network
export_proxies(d)
subprocesstweak.errors_have_output()
# extensible sdk can be contaminated if native programs are
# in PATH, i.e. use perl-native instead of eSDK one.
paths_to_avoid = [d.getVar('STAGING_DIR'),
d.getVar('BASE_WORKDIR')]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"))
sdk_dir = d.expand("${WORKDIR}/testsdkext/")
bb.utils.remove(sdk_dir, True)
bb.utils.mkdirhier(sdk_dir)
try:
subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
logfn = os.path.join(sdk_dir, 'preparing_build_system.log')
if os.path.exists(logfn):
msg += '\n\nContents of preparing_build_system.log:\n'
with open(logfn, 'r') as f:
for line in f:
msg += line
bb.fatal(msg)
fail = False
sdk_envs = OESDKExtTestContextExecutor._get_sdk_environs(sdk_dir)
for s in sdk_envs:
bb.plain("Extensible SDK testing environment: %s" % s)
sdk_env = sdk_envs[s]
# Use our own SSTATE_DIR and DL_DIR so that updates to the eSDK come from our sstate cache
# and we don't spend hours downloading kernels for the kernel module test
# Abuse auto.conf since local.conf would be overwritten by the SDK
with open(os.path.join(sdk_dir, 'conf', 'auto.conf'), 'a+') as f:
f.write('SSTATE_MIRRORS += " \\n file://.* file://%s/PATH"\n' % test_data.get('SSTATE_DIR'))
f.write('SOURCE_MIRROR_URL = "file://%s"\n' % test_data.get('DL_DIR'))
f.write('INHERIT += "own-mirrors"\n')
f.write('PREMIRRORS_prepend = " git://git.yoctoproject.org/.* git://%s/git2/git.yoctoproject.org.BASENAME \\n "\n' % test_data.get('DL_DIR'))
# We need to do this in case we have a minimal SDK
subprocess.check_output(". %s > /dev/null; devtool sdk-install meta-extsdk-toolchain" % \
sdk_env, cwd=sdk_dir, shell=True, stderr=subprocess.STDOUT)
tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
host_pkg_manifest=host_pkg_manifest)
try:
tc.loadTests(OESDKExtTestContextExecutor.default_cases)
except Exception as e:
import traceback
bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
result = tc.runTests()
component = "%s %s" % (pn, OESDKExtTestContextExecutor.name)
context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
configuration = self.get_sdk_configuration(d, 'sdkext')
result.logDetails(self.get_sdk_json_result_dir(d),
configuration,
self.get_sdk_result_id(configuration))
result.logSummary(component, context_msg)
if not result.wasSuccessful():
fail = True
if fail:
bb.fatal("%s - FAILED - check the task log and the commands log" % pn)

View File

@@ -2,6 +2,7 @@ import tempfile
import shutil
import os
import glob
import time
from oeqa.core.decorator.oeid import OETestID
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
@@ -31,7 +32,7 @@ class oeSDKExtSelfTest(OESelftestTestCase):
if not 'shell' in options:
options['shell'] = True
runCmd("cd %s; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options)
runCmd("cd %s; unset BBPATH; unset BUILDDIR; . %s; %s" % (tmpdir_eSDKQA, env_eSDK, cmd), **options)
@staticmethod
def generate_eSDK(image):
@@ -95,6 +96,11 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH"
@classmethod
def tearDownClass(cls):
for i in range(0, 10):
if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')):
time.sleep(1)
else:
break
cls.tmpdirobj.cleanup()
super().tearDownClass()

View File

@@ -13,6 +13,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
super(OePkgdataUtilTests, cls).setUpClass()
# Ensure we have the right data in pkgdata
cls.logger.info('Running bitbake to generate pkgdata')
bitbake('target-sdk-provides-dummy -c clean')
bitbake('busybox zlib m4')
@OETestID(1203)

View File

@@ -0,0 +1,94 @@
import os
import sys
basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../')
lib_path = basepath + '/scripts/lib'
sys.path = sys.path + [lib_path]
from resulttool.report import ResultsTextReport
from resulttool import regression as regression
from resulttool import resultutils as resultutils
from oeqa.selftest.case import OESelftestTestCase
class ResultToolTests(OESelftestTestCase):
base_results_data = {'base_result1': {'configuration': {"TEST_TYPE": "runtime",
"TESTSERIES": "series1",
"IMAGE_BASENAME": "image",
"IMAGE_PKGTYPE": "ipk",
"DISTRO": "mydistro",
"MACHINE": "qemux86"},
'result': {}},
'base_result2': {'configuration': {"TEST_TYPE": "runtime",
"TESTSERIES": "series1",
"IMAGE_BASENAME": "image",
"IMAGE_PKGTYPE": "ipk",
"DISTRO": "mydistro",
"MACHINE": "qemux86-64"},
'result': {}}}
target_results_data = {'target_result1': {'configuration': {"TEST_TYPE": "runtime",
"TESTSERIES": "series1",
"IMAGE_BASENAME": "image",
"IMAGE_PKGTYPE": "ipk",
"DISTRO": "mydistro",
"MACHINE": "qemux86"},
'result': {}},
'target_result2': {'configuration': {"TEST_TYPE": "runtime",
"TESTSERIES": "series1",
"IMAGE_BASENAME": "image",
"IMAGE_PKGTYPE": "ipk",
"DISTRO": "mydistro",
"MACHINE": "qemux86"},
'result': {}},
'target_result3': {'configuration': {"TEST_TYPE": "runtime",
"TESTSERIES": "series1",
"IMAGE_BASENAME": "image",
"IMAGE_PKGTYPE": "ipk",
"DISTRO": "mydistro",
"MACHINE": "qemux86-64"},
'result': {}}}
def test_report_can_aggregate_test_result(self):
result_data = {'result': {'test1': {'status': 'PASSED'},
'test2': {'status': 'PASSED'},
'test3': {'status': 'FAILED'},
'test4': {'status': 'ERROR'},
'test5': {'status': 'SKIPPED'}}}
report = ResultsTextReport()
result_report = report.get_aggregated_test_result(None, result_data)
self.assertTrue(result_report['passed'] == 2, msg="Passed count not correct:%s" % result_report['passed'])
self.assertTrue(result_report['failed'] == 2, msg="Failed count not correct:%s" % result_report['failed'])
self.assertTrue(result_report['skipped'] == 1, msg="Skipped count not correct:%s" % result_report['skipped'])
def test_regression_can_get_regression_base_target_pair(self):
results = {}
resultutils.append_resultsdata(results, ResultToolTests.base_results_data)
resultutils.append_resultsdata(results, ResultToolTests.target_results_data)
self.assertTrue('target_result1' in results['runtime/mydistro/qemux86/image'], msg="Pair not correct:%s" % results)
self.assertTrue('target_result3' in results['runtime/mydistro/qemux86-64/image'], msg="Pair not correct:%s" % results)
def test_regrresion_can_get_regression_result(self):
base_result_data = {'result': {'test1': {'status': 'PASSED'},
'test2': {'status': 'PASSED'},
'test3': {'status': 'FAILED'},
'test4': {'status': 'ERROR'},
'test5': {'status': 'SKIPPED'}}}
target_result_data = {'result': {'test1': {'status': 'PASSED'},
'test2': {'status': 'FAILED'},
'test3': {'status': 'PASSED'},
'test4': {'status': 'ERROR'},
'test5': {'status': 'SKIPPED'}}}
result, text = regression.compare_result(self.logger, "BaseTestRunName", "TargetTestRunName", base_result_data, target_result_data)
self.assertTrue(result['test2']['base'] == 'PASSED',
msg="regression not correct:%s" % result['test2']['base'])
self.assertTrue(result['test2']['target'] == 'FAILED',
msg="regression not correct:%s" % result['test2']['target'])
self.assertTrue(result['test3']['base'] == 'FAILED',
msg="regression not correct:%s" % result['test3']['base'])
self.assertTrue(result['test3']['target'] == 'PASSED',
msg="regression not correct:%s" % result['test3']['target'])
def test_merge_can_merged_results(self):
results = {}
resultutils.append_resultsdata(results, ResultToolTests.base_results_data, configmap=resultutils.flatten_map)
resultutils.append_resultsdata(results, ResultToolTests.target_results_data, configmap=resultutils.flatten_map)
self.assertEqual(len(results[''].keys()), 5, msg="Flattened results not correct %s" % str(results))

View File

@@ -5,6 +5,7 @@
import re
import tempfile
import time
import oe.types
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
from oeqa.core.decorator.oeid import OETestID
@@ -22,6 +23,10 @@ class RunqemuTests(OESelftestTestCase):
self.fstypes = "ext4 iso hddimg wic.vmdk wic.qcow2 wic.vdi"
self.cmd_common = "runqemu nographic"
kvm = oe.types.qemu_use_kvm(get_bb_var('QEMU_USE_KVM'), 'x86_64')
if kvm:
self.cmd_common += " kvm"
self.write_config(
"""
MACHINE = "%s"

View File

@@ -625,9 +625,11 @@ class Wic2(WicTestCase):
self.remove_config(config)
with runqemu('wic-image-minimal', ssh=False) as qemu:
cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' ' | sort"
cmd = "mount | grep '^/dev/' | cut -f1,3 -d ' ' | egrep -c -e '/dev/sda1 /boot' " \
"-e '/dev/root /|/dev/sda2 /' -e '/dev/sda3 /media' -e '/dev/sda4 /mnt'"
status, output = qemu.run_serial(cmd)
self.assertEqual(output, '/dev/root /\r\n/dev/sda1 /boot\r\n/dev/sda3 /media\r\n/dev/sda4 /mnt')
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
self.assertEqual(output, '4')
cmd = "grep UUID= /etc/fstab"
status, output = qemu.run_serial(cmd)
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))

View File

@@ -107,13 +107,9 @@ class QemuTarget(BaseTarget):
dump_target_cmds = d.getVar("testimage_dump_target")
dump_host_cmds = d.getVar("testimage_dump_host")
dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
qemu_use_kvm = d.getVar("QEMU_USE_KVM")
if qemu_use_kvm and \
(oe.types.boolean(qemu_use_kvm) and "x86" in d.getVar("MACHINE") or \
d.getVar("MACHINE") in qemu_use_kvm.split()):
use_kvm = True
else:
use_kvm = False
if not dump_dir:
dump_dir = os.path.join(d.getVar('LOG_DIR'), 'runtime-hostdump')
use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
# Log QemuRunner log output to a file
import oe.path
@@ -163,7 +159,7 @@ class QemuTarget(BaseTarget):
def start(self, params=None, ssh=True, extra_bootparams='', runqemuparams='', launch_cmd='', discard_writes=True):
if launch_cmd:
start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd)
start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd, qemuparams=params)
else:
start = self.runner.start(params, get_ip=ssh, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams, discard_writes=discard_writes)
@@ -196,7 +192,7 @@ class QemuTarget(BaseTarget):
else:
raise bb.build.FuncFailed("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn)
def run_serial(self, command, timeout=5):
def run_serial(self, command, timeout=60):
return self.runner.run_serial(command, timeout=timeout)

View File

@@ -25,9 +25,12 @@ class BuildProject(metaclass=ABCMeta):
self.fname = foldername
else:
self.fname = re.sub(r'\.tar\.bz2$|\.tar\.gz$|\.tar\.xz$', '', self.archive)
self.needclean = False
# Download self.archive to self.localarchive
def _download_archive(self):
self.needclean = True
if self.dl_dir and os.path.exists(os.path.join(self.dl_dir, self.archive)):
shutil.copyfile(os.path.join(self.dl_dir, self.archive), self.localarchive)
return
@@ -52,5 +55,7 @@ class BuildProject(metaclass=ABCMeta):
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
def clean(self):
if not self.needclean:
return
self._run('rm -rf %s' % self.targetdir)
subprocess.check_call('rm -f %s' % self.localarchive, shell=True)

View File

@@ -12,7 +12,7 @@ class BaseDumper(object):
self.cmds = []
# Some testing doesn't inherit testimage, so it is needed
# to set some defaults.
self.parent_dir = parent_dir or "/tmp/oe-saved-tests"
self.parent_dir = parent_dir
dft_cmds = """ top -bn1
iostat -x -z -N -d -p ALL 20 2
ps -ef

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