[OE-core] [PATCH] resulttool/manualexecution: Refactor and remove duplicate code

2019-04-10 Thread Yeoh Ee Peng
Remove duplicate codes. Replace unnecessary class variables with
local variables. Rename variables and arguments with simple and
standard name.

Signed-off-by: Yeoh Ee Peng 
---
 scripts/lib/resulttool/manualexecution.py | 87 ++-
 1 file changed, 40 insertions(+), 47 deletions(-)

diff --git a/scripts/lib/resulttool/manualexecution.py 
b/scripts/lib/resulttool/manualexecution.py
index 12ef90d..ea44219 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -20,9 +20,9 @@ import re
 from oeqa.core.runner import OETestResultJSONHelper
 
 
-def load_json_file(file):
-with open(file, "r") as f:
-return json.load(f)
+def load_json_file(f):
+with open(f, "r") as filedata:
+return json.load(filedata)
 
 def write_json_file(f, json_data):
 os.makedirs(os.path.dirname(f), exist_ok=True)
@@ -31,9 +31,8 @@ def write_json_file(f, json_data):
 
 class ManualTestRunner(object):
 
-def _get_testcases(self, file):
-self.jdata = load_json_file(file)
-self.test_module = self.jdata[0]['test']['@alias'].split('.', 2)[0]
+def _get_test_module(self, case_file):
+return os.path.basename(case_file).split('.')[0]
 
 def _get_input(self, config):
 while True:
@@ -57,23 +56,21 @@ class ManualTestRunner(object):
 print('Only integer index inputs from above available 
configuration options are allowed. Please try again.')
 return options[output]
 
-def _create_config(self, config_options):
+def _get_config(self, config_options, test_module):
 from oeqa.utils.metadata import get_layers
 from oeqa.utils.commands import get_bb_var
 from resulttool.resultutils import store_map
 
 layers = get_layers(get_bb_var('BBLAYERS'))
-self.configuration = {}
-self.configuration['LAYERS'] = layers
-current_datetime = datetime.datetime.now()
-self.starttime = current_datetime.strftime('%Y%m%d%H%M%S')
-self.configuration['STARTTIME'] = self.starttime
-self.configuration['TEST_TYPE'] = 'manual'
-self.configuration['TEST_MODULE'] = self.test_module
-
-extra_config = set(store_map['manual']) - set(self.configuration)
+configurations = {}
+configurations['LAYERS'] = layers
+configurations['STARTTIME'] = 
datetime.datetime.now().strftime('%Y%m%d%H%M%S')
+configurations['TEST_TYPE'] = 'manual'
+configurations['TEST_MODULE'] = test_module
+
+extra_config = set(store_map['manual']) - set(configurations)
 for config in sorted(extra_config):
-avail_config_options = 
self._get_available_config_options(config_options, self.test_module, config)
+avail_config_options = 
self._get_available_config_options(config_options, test_module, config)
 if avail_config_options:
 print('-')
 print('These are available configuration #%s options:' % 
config)
@@ -89,21 +86,19 @@ class ManualTestRunner(object):
 print('-')
 value_conf = self._get_input('Configuration Value')
 print('-\n')
-self.configuration[config] = value_conf
-
-def _create_result_id(self):
-self.result_id = 'manual_%s_%s' % (self.test_module, self.starttime)
+configurations[config] = value_conf
+return configurations
 
-def _execute_test_steps(self, test):
+def _execute_test_steps(self, case):
 test_result = {}
 
print('')
-print('Executing test case: %s' % test['test']['@alias'])
+print('Executing test case: %s' % case['test']['@alias'])
 
print('')
-print('You have total %s test steps to be executed.' % 
len(test['test']['execution']))
+print('You have total %s test steps to be executed.' % 
len(case['test']['execution']))
 
print('\n')
-for step, _ in sorted(test['test']['execution'].items(), key=lambda x: 
int(x[0])):
-print('Step %s: %s' % (step, 
test['test']['execution'][step]['action']))
-expected_output = 
test['test']['execution'][step]['expected_results']
+for step, _ in sorted(case['test']['execution'].items(), key=lambda x: 
int(x[0])):
+print('Step %s: %s' % (step, 
case['test']['execution'][step]['action']))
+expected_output = 
case['test']['execution'][step]['expected_results']
 if expected_output:
 print('Expected output: %s' % expected_output)
 while True:
@@ -118,31 +113,30 @@ class 

[OE-core] [PATCH] ccmake.bbclass: Fix up un-escaped quotes in output formatting

2019-04-10 Thread Nathan Rossi
The quotes should be generated in the output to match the expected cmake
syntax for setting cache variables.

Signed-off-by: Nathan Rossi 
---
 meta/classes/ccmake.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/ccmake.bbclass b/meta/classes/ccmake.bbclass
index 4114daa61b..df5134a108 100644
--- a/meta/classes/ccmake.bbclass
+++ b/meta/classes/ccmake.bbclass
@@ -81,7 +81,7 @@ python do_ccmake_diffconfig() {
 
 with open(d.expand("${WORKDIR}/site-file.cmake"), "w") as f:
 for k, kt, v in added:
-f.write("SET({0} \"{1}\" CACHE {2} "")\n".format(k, v, 
kt))
+f.write("SET({0} \"{1}\" CACHE {2} \"\")\n".format(k, 
v, kt))
 bb.plain("Configuration cmake fragment written to: 
{0}".format(d.expand("${WORKDIR}/site-file.cmake")))
 
 # restore the original config
---
2.20.1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [yocto] Eclipse support dropped with immediate effect

2019-04-10 Thread akuster808



On 4/10/19 3:11 PM, richard.pur...@linuxfoundation.org wrote:
> On Wed, 2019-04-10 at 05:56 +0530, akuster808 wrote:
>> On 4/9/19 8:52 PM, Richard Purdie wrote:
>>> I'm sorry to have to say this but the project is terminating its
>>> official eclipse plugin support with immediate effect.
>> Does this affect the stable branches as well?
> Yes, I think we'll just be removing the target from the autobuilder
> entirely.

Have we every removed a feature from a release? Do we need to doc this ?

- armin
> Cheers,
>
> Richard
>

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] pseudo: Update to gain key bugfixes

2019-04-10 Thread Seebs
On Thu, 11 Apr 2019 00:12:54 +0100
Richard Purdie  wrote:

> -SRCREV = "6294b344e5140f5467e6860f45a174440015304e"
> +SRCREV = "6ebc7d6bc8ab973d0ba949eeb363821811ce8dc5"

I would sort of recommend one of the two commits since then -- one may
fix the .NET startup failures, and the other fixes warnings that this
one introduced and I forgot to fix. But I'm also okay with this one.

-s
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] pseudo: Update to gain key bugfixes

2019-04-10 Thread Otavio Salvador
On Wed, Apr 10, 2019 at 8:13 PM Richard Purdie
 wrote:
>
> 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.
>
> Signed-off-by: Richard Purdie 

Glad to help! ;-)

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854  Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [oe-core][PATCH] kernel-devsrc: check for localversion files in the kernel source tree

2019-04-10 Thread Bruce Ashfield
On Wed, Apr 10, 2019 at 6:56 PM Beniamin Sandu  wrote:
>
> The kernel-devsrc rework doesn't take into account localversion
> files in the kernel source tree. This might result in modules with an
> incomplete version magic when building out-of-tree using the SDK.
>
> Before:
> root@qemux86:~# insmod hello.ko
> [   42.000212] hello: version magic '5.0.3-yocto-standard SMP preempt
> mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
> SMP preempt mod_unload PENTIUMM '
> [   42.008200] hello: version magic '5.0.3-yocto-standard SMP preempt
> mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
> SMP preempt mod_unload PENTIUMM '
> insmod: can't insert 'hello.ko': invalid module format
>
> After:
> root@qemux86:~# insmod hello.ko
> [   39.094288] hello: loading out-of-tree module taints kernel.
> [   39.108044] Hello World!
>
> Signed-off-by: Beniamin Sandu 
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 5 +
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb 
> b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 69a8eaef81..ed265f702d 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -228,6 +228,11 @@ do_install() {
>
>  # required to build scripts/selinux/genheaders/genheaders
>  cp -a --parents security/selinux/include/* $kerneldir/build/
> +
> +   # check for any localversion files
> +   if [ -f localversion* ]; then

Why not just stay consistent with the rest of the copying and make
sure it survives these not
being present via || : ?

Since that is going to potentially have issues when no localversion
files are present.

i.e. just use: cp -a localversion* $kerneldir/build/ 2>/dev/null || :

Bruce

> +  cp localversion* $kerneldir/build/
> +   fi
>  )
>
>  # Make sure the Makefile and version.h have a matching timestamp so that
> --
> 2.17.1
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] pseudo: Update to gain key bugfixes

2019-04-10 Thread Richard Purdie
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.

Signed-off-by: Richard Purdie 
---
 meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb 
b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 79e0b6bd21a..64b3832ca4d 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \
file://toomanyfiles.patch \
"
 
-SRCREV = "6294b344e5140f5467e6860f45a174440015304e"
+SRCREV = "6ebc7d6bc8ab973d0ba949eeb363821811ce8dc5"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
-- 
2.20.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [oe-core][PATCH] kernel-devsrc: check for localversion files in the kernel source tree

2019-04-10 Thread Beniamin Sandu
The kernel-devsrc rework doesn't take into account localversion
files in the kernel source tree. This might result in modules with an
incomplete version magic when building out-of-tree using the SDK.

Before:
root@qemux86:~# insmod hello.ko
[   42.000212] hello: version magic '5.0.3-yocto-standard SMP preempt
mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
SMP preempt mod_unload PENTIUMM '
[   42.008200] hello: version magic '5.0.3-yocto-standard SMP preempt
mod_unload PENTIUMM ' should be '5.0.3-my-custom-release-yocto-standard
SMP preempt mod_unload PENTIUMM '
insmod: can't insert 'hello.ko': invalid module format

After:
root@qemux86:~# insmod hello.ko
[   39.094288] hello: loading out-of-tree module taints kernel.
[   39.108044] Hello World!

Signed-off-by: Beniamin Sandu 
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 5 +
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb 
b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 69a8eaef81..ed265f702d 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -228,6 +228,11 @@ do_install() {
 
 # required to build scripts/selinux/genheaders/genheaders
 cp -a --parents security/selinux/include/* $kerneldir/build/
+
+   # check for any localversion files
+   if [ -f localversion* ]; then
+  cp localversion* $kerneldir/build/
+   fi
 )
 
 # Make sure the Makefile and version.h have a matching timestamp so that
-- 
2.17.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] gobject-introspection.bbclass: Disable writing to $HOME/.cache/g-ir-scanner

2019-04-10 Thread Jason Wessel
Investigation of an end user going over their quota in the user's home
directory showed that the gobject-instrospection is writing files into
the ~/.cache/g-ir-scanner when building -native packages.  The test
package in this case was gdk-pixbuf-native.

Setting the GI_SCANNER_DISABLE_CACHE in the bbclass should be all that
is needed.  The qemu wrapper was already setting this properly, but we
also need it for the -native builds.

meta/recipes-gnome/gobject-introspection/gobject-introspection_1.58.3.bb:131:
export GI_SCANNER_DISABLE_CACHE=1

Signed-off-by: Jason Wessel 
---
 meta/classes/gobject-introspection.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/gobject-introspection.bbclass 
b/meta/classes/gobject-introspection.bbclass
index 4ceb0c68b1..359620fba7 100644
--- a/meta/classes/gobject-introspection.bbclass
+++ b/meta/classes/gobject-introspection.bbclass
@@ -27,6 +27,9 @@ DEPENDS_append_class-nativesdk = " 
gobject-introspection-native"
 # This is used by introspection tools to find .gir includes
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
+# Disable writing to $HOME/.cache/g-ir-scanner
+export GI_SCANNER_DISABLE_CACHE = "1"
+
 do_configure_prepend_class-target () {
 # introspection.m4 pre-packaged with upstream tarballs does not yet
 # have our fixes
-- 
2.17.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] opkg: add ptest

2019-04-10 Thread Alejandro del Castillo
Install opkg test suite and run it as ptest.

Signed-off-by: Alejandro del Castillo 
---
 ...dd-target-for-testsuite-installation.patch | 43 +++
 py-resolve-paths-before-comparision.patch | 31 +
 meta/recipes-devtools/opkg/opkg/run-ptest |  5 +++
 meta/recipes-devtools/opkg/opkg_0.4.0.bb  |  6 ++-
 4 files changed, 84 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
 create mode 100644 
meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
 create mode 100644 meta/recipes-devtools/opkg/opkg/run-ptest

diff --git 
a/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
 
b/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
new file mode 100644
index 00..951c186767
--- /dev/null
+++ 
b/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
@@ -0,0 +1,43 @@
+From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo 
+Date: Wed, 10 Apr 2019 14:49:43 -0500
+Subject: [PATCH] opkg: add target for testsuite installation
+
+- Add target to install testsuite
+- Add override of opkg binary used during test via OPKG_PATH environment
+variable.
+
+Signed-off-by: Alejandro del Castillo 
+---
+Upstream-Status: Submitted
+
+ Makefile.am  | 5 +
+ tests/cfg.py | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 90cfcae..1f6a784 100644
+--- a/Makefile.am
 b/Makefile.am
+@@ -18,3 +18,8 @@ run-tests:
+   $(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@ 
VARDIR=@localstatedir@
+ 
+ check: run-tests
++
++install-ptest:
++  cp -r $(srcdir)/tests $(DESTDIR)
++  cp Makefile $(DESTDIR)
++  sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
+diff --git a/tests/cfg.py b/tests/cfg.py
+index 4efaff6..ca59d03 100644
+--- a/tests/cfg.py
 b/tests/cfg.py
+@@ -2,4 +2,4 @@ import os
+ 
+ opkdir = "/tmp/opk"
+ offline_root = "/tmp/opkg"
+-opkgcl = os.path.realpath("../src/opkg")
++opkgcl = os.getenv('OPKG_PATH', os.path.realpath("../src/opkg"))
+-- 
+2.20.1
+
diff --git 
a/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
 
b/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
new file mode 100644
index 00..75ecb5fb42
--- /dev/null
+++ 
b/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
@@ -0,0 +1,31 @@
+From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo 
+Date: Mon, 8 Apr 2019 11:14:56 -0500
+Subject: [PATCH] regress/issue72.py: resolve paths before comparision
+
+In systems that have a volatile /tmp, the test incorrectly fails since
+it doesn't resolve the real path in all cases.
+
+Signed-off-by: Alejandro del Castillo 
+---
+Upstream-Status: Submitted
+
+ tests/regress/issue72.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py
+index 1626877..2f24dec 100755
+--- a/tests/regress/issue72.py
 b/tests/regress/issue72.py
+@@ -56,7 +56,7 @@ if not os.path.lexists("{}/{}".format(cfg.offline_root, 
long_filename2)):
+   "not created.")
+ 
+ linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2))
+-linky_dst = "{}/{}".format(cfg.offline_root, long_filename)
++linky_dst = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename))
+ if linky != linky_dst:
+   opk.fail("symlink path truncated.")
+ 
+-- 
+2.20.1
+
diff --git a/meta/recipes-devtools/opkg/opkg/run-ptest 
b/meta/recipes-devtools/opkg/opkg/run-ptest
new file mode 100644
index 00..5fb7077eec
--- /dev/null
+++ b/meta/recipes-devtools/opkg/opkg/run-ptest
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+OPKG_PATH=$(which opkg)
+
+make OPKG_PATH=$OPKG_PATH run-tests
diff --git a/meta/recipes-devtools/opkg/opkg_0.4.0.bb 
b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
index a2329d3e71..20c2e0b72a 100644
--- a/meta/recipes-devtools/opkg/opkg_0.4.0.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.4.0.bb
@@ -15,12 +15,15 @@ SRC_URI = 
"http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
file://opkg.conf \

file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
file://0001-libopkg-add-add-ignore-recommends-option.patch \
+   
file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \
+   file://0001-opkg-add-target-for-testsuite-installation.patch \
+   file://run-ptest \
 "
 
 SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
 SRC_URI[sha256sum] = 
"f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
 
-inherit autotools pkgconfig systemd
+inherit autotools 

[OE-core] [PATCH] u-boot: Upgrade from 2019.01 to 2019.04

2019-04-10 Thread Alistair Francis
Signed-off-by: Alistair Francis 
---
 meta/recipes-bsp/u-boot/u-boot-common.inc   | 2 +-
 .../{u-boot-fw-utils_2019.01.bb => u-boot-fw-utils_2019.04.bb}  | 0
 .../u-boot/{u-boot-tools_2019.01.bb => u-boot-tools_2019.04.bb} | 0
 .../recipes-bsp/u-boot/{u-boot_2019.01.bb => u-boot_2019.04.bb} | 0
 4 files changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-bsp/u-boot/{u-boot-fw-utils_2019.01.bb => 
u-boot-fw-utils_2019.04.bb} (100%)
 rename meta/recipes-bsp/u-boot/{u-boot-tools_2019.01.bb => 
u-boot-tools_2019.04.bb} (100%)
 rename meta/recipes-bsp/u-boot/{u-boot_2019.01.bb => u-boot_2019.04.bb} (100%)

diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc 
b/meta/recipes-bsp/u-boot/u-boot-common.inc
index dcfb9cc63f..a0212e1b6b 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -8,7 +8,7 @@ PE = "1"
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "d3689267f92c5956e09cc7d1baa4700141662bff"
+SRCREV = "3c99166441bf3ea325af2da83cfe65430b49c066"
 
 SRC_URI = "git://git.denx.de/u-boot.git"
 
diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb 
b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.01.bb
rename to meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb 
b/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot-tools_2019.01.bb
rename to meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb
diff --git a/meta/recipes-bsp/u-boot/u-boot_2019.01.bb 
b/meta/recipes-bsp/u-boot/u-boot_2019.04.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot_2019.01.bb
rename to meta/recipes-bsp/u-boot/u-boot_2019.04.bb
-- 
2.21.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [v4][PATCH 1/2] go.bbclass: Export more GO* environment variables

2019-04-10 Thread Mark Asselstine
Currently we are not doing a good job of consolidating GO environment
variables used by the go build system in the go.bbclass, instead we
are relying on the individual GO recipe authors to perform the
exports. This can result in inconsistent build results and often
binaries that are not properly cross compiled, resulting in segfaults
when the applications are run on the target.

For example the GO documentation recommends that the environment
include a value assigned to GOARM when cross building for ARMv5, ARMv6
and ARMv7 (https://github.com/golang/go/wiki/GoArm).

In order to avoid polluting the build scripts with unnecessary
exports, such as run.do_compile, we attempt to only export variables
when they apply to a specific arch.

Signed-off-by: Mark Asselstine 
---

V2
* Avoid potential undefined situations

V3
* Add more exports to cover the basics
* Tested on all qemu* variants, -native and build test other BSPs

V4
* Drop i586 since x86 is already also in the overrides

 meta/classes/go.bbclass | 17 +
 1 file changed, 17 insertions(+)

diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index 7069c5f..7f5e8b9 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -8,6 +8,23 @@ GOROOT = "${STAGING_LIBDIR}/go"
 export GOROOT
 export GOROOT_FINAL = "${libdir}/go"
 
+export GOARCH = "${TARGET_GOARCH}"
+export GOOS = "${TARGET_GOOS}"
+export GOHOSTARCH="${BUILD_GOARCH}"
+export GOHOSTOS="${BUILD_GOOS}"
+
+GOARM[export] = "0"
+GOARM_arm_class-target = "${TARGET_GOARM}"
+GOARM_arm_class-target[export] = "1"
+
+GO386[export] = "0"
+GO386_x86_class-target = "${TARGET_GO386}"
+GO386_x86_class-target[export] = "1"
+
+GOMIPS[export] = "0"
+GOMIPS_mips_class-target = "${TARGET_GOMIPS}"
+GOMIPS_mips_class-target[export] = "1"
+
 DEPENDS_GOLANG_class-target = "virtual/${TUNE_PKGARCH}-go 
virtual/${TARGET_PREFIX}go-runtime"
 DEPENDS_GOLANG_class-native = "go-native"
 DEPENDS_GOLANG_class-nativesdk = "virtual/${TARGET_PREFIX}go-crosssdk 
virtual/${TARGET_PREFIX}go-runtime"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [v4][PATCH 2/2] goarch.bbclass: use MACHINEOVERRIDES and simplify go_map_arm()

2019-04-10 Thread Mark Asselstine
Per https://github.com/golang/go/wiki/GoArm we need to set GOARM when
cross building for ARMv5, ARMv6 and ARMv7. The current approach of
using TUNE_FEATURES can be error prone, as we can see today when
attempting to build for Cortex-A7 which results in GOARM=''.

Since the value of MACHINEOVERRIDES already consolidates the values of
TUNE_FEATURES into something more consistent we can use the overrides
mechanism to set GOARM, leaving just a little bit of logic in
go_map_arm() to trigger off the arch (basically target vs host)
for the setting of GOARM.

Signed-off-by: Mark Asselstine 
---

V2
* Cover all ARMv7 Cortex* variants

V3
* Switch to using MACHINEOVERRIDES/overrides mechanism

V4
* Access BASE_GOARM directly instead of as a func param
* Avoid using a slow regex


 meta/classes/goarch.bbclass | 24 +---
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
index 7aaf26a..166dea9 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes/goarch.bbclass
@@ -3,18 +3,26 @@ BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH'), d)}"
 BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
 HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS'), d)}"
 HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}"
-HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), 
d)}"
+HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d)}"
 HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), 
d)}"
 HOST_GOMIPS = "${@go_map_mips(d.getVar('HOST_ARCH'), 
d.getVar('TUNE_FEATURES'), d)}"
 HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
 TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}"
 TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}"
-TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), 
d.getVar('TUNE_FEATURES'), d)}"
+TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d)}"
 TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), 
d.getVar('TUNE_FEATURES'), d)}"
 TARGET_GOMIPS = "${@go_map_mips(d.getVar('TARGET_ARCH'), 
d.getVar('TUNE_FEATURES'), d)}"
 TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
 GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') 
== d.getVar('HOST_GOTUPLE')]}"
 
+# Use the MACHINEOVERRIDES to map ARM CPU architecture passed to GO via GOARM.
+# This is combined with *_ARCH to set HOST_GOARM and TARGET_GOARM.
+BASE_GOARM = ''
+BASE_GOARM_armv7ve = '7'
+BASE_GOARM_armv7a = '7'
+BASE_GOARM_armv6 = '6'
+BASE_GOARM_armv5 = '5'
+
 # Go supports dynamic linking on a limited set of architectures.
 # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go
 GO_DYNLINK = ""
@@ -73,15 +81,9 @@ def go_map_arch(a, d):
 else:
 raise bb.parse.SkipRecipe("Unsupported CPU architecture: %s" % a)
 
-def go_map_arm(a, f, d):
-import re
-if re.match('arm.*', a):
-if 'armv7' in f:
-return '7'
-elif 'armv6' in f:
-return '6'
-elif 'armv5' in f:
-return '5'
+def go_map_arm(a, d):
+if a.startswith("arm"):
+return d.getVar('BASE_GOARM')
 return ''
 
 def go_map_386(a, f, d):
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] perf: workaround the error cased by maybe-uninitialized warning

2019-04-10 Thread Randy MacLeod

On 4/5/19 5:55 PM, Khem Raj wrote:

On Thu, Apr 4, 2019 at 2:03 AM Dengke Du  wrote:


When enable DEBUG_BUILD, the perf build failed by the following error:
 libbpf.c:727:36: error: 'data' may be used uninitialized in this function 
[-Werror=maybe-uninitialized]
This is ok until Khem commit a patch in oe-core:
 16643b03227466e2c80a24c2d079fe36e89553c1
This commit import "-Og" option to "DEBUG_OPTIMIZATION", result in this error.

Actually, the warning was misinformation. We explore the code in libbpf.c:
 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/lib/bpf/libbpf.c#n640
--
 if (scn)
 data = elf_getdata(scn, NULL);
 if (!scn || !data) {
 pr_warning("failed to get Elf_Data from map section %d\n",
obj->efile.maps_shndx);
 return -EINVAL;
 }
 ..
 using data...
 ..
--
If the 'scn' was not null, the data will be initialized. if the data was null,
the function will return -EINVAL, so the data must be not null, but compiler
can't see it in 'if' code block, so treat it as 'maybe-uninitialized'.

Signed-off-by: Dengke Du 
---
  meta/recipes-kernel/perf/perf.bb | 1 +
  1 file changed, 1 insertion(+)

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 5acdcfb..546076f 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -271,3 +271,4 @@ FILES_${PN}-perl = "${libexecdir}/perf-core/scripts/perl"


  INHIBIT_PACKAGE_DEBUG_SPLIT="1"
+DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"


I was thinking that this would be applied globally, but I think doing
it on need bases is a better approach so this looks ok to me.


so this commit should be merged.

I don't see it in master[-next] yet so this is a reminder to the busy,
hard-working gatekeepers. :)

../Randy





--
# Randy MacLeod
# Wind River Linux
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 00/16] thud-next patch review

2019-04-10 Thread akuster808


On 4/10/19 3:01 AM, Martin Jansa wrote:
> Please don't forget to include:
> http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280094.html
> and similar one for sumo:
> http://lists.openembedded.org/pipermail/openembedded-core/2019-March/280093.html
> in the next pull.
Thanks for the reminder. My focus on this batch was getting more of the
automated QA bits in.

- armin
> I don't see them included in any thud-next/thud-nmut branches.
>
> On Sun, Apr 7, 2019 at 11:24 AM Armin Kuster  > wrote:
>
> There are the commit I intend on sending a pull request for in two
> days. Tuesday my timezone (IST)
>
> Please provide feedback by then if there are any issues. This is
> mostly OEQA changes. They have been througt the AB a-full and passed.
>
> The following changes since commit
> 45032e30be70503faeee468159b216031b729309:
>
>   build-appliance-image: Update to thud head revision (2019-03-27
> 23:22:49 +)
>
> are available in the git repository at:
>
>   git://git.openembedded.org/openembedded-core-contrib
> 
> stable/thud-nmut
>   http://cgit.openembedded.org//log/?h=stable/thud-nmut
>
> Armin Kuster (1):
>   Revert "boost: update to 1.69.0"
>
> Chen Qi (1):
>   pkgdata.py: avoid target-sdk-dummy-provides to mess things up
>
> Mazliana (1):
>   oeqa/manual/bsp-hw.json: add non-IA tests
>
> Richard Purdie (2):
>   resulttool: Allow store to work on single files
>   resulttool: Allow extraction of ptest data
>
> Sudhir Sharma (1):
>   oeqa/manual: Add manual runtime 'compliance' testcases to json
>
> Yeoh Ee Peng (6):
>   oeqa/manual/toaster: transfer manual toaster test cases to oeqa
>   oeqa/manual/toaster: updated test id naming
>   resulttool/manualexecution: Standardize input check
>   resulttool/manualexecution: Enable display full steps without press
>     enter
>   resulttool/manualexecution: Fixed step sorted by integer
>   resulttool/manualexecution: Refactor and simplify codebase
>
> sangeeta jain (4):
>   oeqa/manual/sdk.json: Updated toolchain tarball to core-image-sato
>   oeqa/manual/bsp-hw.json: test id updated and obsolete test cases
>     removed
>   oeqa/manual/compliance-test.json: test id updated and missing test
>     cases added
>   oeqa/manual/kernel-dev.json: test id updated
>
>  meta/lib/oeqa/manual/bsp-hw.json                   |  264 +-
>  meta/lib/oeqa/manual/compliance-test.json          |  194 ++
>  meta/lib/oeqa/manual/kernel-dev.json               |   36 +-
>  meta/lib/oeqa/manual/sdk.json                      |   14 +-
>  meta/lib/oeqa/manual/toaster-managed-mode.json     | 2572
> 
>  meta/lib/oeqa/manual/toaster-unmanaged-mode.json   | 1170 +
>  meta/lib/oeqa/selftest/cases/pkgdata.py            |    1 +
>  ...bjam-native_1.69.0.bb  =>
> bjam-native_1.68.0.bb } |    0
>  .../boost/{boost-1.69.0.inc => boost-1.68.0.inc}   |    4 +-
>  meta/recipes-support/boost/boost.inc               |    1 +
>  ...-arch-instruction-set-flags-we-do-that-o.patch} |   23 +-
>  ...ucibility-add-file-directive-to-assembler.patch |  243 ++
>  .../boost/{boost_1.69.0.bb  =>
> boost_1.68.0.bb }     |    6 +-
>  scripts/lib/resulttool/manualexecution.py          |   61 +-
>  scripts/lib/resulttool/resultutils.py              |   39 +-
>  scripts/lib/resulttool/store.py                    |   23 +-
>  16 files changed, 4467 insertions(+), 184 deletions(-)
>  create mode 100644 meta/lib/oeqa/manual/compliance-test.json
>  create mode 100644 meta/lib/oeqa/manual/toaster-managed-mode.json
>  create mode 100644 meta/lib/oeqa/manual/toaster-unmanaged-mode.json
>  rename meta/recipes-support/boost/{bjam-native_1.69.0.bb
>  => bjam-native_1.68.0.bb
> } (100%)
>  rename meta/recipes-support/boost/{boost-1.69.0.inc =>
> boost-1.68.0.inc} (85%)
>  rename
> 
> meta/recipes-support/boost/boost/{0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
> =>
> 0003-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch} (93%)
>  create mode 100644
> 
> meta/recipes-support/boost/boost/reproducibility-add-file-directive-to-assembler.patch
>  rename meta/recipes-support/boost/{boost_1.69.0.bb
>  => boost_1.68.0.bb
> } (56%)
>
> -- 
> 2.7.4
>
> -- 
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> 
> 

Re: [OE-core] Build broken with current master

2019-04-10 Thread Andreas Müller
On Wed, Apr 10, 2019 at 3:00 PM Burton, Ross  wrote:
>
> On Tue, 9 Apr 2019 at 22:41, Andreas Müller  wrote:
> > > The recipe that depends on docbook-xml-dtd4-native also needs to
> > > depend on libxml2-native.
> >
> > Do I have to go through recipes failing - or is there a chance for a
> > common solution?
>
> Very few recipes should be depending directly on docbook-xml and
> docbook-xsl, and they'll need the depends added.
Had two and stopped then.
>
> A common solution would be great but would mean adding new dependency
> support into the staging code.
>
Rolled back - have no time to look into this one.

maybe naive but is

RDEPENDS_${PN}_append_class-native = " libxml2-native"

in docbook-xml-dtd4 a possible way to fix this in a common way?

Andreas
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 32/33] oeqa: Default to buffer mode for tests

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

Currently some tests run in buffer mode and some don't. Those that don't can
corrupt stdout/stderr. Switch to using buffer mode everywhere so we're 
consistent.

If there is useful output on stdout/stderr, it will be displayed if the test
fails.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/core/context.py| 2 +-
 meta/lib/oeqa/core/runner.py | 5 -
 meta/lib/oeqa/selftest/cases/devtool.py  | 2 --
 meta/lib/oeqa/selftest/cases/efibootpartition.py | 1 -
 meta/lib/oeqa/selftest/cases/imagefeatures.py| 2 --
 meta/lib/oeqa/selftest/cases/runqemu.py  | 2 --
 6 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
index ef00845..cd6db23 100644
--- a/meta/lib/oeqa/core/context.py
+++ b/meta/lib/oeqa/core/context.py
@@ -58,7 +58,7 @@ class OETestContext(object):
 self.suites = self.loader.discover()
 
 def runTests(self, skips=[]):
-self.runner = self.runnerClass(self, descriptions=False, verbosity=2)
+self.runner = self.runnerClass(self, descriptions=False, verbosity=2, 
buffer=True)
 
 # Dinamically skip those tests specified though arguments
 self.skipTests(skips)
diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index f8bb23f..0e6d215 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -43,11 +43,6 @@ class OETestResult(_TestResult):
 self.tc = tc
 
 def startTest(self, test):
-# Allow us to trigger the testcase buffer mode on a per test basis
-# so stdout/stderr are only printed upon failure. Enables debugging
-# but clean output
-if hasattr(test, "buffer"):
-self.buffer = test.buffer
 super(OETestResult, self).startTest(test)
 
 def logSummary(self, component, context_msg=''):
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py 
b/meta/lib/oeqa/selftest/cases/devtool.py
index 627bc65..99bfcd3 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -78,8 +78,6 @@ def tearDownModule():
 
 class DevtoolBase(OESelftestTestCase):
 
-buffer = True
-
 def _test_recipe_contents(self, recipefile, checkvars, checkinherits):
 with open(recipefile, 'r') as f:
 invar = None
diff --git a/meta/lib/oeqa/selftest/cases/efibootpartition.py 
b/meta/lib/oeqa/selftest/cases/efibootpartition.py
index 0c83256..c6f39d5 100644
--- a/meta/lib/oeqa/selftest/cases/efibootpartition.py
+++ b/meta/lib/oeqa/selftest/cases/efibootpartition.py
@@ -11,7 +11,6 @@ from oeqa.utils.commands import bitbake, runqemu, get_bb_var
 class GenericEFITest(OESelftestTestCase):
 """EFI booting test class"""
 
-buffer = True
 cmd_common = "runqemu nographic serial wic ovmf"
 efi_provider = "systemd-boot"
 image = "core-image-minimal"
diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py 
b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 09e0b20..cdfd74b 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -10,8 +10,6 @@ class ImageFeatures(OESelftestTestCase):
 test_user = 'tester'
 root_user = 'root'
 
-buffer = True
-
 @OETestID(1107)
 def test_non_root_user_can_connect_via_ssh_without_password(self):
 """
diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py 
b/meta/lib/oeqa/selftest/cases/runqemu.py
index 8f4084d..a23a1d8 100644
--- a/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -15,8 +15,6 @@ class RunqemuTests(OESelftestTestCase):
 
 image_is_ready = False
 deploy_dir_image = ''
-# We only want to print runqemu stdout/stderr if there is a test case 
failure
-buffer = True
 
 def setUpLocal(self):
 super(RunqemuTests, self).setUpLocal()
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 33/33] devtool: Split tests into multiple classes

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

This allows better parallelism between the different tests as currently
this block takes the longest time to execute. devtool tests are still
all grouped into the "devtool" module for ease of exection.

This also makes it easier to execute some subset of devtool tests for
testing devtool changes.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/selftest/cases/devtool.py | 113 +---
 1 file changed, 61 insertions(+), 52 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/devtool.py 
b/meta/lib/oeqa/selftest/cases/devtool.py
index 99bfcd3..9eb9bad 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -78,6 +78,58 @@ def tearDownModule():
 
 class DevtoolBase(OESelftestTestCase):
 
+@classmethod
+def setUpClass(cls):
+super(DevtoolBase, cls).setUpClass()
+bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR'])
+cls.original_sstate = bb_vars['SSTATE_DIR']
+cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool')
+cls.sstate_conf  = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate
+cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n'
+% cls.original_sstate)
+
+@classmethod
+def tearDownClass(cls):
+cls.logger.debug('Deleting devtool sstate cache on %s' % 
cls.devtool_sstate)
+runCmd('rm -rf %s' % cls.devtool_sstate)
+super(DevtoolBase, cls).tearDownClass()
+
+def setUp(self):
+"""Test case setup function"""
+super(DevtoolBase, self).setUp()
+self.workspacedir = os.path.join(self.builddir, 'workspace')
+self.assertTrue(not os.path.exists(self.workspacedir),
+'This test cannot be run with a workspace directory '
+'under the build directory')
+self.append_config(self.sstate_conf)
+
+def _check_src_repo(self, repo_dir):
+"""Check srctree git repository"""
+self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')),
+'git repository for external source tree not found')
+result = runCmd('git status --porcelain', cwd=repo_dir)
+self.assertEqual(result.output.strip(), "",
+ 'Created git repo is not clean')
+result = runCmd('git symbolic-ref HEAD', cwd=repo_dir)
+self.assertEqual(result.output.strip(), "refs/heads/devtool",
+ 'Wrong branch in git repo')
+
+def _check_repo_status(self, repo_dir, expected_status):
+"""Check the worktree status of a repository"""
+result = runCmd('git status . --porcelain',
+cwd=repo_dir)
+for line in result.output.splitlines():
+for ind, (f_status, fn_re) in enumerate(expected_status):
+if re.match(fn_re, line[3:]):
+if f_status != line[:2]:
+self.fail('Unexpected status in line: %s' % line)
+expected_status.pop(ind)
+break
+else:
+self.fail('Unexpected modified file in line: %s' % line)
+if expected_status:
+self.fail('Missing file changes: %s' % expected_status)
+
 def _test_recipe_contents(self, recipefile, checkvars, checkinherits):
 with open(recipefile, 'r') as f:
 invar = None
@@ -181,58 +233,6 @@ class DevtoolBase(OESelftestTestCase):
 
 class DevtoolTests(DevtoolBase):
 
-@classmethod
-def setUpClass(cls):
-super(DevtoolTests, cls).setUpClass()
-bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR'])
-cls.original_sstate = bb_vars['SSTATE_DIR']
-cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool')
-cls.sstate_conf  = 'SSTATE_DIR = "%s"\n' % cls.devtool_sstate
-cls.sstate_conf += ('SSTATE_MIRRORS += "file://.* file:///%s/PATH"\n'
-% cls.original_sstate)
-
-@classmethod
-def tearDownClass(cls):
-cls.logger.debug('Deleting devtool sstate cache on %s' % 
cls.devtool_sstate)
-runCmd('rm -rf %s' % cls.devtool_sstate)
-super(DevtoolTests, cls).tearDownClass()
-
-def setUp(self):
-"""Test case setup function"""
-super(DevtoolTests, self).setUp()
-self.workspacedir = os.path.join(self.builddir, 'workspace')
-self.assertTrue(not os.path.exists(self.workspacedir),
-'This test cannot be run with a workspace directory '
-'under the build directory')
-self.append_config(self.sstate_conf)
-
-def _check_src_repo(self, repo_dir):
-"""Check srctree git repository"""
-self.assertTrue(os.path.isdir(os.path.join(repo_dir, '.git')),
-'git repository for external source tree not found')
-result = runCmd('git status --porcelain', 

[OE-core] [PATCH 31/33] oeqa/selftest/devtool: Ensure dbus is built befoe running test

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

If dbus isn't build first the dbus dependency of dbus-wait can't be detected
through pkgconfig and the test fails:

AssertionError: {'DEPENDS': {'dbus'}} != {}
- {'DEPENDS': {'dbus'}}
+ {} : Some expected variables not found in recipe: {'DEPENDS': {'dbus'}}

Ensure dbus is built and present in the sysroot.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/selftest/cases/devtool.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/devtool.py 
b/meta/lib/oeqa/selftest/cases/devtool.py
index 0ce90a4..627bc65 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -300,6 +300,8 @@ class DevtoolTests(DevtoolBase):
 
 @OETestID(1423)
 def test_devtool_add_git_local(self):
+# We need dbus built so that DEPENDS recognition works
+bitbake('dbus')
 # Fetch source from a remote URL, but do it outside of devtool
 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
 self.track_for_cleanup(tempdir)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 30/33] logging: use warning instead warn

2019-04-10 Thread Armin Kuster
From: Chen Qi 

The warn method is deprecated. We should use the documented warning instead.

Quoting from the python's official doc:
"""
Note: There is an obsolete method warn which is functionally identical to 
warning.
  As warn is deprecated, please do not use it - use warning instead.
"""

Signed-off-by: Chen Qi 
Signed-off-by: Ross Burton 
Signed-off-by: Armin Kuster 
---
 meta/lib/oe/terminal.py   |  6 +++---
 meta/lib/oeqa/selftest/context.py |  2 +-
 meta/lib/oeqa/utils/qemurunner.py |  4 ++--
 scripts/combo-layer   |  2 +-
 scripts/contrib/verify-homepage.py|  2 +-
 scripts/lib/devtool/export.py |  2 +-
 scripts/lib/devtool/import.py |  8 
 scripts/lib/devtool/standard.py   | 16 
 scripts/lib/devtool/upgrade.py|  6 +++---
 scripts/lib/recipetool/append.py  | 14 +++---
 scripts/lib/recipetool/create.py  |  4 ++--
 scripts/lib/recipetool/create_kmod.py |  2 +-
 scripts/lib/recipetool/create_npm.py  |  6 +++---
 scripts/lib/recipetool/newappend.py   |  4 ++--
 scripts/lib/wic/engine.py |  2 +-
 scripts/runqemu   | 16 
 16 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 94afe39..caeb5e3 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -112,7 +112,7 @@ class Screen(Terminal):
 bb.event.fire(bb.event.LogExecTTY(msg, "screen -r %s" % s_id,
   0.5, 10), d)
 else:
-logger.warn(msg)
+logger.warning(msg)
 
 class TmuxRunning(Terminal):
 """Open a new pane in the current running tmux window"""
@@ -168,7 +168,7 @@ class Tmux(Terminal):
 if d:
 bb.event.fire(bb.event.LogExecTTY(msg, attach_cmd, 0.5, 10), d)
 else:
-logger.warn(msg)
+logger.warning(msg)
 
 class Custom(Terminal):
 command = 'false' # This is a placeholder
@@ -180,7 +180,7 @@ class Custom(Terminal):
 if not '{command}' in self.command:
 self.command += ' {command}'
 Terminal.__init__(self, sh_cmd, title, env, d)
-logger.warn('Custom terminal was started.')
+logger.warning('Custom terminal was started.')
 else:
 logger.debug(1, 'No custom terminal (OE_TERMINAL_CUSTOMCMD) set')
 raise UnsupportedTerminal('OE_TERMINAL_CUSTOMCMD not set')
diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index da7f26b..cac9869 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -159,7 +159,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 os.chdir(builddir)
 
 if not "meta-selftest" in self.tc.td["BBLAYERS"]:
-self.tc.logger.warn("meta-selftest layer not found in 
BBLAYERS, adding it")
+self.tc.logger.warning("meta-selftest layer not found in 
BBLAYERS, adding it")
 meta_selftestdir = os.path.join(
 self.tc.td["BBLAYERS_FETCH_DIR"], 'meta-selftest')
 if os.path.isdir(meta_selftestdir):
diff --git a/meta/lib/oeqa/utils/qemurunner.py 
b/meta/lib/oeqa/utils/qemurunner.py
index 27c4901..4864df8 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -393,7 +393,7 @@ class QemuRunner:
 # qemu-system behaves well and a SIGTERM is enough
 os.kill(self.qemupid, signal.SIGTERM)
 except ProcessLookupError as e:
-self.logger.warn('qemu-system ended unexpectedly')
+self.logger.warning('qemu-system ended unexpectedly')
 
 def stop_thread(self):
 if self.thread and self.thread.is_alive():
@@ -470,7 +470,7 @@ class QemuRunner:
 
 def _dump_host(self):
 self.host_dumper.create_dir("qemu")
-self.logger.warn("Qemu ended unexpectedly, dump data from host"
+self.logger.warning("Qemu ended unexpectedly, dump data from host"
 " is in %s" % self.host_dumper.dump_dir)
 self.host_dumper.dump_host()
 
diff --git a/scripts/combo-layer b/scripts/combo-layer
index d04d88b..dc40e72 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -246,7 +246,7 @@ def action_init(conf, args):
 # traditional behavior from "git archive" (preserved
 # here) it to choose the first one. This might not be
 # intended, so at least warn about it.
-logger.warn("%s: initial revision '%s' not unique, 
picking result of rev-parse = %s" %
+logger.warning("%s: initial revision '%s' not unique, 
picking result of rev-parse = %s" %
 (name, initialrev, refs[0]))
 initialrev = rev
   

[OE-core] [PATCH 29/33] lib/oe: Fix collections ABCs DeprecationWarning in Python 3.7+

2019-04-10 Thread Armin Kuster
From: Khem Raj 

- Prefer collections.abc (new in Python 3.3) over collections for abstract base 
classes

- In Python 3.8, the abstract base classes in collections.abc will no longer be 
exposed in
  the regular collections module. This will help create a clearer distinction 
between
  the concrete classes and the abstract base classes."

- https://docs.python.org/3.7/whatsnew/3.7.html#deprecated

- see 
https://github.com/python/cpython/commit/c66f9f8d3909f588c251957d499599a1680e2320

Signed-off-by: Khem Raj 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oe/maketype.py | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oe/maketype.py b/meta/lib/oe/maketype.py
index f88981d..c36e7b5 100644
--- a/meta/lib/oe/maketype.py
+++ b/meta/lib/oe/maketype.py
@@ -7,7 +7,12 @@ the arguments of the type's factory for details.
 
 import inspect
 import oe.types as types
-import collections
+try:
+# Python 3.7+
+from collections.abc import Callable
+except ImportError:
+# Python < 3.7
+from collections import Callable
 
 available_types = {}
 
@@ -96,7 +101,7 @@ for name in dir(types):
 continue
 
 obj = getattr(types, name)
-if not isinstance(obj, collections.Callable):
+if not isinstance(obj, Callable):
 continue
 
 register(name, obj)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 28/33] wic: use explicit errno import

2019-04-10 Thread Armin Kuster
From: Ross Burton 

os.errno doesn't work in Python 3.7 and shouldn't have ever worked, so use
import errno explicitly.

Signed-off-by: Ross Burton 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/filemap.py | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py
index a72fa09..abbf958 100644
--- a/scripts/lib/wic/filemap.py
+++ b/scripts/lib/wic/filemap.py
@@ -22,6 +22,7 @@ and returns an instance of the class.
 #   * Too many instance attributes (R0902)
 # pylint: disable=R0902
 
+import errno
 import os
 import struct
 import array
@@ -189,9 +190,9 @@ def _lseek(file_obj, offset, whence):
 except OSError as err:
 # The 'lseek' system call returns the ENXIO if there is no data or
 # hole starting from the specified offset.
-if err.errno == os.errno.ENXIO:
+if err.errno == errno.ENXIO:
 return -1
-elif err.errno == os.errno.EINVAL:
+elif err.errno == errno.EINVAL:
 raise ErrorNotSupp("the kernel or file-system does not support "
"\"SEEK_HOLE\" and \"SEEK_DATA\"")
 else:
@@ -394,12 +395,12 @@ class FilemapFiemap(_FilemapBase):
 except IOError as err:
 # Note, the FIEMAP ioctl is supported by the Linux kernel starting
 # from version 2.6.28 (year 2008).
-if err.errno == os.errno.EOPNOTSUPP:
+if err.errno == errno.EOPNOTSUPP:
 errstr = "FilemapFiemap: the FIEMAP ioctl is not supported " \
  "by the file-system"
 self._log.debug(errstr)
 raise ErrorNotSupp(errstr)
-if err.errno == os.errno.ENOTTY:
+if err.errno == errno.ENOTTY:
 errstr = "FilemapFiemap: the FIEMAP ioctl is not supported " \
  "by the kernel"
 self._log.debug(errstr)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 27/33] wic/engine: Fix missing parted autobuilder failures

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

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)

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/engine.py | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index c127045..7e6519e 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -244,15 +244,17 @@ class Disk:
 self._psector_size = None
 self._ptable_format = None
 
+# find parted
 # read paths from $PATH environment variable
 # if it fails, use hardcoded paths
+pathlist = "/bin:/usr/bin:/usr/sbin:/sbin/"
 try:
-self.paths = os.environ['PATH']
+self.paths = os.environ['PATH'] + ":" + pathlist
 except KeyError:
-self.paths = "/bin:/usr/bin:/usr/sbin:/sbin/"
+self.paths = pathlist
 
 if native_sysroot:
-for path in self.paths.split(':'):
+for path in pathlist.split(':'):
 self.paths = "%s%s:%s" % (native_sysroot, path, self.paths)
 
 self.parted = find_executable("parted", self.paths)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 26/33] wic/engine.py: Load paths from PATH environment variable

2019-04-10 Thread Armin Kuster
From: William Bourque 

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)

Signed-off-by: William Bourque 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/engine.py | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index 951bf30..c127045 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -244,8 +244,13 @@ class Disk:
 self._psector_size = None
 self._ptable_format = None
 
-# find parted
-self.paths = "/bin:/usr/bin:/usr/sbin:/sbin/"
+# read paths from $PATH environment variable
+# if it fails, use hardcoded paths
+try:
+self.paths = os.environ['PATH']
+except KeyError:
+self.paths = "/bin:/usr/bin:/usr/sbin:/sbin/"
+
 if native_sysroot:
 for path in self.paths.split(':'):
 self.paths = "%s%s:%s" % (native_sysroot, path, self.paths)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 25/33] scripts/lib/wic/engine: Fix cp's target path for ext* filesystems

2019-04-10 Thread Armin Kuster
From: Leonardo Augusto 

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)

Signed-off-by: Leonardo Augusto 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/engine.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index 4eefc94..951bf30 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -331,7 +331,7 @@ class Disk:
 def copy(self, src, pnum, path):
 """Copy partition image into wic image."""
 if self.partitions[pnum].fstype.startswith('ext'):
-cmd = "echo -e 'cd {}\nwrite {} {}' | {} -w {}".\
+cmd = "printf 'cd {}\nwrite {} {}' | {} -w {}".\
   format(path, src, os.path.basename(src),
  self.debugfs, self._get_part_image(pnum))
 else: # fat
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 24/33] wic: search nonarch STAGING_DATADIR for multilib

2019-04-10 Thread Armin Kuster
From: Kai Kang 

It fails to build multilib image such as lib32-core-image-minimal with
wic by set 'IMAGE_FSTYPES = "wic"':

| ERROR: Couldn't find correct bootimg_dir, exiting

When multilib is enabled, STAGING_DATADIR is expanded with MLPREFIX. But
dependencies of images such as syslinux is still populated to nonarch
STAGING_DATADIR.

Search nonarch STAGING_DATADIR to fix the error.

Signed-off-by: Kai Kang 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/plugins/source/bootimg-pcbios.py | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py 
b/scripts/lib/wic/plugins/source/bootimg-pcbios.py
index d599112..9347aa7 100644
--- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py
+++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py
@@ -26,6 +26,7 @@
 
 import logging
 import os
+import re
 
 from wic import WicError
 from wic.engine import get_custom_config
@@ -47,10 +48,17 @@ class BootimgPcbiosPlugin(SourcePlugin):
 """
 Check if dirname exists in default bootimg_dir or in STAGING_DIR.
 """
-for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR")):
+staging_datadir = get_bitbake_var("STAGING_DATADIR")
+for result in (bootimg_dir, staging_datadir):
 if os.path.exists("%s/%s" % (result, dirname)):
 return result
 
+# STAGING_DATADIR is expanded with MLPREFIX if multilib is enabled
+# but dependency syslinux is still populated to original 
STAGING_DATADIR
+nonarch_datadir = re.sub('/[^/]*recipe-sysroot', '/recipe-sysroot', 
staging_datadir)
+if os.path.exists(os.path.join(nonarch_datadir, dirname)):
+return nonarch_datadir
+
 raise WicError("Couldn't find correct bootimg_dir, exiting")
 
 @classmethod
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 23/33] wic: make engine.py:get_partitions() resilient to parted/dmidecode stderr output

2019-04-10 Thread Armin Kuster
From: Geoff Parker 

Running wic commands on Debian 10 systems fail in
scripts/lib/wic/engine.py:get_partitions() due to new stderr output captured
when trying to parse the output from /sbin/parted as a non-root user.

The parted command calls the dmidecode utility, which produces this error
as a non-root user:
/sys/firmware/dmi/tables/smbios_entry_point: Permission denied
/dev/mem: Permission denied

scripts/lib/wic/engine.py:get_partitions() calls misc.py:exec_cmd(),
a subprocess wrapper which returns a combined stderr and sdtdout.
These messages to stderr confuse the partition table parser in
get_partitions().

This patch has the partition table parser ignore lines before the expected
"BYT;" header string.

Running wic in Debian 9 does not have this issue.

Signed-off-by: Geoff Parker 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/engine.py | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index 4996bff..4eefc94 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -266,10 +266,15 @@ class Disk:
 out = exec_cmd("%s -sm %s unit B print" % (self.parted, 
self.imagepath))
 parttype = namedtuple("Part", "pnum start end size fstype")
 splitted = out.splitlines()
-lsector_size, psector_size, self._ptable_format = 
splitted[1].split(":")[3:6]
+# skip over possible errors in exec_cmd output
+try:
+idx =splitted.index("BYT;")
+except ValueError:
+raise WicError("Error getting partition information from %s" % 
(self.parted))
+lsector_size, psector_size, self._ptable_format = splitted[idx + 
1].split(":")[3:6]
 self._lsector_size = int(lsector_size)
 self._psector_size = int(psector_size)
-for line in splitted[2:]:
+for line in splitted[idx + 2:]:
 pnum, start, end, size, fstype = line.split(':')[:5]
 partition = parttype(int(pnum), int(start[:-1]), int(end[:-1]),
  int(size[:-1]), fstype)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 22/33] scripts/wic: Be consistent about how we call bitbake

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

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)

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/wic | 16 +---
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/scripts/wic b/scripts/wic
index 37dfe2d..b4b7212 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -35,6 +35,7 @@ import os
 import sys
 import argparse
 import logging
+import subprocess
 
 from collections import namedtuple
 from distutils import spawn
@@ -63,10 +64,7 @@ if os.environ.get('SDKTARGETSYSROOT'):
 bitbake_exe = spawn.find_executable('bitbake')
 if bitbake_exe:
 bitbake_path = scriptpath.add_bitbake_lib_path()
-from bb import cookerdata
-from bb.main import bitbake_main, BitBakeConfigParameters
-else:
-bitbake_main = None
+import bb
 
 from wic import WicError
 from wic.misc import get_bitbake_var, BB_VARS
@@ -124,7 +122,7 @@ def wic_create_subcommand(options, usage_str):
 Command-line handling for image creation.  The real work is done
 by image.engine.wic_create()
 """
-if options.build_rootfs and not bitbake_main:
+if options.build_rootfs and not bitbake_exe:
 raise WicError("Can't build rootfs as bitbake is not in the $PATH")
 
 if not options.image_name:
@@ -160,9 +158,7 @@ def wic_create_subcommand(options, usage_str):
 argv.append("--debug")
 
 logger.info("Building rootfs...\n")
-if bitbake_main(BitBakeConfigParameters(argv),
-cookerdata.CookerConfiguration()):
-raise WicError("bitbake exited with error")
+subprocess.check_call(argv)
 
 rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", options.image_name)
 kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE", options.image_name)
@@ -179,9 +175,7 @@ def wic_create_subcommand(options, usage_str):
 
 if not options.vars_dir and (not native_sysroot or not 
os.path.isdir(native_sysroot)):
 logger.info("Building wic-tools...\n")
-if bitbake_main(BitBakeConfigParameters("bitbake wic-tools".split()),
-cookerdata.CookerConfiguration()):
-raise WicError("bitbake wic-tools failed")
+subprocess.check_call(["bitbake", "wic-tools"])
 native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
 
 if not native_sysroot:
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 20/33] pkgdata.py: avoid target-sdk-dummy-provides to mess things up

2019-04-10 Thread Armin Kuster
From: Chen Qi 

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.

Signed-off-by: Chen Qi 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/selftest/cases/pkgdata.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/lib/oeqa/selftest/cases/pkgdata.py 
b/meta/lib/oeqa/selftest/cases/pkgdata.py
index 0b4caf1..9911765 100644
--- a/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -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)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 21/33] wic: Support for changing the imager.

2019-04-10 Thread Armin Kuster
From: "Davis, Michael" 

Signed-off-by: Michael Davis 
Signed-off-by: Ross Burton 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/wic/engine.py | 2 +-
 scripts/wic   | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py
index f0c5ff0..4996bff 100644
--- a/scripts/lib/wic/engine.py
+++ b/scripts/lib/wic/engine.py
@@ -191,7 +191,7 @@ def wic_create(wks_file, rootfs_dir, bootimg_dir, 
kernel_dir,
 if not os.path.exists(options.outdir):
 os.makedirs(options.outdir)
 
-pname = 'direct'
+pname = options.imager
 plugin_class = PluginMgr.get_plugins('imager').get(pname)
 if not plugin_class:
 raise WicError('Unknown plugin: %s' % pname)
diff --git a/scripts/wic b/scripts/wic
index 7392bc4..37dfe2d 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -362,6 +362,8 @@ def wic_init_parser_create(subparser):
"bitbake variables")
 subparser.add_argument("-D", "--debug", dest="debug", action="store_true",
   default=False, help="output debug information")
+subparser.add_argument("-i", "--imager", dest="imager",
+  default="direct", help="the wic imager plugin")
 return
 
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 17/33] resulttool/manualexecution: Enable display full steps without press enter

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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.

Signed-off-by: Mazliana 
Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/manualexecution.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/resulttool/manualexecution.py 
b/scripts/lib/resulttool/manualexecution.py
index 8ce7903..0783540 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -87,8 +87,9 @@ class ManualTestRunner(object):
 
print('\n')
 for step in sorted((self.jdata[test_id]['test']['execution']).keys()):
 print('Step %s: ' % step + 
self.jdata[test_id]['test']['execution']['%s' % step]['action'])
-print('Expected output: ' + 
self.jdata[test_id]['test']['execution']['%s' % step]['expected_results'])
-done = input('\nPlease press ENTER when you are done to proceed to 
next step.\n')
+expected_output = self.jdata[test_id]['test']['execution']['%s' % 
step]['expected_results']
+if expected_output:
+print('Expected output: ' + expected_output)
 while True:
 done = input('\nPlease provide test results: 
(P)assed/(F)ailed/(B)locked/(S)kipped? \n')
 done = done.lower()
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 19/33] resulttool/manualexecution: Refactor and simplify codebase

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

Simplify and removed unnecessary codes.
Refactor to allow pythonic loop.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/manualexecution.py | 56 +++
 1 file changed, 20 insertions(+), 36 deletions(-)

diff --git a/scripts/lib/resulttool/manualexecution.py 
b/scripts/lib/resulttool/manualexecution.py
index 9a29b0b..c94f981 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -24,24 +24,12 @@ def load_json_file(file):
 with open(file, "r") as f:
 return json.load(f)
 
-
 class ManualTestRunner(object):
-def __init__(self):
-self.jdata = ''
-self.test_module = ''
-self.test_cases_id = ''
-self.configuration = ''
-self.starttime = ''
-self.result_id = ''
-self.write_dir = ''
 
 def _get_testcases(self, file):
 self.jdata = load_json_file(file)
-self.test_cases_id = []
 self.test_module = self.jdata[0]['test']['@alias'].split('.', 2)[0]
-for i in self.jdata:
-self.test_cases_id.append(i['test']['@alias'])
-
+
 def _get_input(self, config):
 while True:
 output = input('{} = '.format(config))
@@ -67,45 +55,42 @@ class ManualTestRunner(object):
 extra_config = set(store_map['manual']) - set(self.configuration)
 for config in sorted(extra_config):
 print('-')
-print('This is configuration #%s. Please provide configuration 
value(use "None" if not applicable).'
-  % config)
+print('This is configuration #%s. Please provide configuration 
value(use "None" if not applicable).' % config)
 print('-')
 value_conf = self._get_input('Configuration Value')
 print('-\n')
 self.configuration[config] = value_conf
 
 def _create_result_id(self):
-self.result_id = 'manual_' + self.test_module + '_' + self.starttime
+self.result_id = 'manual_%s_%s' % (self.test_module, self.starttime)
 
-def _execute_test_steps(self, test_id):
+def _execute_test_steps(self, test):
 test_result = {}
-total_steps = len(self.jdata[test_id]['test']['execution'].keys())
 
print('')
-print('Executing test case:' + '' '' + self.test_cases_id[test_id])
+print('Executing test case: %s' % test['test']['@alias'])
 
print('')
-print('You have total ' + str(total_steps) + ' test steps to be 
executed.')
+print('You have total %s test steps to be executed.' % 
len(test['test']['execution']))
 
print('\n')
-for step, _ in 
sorted(self.jdata[test_id]['test']['execution'].items(), key=lambda x: 
int(x[0])):
-print('Step %s: ' % step + 
self.jdata[test_id]['test']['execution']['%s' % step]['action'])
-expected_output = self.jdata[test_id]['test']['execution']['%s' % 
step]['expected_results']
+for step, _ in sorted(test['test']['execution'].items(), key=lambda x: 
int(x[0])):
+print('Step %s: %s' % (step, 
test['test']['execution'][step]['action']))
+expected_output = 
test['test']['execution'][step]['expected_results']
 if expected_output:
-print('Expected output: ' + expected_output)
+print('Expected output: %s' % expected_output)
 while True:
-done = input('\nPlease provide test results: 
(P)assed/(F)ailed/(B)locked/(S)kipped? \n')
-done = done.lower()
+done = input('\nPlease provide test results: 
(P)assed/(F)ailed/(B)locked/(S)kipped? \n').lower()
 result_types = {'p':'PASSED',
-'f':'FAILED',
-'b':'BLOCKED',
-'s':'SKIPPED'}
+'f':'FAILED',
+'b':'BLOCKED',
+'s':'SKIPPED'}
 if done in result_types:
 for r in result_types:
 if done == r:
 res = result_types[r]
 if res == 'FAILED':
 log_input = input('\nPlease enter the error and 
the description of the log: (Ex:log:211 Error Bitbake)\n')
-test_result.update({self.test_cases_id[test_id]: 
{'status': '%s' % res, 'log': '%s' % log_input}})
+test_result.update({test['test']['@alias']: 
{'status': '%s' % res, 'log': '%s' % log_input}})

[OE-core] [PATCH 18/33] resulttool/manualexecution: Fixed step sorted by integer

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/manualexecution.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/lib/resulttool/manualexecution.py 
b/scripts/lib/resulttool/manualexecution.py
index 0783540..9a29b0b 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -85,7 +85,7 @@ class ManualTestRunner(object):
 
print('')
 print('You have total ' + str(total_steps) + ' test steps to be 
executed.')
 
print('\n')
-for step in sorted((self.jdata[test_id]['test']['execution']).keys()):
+for step, _ in 
sorted(self.jdata[test_id]['test']['execution'].items(), key=lambda x: 
int(x[0])):
 print('Step %s: ' % step + 
self.jdata[test_id]['test']['execution']['%s' % step]['action'])
 expected_output = self.jdata[test_id]['test']['execution']['%s' % 
step]['expected_results']
 if expected_output:
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 16/33] resulttool/manualexecution: Standardize input check

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/manualexecution.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/resulttool/manualexecution.py 
b/scripts/lib/resulttool/manualexecution.py
index 6487cd9..8ce7903 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -45,9 +45,9 @@ class ManualTestRunner(object):
 def _get_input(self, config):
 while True:
 output = input('{} = '.format(config))
-if re.match('^[a-zA-Z0-9_-]+$', output):
+if re.match('^[a-z0-9-.]+$', output):
 break
-print('Only alphanumeric and underscore/hyphen are allowed. Please 
try again')
+print('Only lowercase alphanumeric, hyphen and dot are allowed. 
Please try again')
 return output
 
 def _create_config(self):
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 14/33] resulttool: Allow store to work on single files

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

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.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/store.py | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py
index 5e33716..3a81933 100644
--- a/scripts/lib/resulttool/store.py
+++ b/scripts/lib/resulttool/store.py
@@ -29,15 +29,18 @@ def store(args, logger):
 try:
 results = {}
 logger.info('Reading files from %s' % args.source)
-for root, dirs,  files in os.walk(args.source):
-for name in files:
-f = os.path.join(root, name)
-if name == "testresults.json":
-resultutils.append_resultsdata(results, f)
-elif args.all:
-dst = f.replace(args.source, tempdir + "/")
-os.makedirs(os.path.dirname(dst), exist_ok=True)
-shutil.copyfile(f, dst)
+if os.path.isfile(args.source):
+resultutils.append_resultsdata(results, args.source)
+else:
+for root, dirs,  files in os.walk(args.source):
+for name in files:
+f = os.path.join(root, name)
+if name == "testresults.json":
+resultutils.append_resultsdata(results, f)
+elif args.all:
+dst = f.replace(args.source, tempdir + "/")
+os.makedirs(os.path.dirname(dst), exist_ok=True)
+shutil.copyfile(f, dst)
 
 revisions = {}
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 15/33] resulttool: Allow extraction of ptest data

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

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.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/lib/resulttool/resultutils.py | 39 ---
 scripts/lib/resulttool/store.py   |  2 +-
 2 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/scripts/lib/resulttool/resultutils.py 
b/scripts/lib/resulttool/resultutils.py
index 153f2b8..ad40ac8 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -15,6 +15,7 @@
 import os
 import json
 import scriptpath
+import copy
 scriptpath.add_oe_lib_path()
 
 flatten_map = {
@@ -60,12 +61,6 @@ def append_resultsdata(results, f, configmap=store_map):
 testpath = "/".join(data[res]["configuration"].get(i) for i in 
configmap[testtype])
 if testpath not in results:
 results[testpath] = {}
-if 'ptestresult.rawlogs' in data[res]['result']:
-del data[res]['result']['ptestresult.rawlogs']
-if 'ptestresult.sections' in data[res]['result']:
-for i in data[res]['result']['ptestresult.sections']:
-if 'log' in data[res]['result']['ptestresult.sections'][i]:
-del data[res]['result']['ptestresult.sections'][i]['log']
 results[testpath][res] = data[res]
 
 #
@@ -93,15 +88,43 @@ def filter_resultsdata(results, resultid):
  newresults[r][i] = results[r][i]
 return newresults
 
-def save_resultsdata(results, destdir, fn="testresults.json"):
+def strip_ptestresults(results):
+newresults = copy.deepcopy(results)
+#for a in newresults2:
+#  newresults = newresults2[a]
+for res in newresults:
+if 'result' not in newresults[res]:
+continue
+if 'ptestresult.rawlogs' in newresults[res]['result']:
+del newresults[res]['result']['ptestresult.rawlogs']
+if 'ptestresult.sections' in newresults[res]['result']:
+for i in newresults[res]['result']['ptestresult.sections']:
+if 'log' in 
newresults[res]['result']['ptestresult.sections'][i]:
+del 
newresults[res]['result']['ptestresult.sections'][i]['log']
+return newresults
+
+def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, 
ptestlogs=False):
 for res in results:
 if res:
 dst = destdir + "/" + res + "/" + fn
 else:
 dst = destdir + "/" + fn
 os.makedirs(os.path.dirname(dst), exist_ok=True)
+resultsout = results[res]
+if not ptestjson:
+resultsout = strip_ptestresults(results[res])
 with open(dst, 'w') as f:
-f.write(json.dumps(results[res], sort_keys=True, indent=4))
+f.write(json.dumps(resultsout, sort_keys=True, indent=4))
+for res2 in results[res]:
+if ptestlogs and 'result' in results[res][res2]:
+if 'ptestresult.rawlogs' in results[res][res2]['result']:
+with open(dst.replace(fn, "ptest-raw.log"), "w+") as f:
+
f.write(results[res][res2]['result']['ptestresult.rawlogs']['log'])
+if 'ptestresult.sections' in results[res][res2]['result']:
+for i in 
results[res][res2]['result']['ptestresult.sections']:
+if 'log' in 
results[res][res2]['result']['ptestresult.sections'][i]:
+with open(dst.replace(fn, "ptest-%s.log" % i), 
"w+") as f:
+
f.write(results[res][res2]['result']['ptestresult.sections'][i]['log'])
 
 def git_get_result(repo, tags):
 git_objs = []
diff --git a/scripts/lib/resulttool/store.py b/scripts/lib/resulttool/store.py
index 3a81933..e4a0807 100644
--- a/scripts/lib/resulttool/store.py
+++ b/scripts/lib/resulttool/store.py
@@ -68,7 +68,7 @@ def store(args, logger):
 results = revisions[r]
 keywords = {'commit': r[0], 'branch': r[1], "commit_count": r[2]}
 subprocess.check_call(["find", tempdir, "!", "-path", "./.git/*", 
"-delete"])
-resultutils.save_resultsdata(results, tempdir)
+resultutils.save_resultsdata(results, tempdir, ptestlogs=True)
 
 logger.info('Storing test result into git repository %s' % 
args.git_dir)
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 13/33] resulttool: Enable report for single result file

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 scripts/resulttool | 10 --
 1 file changed, 10 deletions(-)

diff --git a/scripts/resulttool b/scripts/resulttool
index 5a89e1c..18ac101 100755
--- a/scripts/resulttool
+++ b/scripts/resulttool
@@ -51,13 +51,6 @@ import resulttool.report
 import resulttool.manualexecution
 logger = scriptutils.logger_create('resulttool')
 
-def _validate_user_input_arguments(args):
-if hasattr(args, "source_dir"):
-if not os.path.isdir(args.source_dir):
-logger.error('source_dir argument need to be a directory : %s' % 
args.source_dir)
-return False
-return True
-
 def main():
 parser = argparse_oe.ArgumentParser(description="OEQA test result 
manipulation tool.",
 epilog="Use %(prog)s  
--help to get help on a specific command")
@@ -80,9 +73,6 @@ def main():
 elif args.quiet:
 logger.setLevel(logging.ERROR)
 
-if not _validate_user_input_arguments(args):
-return -1
-
 try:
 ret = args.func(args, logger)
 except argparse_oe.ArgumentUsageError as ae:
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 10/33] oeqa/manual/kernel-dev.json: test id updated

2019-04-10 Thread Armin Kuster
From: sangeeta jain 

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  ... 
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.

Signed-off-by: sangeeta jain 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/kernel-dev.json | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/meta/lib/oeqa/manual/kernel-dev.json 
b/meta/lib/oeqa/manual/kernel-dev.json
index c93b4dd..0dd9919 100644
--- a/meta/lib/oeqa/manual/kernel-dev.json
+++ b/meta/lib/oeqa/manual/kernel-dev.json
@@ -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.y...@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.y...@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.y...@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.y...@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.y...@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": [
 {
 

[OE-core] [PATCH 09/33] oeqa/manual/compliance-test.json: test id updated and missing test cases added

2019-04-10 Thread Armin Kuster
From: sangeeta jain 

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  ... 
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.

Signed-off-by: sangeeta jain 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/compliance-test.json | 60 ---
 1 file changed, 56 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/manual/compliance-test.json 
b/meta/lib/oeqa/manual/compliance-test.json
index 7adf8a1..982f0b4 100644
--- a/meta/lib/oeqa/manual/compliance-test.json
+++ b/meta/lib/oeqa/manual/compliance-test.json
@@ -1,7 +1,7 @@
 [
 {
 "test": {
-"@alias": "configuration.configuration.LTP_subset_test_suite",
+"@alias": "compliance-test.compliance-test.LTP_subset_test_suite",
 "author": [
 {
 "email": "corneliux.stoice...@intel.com",
@@ -43,7 +43,7 @@
 },
 {
 "test": {
-"@alias": "configuration.configuration.POSIX_subset_test_suite",
+"@alias": 
"compliance-test.compliance-test.POSIX_subset_test_suite",
 "author": [
 {
 "email": "corneliux.stoice...@intel.com",
@@ -89,7 +89,7 @@
 },
 {
 "test": {
-"@alias": "configuration.configuration.LSB_subset_test_suite",
+"@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
 "author": [
 {
 "email": "corneliux.stoice...@intel.com",
@@ -119,7 +119,7 @@
 },
 {
 "test": {
-"@alias": 
"General_Runtime.General_Runtime.stress_test_-_Genericx86-64",
+"@alias": 
"compliance-test.compliance-test.stress_test_-_Genericx86-64",
 "author": [
 {
 "email": "corneliux.stoice...@intel.com",
@@ -138,5 +138,57 @@
 },
 "summary": "stress_test_-_Genericx86-64"
 }
+},
+ {
+"test": {
+  "@alias": "compliance-test.compliance-test.stress_test_-_- 
crashme_-_-Beaglebone",
+  "author": [
+{
+  "email": "corneliux.stoice...@intel.com",
+  "name": "corneliux.stoice...@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.stoice...@intel.com",
+  "name": "corneliux.stoice...@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"
 }
+  }
 ]
\ No newline at end of file
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 12/33] oeqa/manual/toaster: updated test id naming

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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
... 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.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/toaster-managed-mode.json   | 130 +++
 meta/lib/oeqa/manual/toaster-unmanaged-mode.json |  56 +-
 2 files changed, 93 insertions(+), 93 deletions(-)

diff --git a/meta/lib/oeqa/manual/toaster-managed-mode.json 
b/meta/lib/oeqa/manual/toaster-managed-mode.json
index ba0658f..812f57d 100644
--- a/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -1,7 +1,7 @@
 [
   {
 "test": {
-  "@alias": "toaster.toaster.All_layers:_default_view",
+  "@alias": 
"toaster-managed-mode.toaster-managed.All_layers:_default_view",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -47,7 +47,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.All_layers:_Add/delete_layers",
+  "@alias": 
"toaster-managed-mode.toaster-managed.All_layers:_Add/delete_layers",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -85,7 +85,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.All_targets:_Default_view",
+  "@alias": 
"toaster-managed-mode.toaster-managed.All_targets:_Default_view",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -119,7 +119,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Configuration_variables:_default_view",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Configuration_variables:_default_view",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -153,7 +153,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Configuration_variables:_Test_UI_elements",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Configuration_variables:_Test_UI_elements",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -215,7 +215,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Project_builds:_Default_view",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Project_builds:_Default_view",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -249,7 +249,7 @@
   },
   {
 "test": {
-  "@alias": 
"toaster.toaster.Project_builds:_Sorting_the_project_builds_table",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Project_builds:_Sorting_the_project_builds_table",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -287,7 +287,7 @@
   },
   {
 "test": {
-  "@alias": 
"toaster.toaster.Project_builds:_customize_the_columns_of_the_table",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Project_builds:_customize_the_columns_of_the_table",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -321,7 +321,7 @@
   },
   {
 "test": {
-  "@alias": 
"toaster.toaster.Project_builds:_filter_the_contents_of_the_table",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Project_builds:_filter_the_contents_of_the_table",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -355,7 +355,7 @@
   },
   {
 "test": {
-  "@alias": 
"toaster.toaster.Project_builds:_search_the_contents_of_the_table",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Project_builds:_search_the_contents_of_the_table",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -393,7 +393,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Layer_details_page:_Default_view",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Layer_details_page:_Default_view",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -471,7 +471,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Layer_details_page:_UI_functionality",
+  "@alias": 
"toaster-managed-mode.toaster-managed.Layer_details_page:_UI_functionality",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -517,7 +517,7 @@
   },
   {
 "test": {
-  "@alias": "toaster.toaster.Importing_new_layers",
+  "@alias": "toaster-managed-mode.toaster-managed.Importing_new_layers",
   "author": [
 {
   "email": "stanciux.mih...@intel.com",
@@ -547,7 +547,7 @@
   },
   {
 "test": {
-  "@alias": 
"toaster.toaster.Layer_details_page:_UI_functionality_for_imported_layers",
+  "@alias": 

[OE-core] [PATCH 08/33] oeqa/manual/bsp-hw.json: test id updated and obsolete test cases removed

2019-04-10 Thread Armin Kuster
From: sangeeta jain 

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  ... 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.

Signed-off-by: sangeeta jain 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/bsp-hw.json | 266 +++
 1 file changed, 46 insertions(+), 220 deletions(-)

diff --git a/meta/lib/oeqa/manual/bsp-hw.json b/meta/lib/oeqa/manual/bsp-hw.json
index 2bbf4b2..4b7c76f 100644
--- a/meta/lib/oeqa/manual/bsp-hw.json
+++ b/meta/lib/oeqa/manual/bsp-hw.json
@@ -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.george...@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.george...@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.fra...@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.george...@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.george...@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.george...@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.george...@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.george...@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.george...@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.george...@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.george...@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.george...@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": 

[OE-core] [PATCH 07/33] oeqa/manual/bsp-hw.json: add non-IA tests

2019-04-10 Thread Armin Kuster
From: Mazliana 

QA team found that 10 manual bsp test cases from Testopia for
Beaglebone, EdgeRouter, and MPC need to be up streamed

[YOCTO #12650]

Signed-off-by: Mazliana 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/bsp-hw.json | 260 +++
 1 file changed, 260 insertions(+)

diff --git a/meta/lib/oeqa/manual/bsp-hw.json b/meta/lib/oeqa/manual/bsp-hw.json
index a2b1d3e..2bbf4b2 100644
--- a/meta/lib/oeqa/manual/bsp-hw.json
+++ b/meta/lib/oeqa/manual/bsp-hw.json
@@ -1196,5 +1196,265 @@
 },
 "summary": "Test_Seek_bar_and_volume_control"
 }
+},
+{
+"test": {
+"@alias": 
"bsps-runtime.bsps-runtime.Check_if_watchdog_can_reset_the_target_system",
+"author": [
+{
+"email": "yi.z...@windriver.com",
+"name": "yi.z...@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-runtime.bsps-runtime.Check_if_RTC_(Real_Time_Clock)_can_work_correctly",
+"author": [
+{
+"email": "yi.z...@windriver.com",
+"name": "yi.z...@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-runtime.bsps-runtime.Check_if_target_can_support_EEPROM",
+"author": [
+{
+"email": "yi.z...@windriver.com",
+"name": "yi.z...@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 eeprom000 
9210 0b02 0211 0009 0b52 0108 0c00 3c00010 6978 6930 6911 208c 7003 3c3c 
00f0 8381\u2026\n",
+"expected_results": ""
+}
+},
+"summary": "Check_if_target_can_support_EEPROM"
+}
+},
+{
+"test": {
+"@alias": "bsps-tools.bsps-tools.smart_add_rpm-dir_channel_(auto)",
+"author": [
+{
+"email": "corneliux.stoice...@intel.com",
+"name": "corneliux.stoice...@intel.com"
+}
+],
+"execution": {
+"1": {
+"action": "Build out packages with poky tree and copy the 
deploy/rpm directory to target directory. ",
+"expected_results": "The command should add a rpm-dir 
channel with smart. "
+},
+"2": {
+"action": "On target, run \"smart channel --add myrpmdir 
type=rpm-dir path=/path/to/tmp/deploy/rpm/i586\". ",
+"expected_results": "Run \"smart channel --show myrpmdir\" 
can show the information about the channel:\n[myrpmdir] \ntype = rpm-dir \npath 
= /path/to/tmp/deploy/rpm/i586"
+},
+"3": {
+"action": "Run \"smart channel --show myrpmdir\" and check 
the output. ",
+

[OE-core] [PATCH 05/33] oeqa/manual: Add manual runtime 'compliance' testcases to json

2019-04-10 Thread Armin Kuster
From: Sudhir Sharma 

Added json file for compliance test cases to the manual runtime tests

Signed-off-by: Sudhir Sharma 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/compliance-test.json | 142 ++
 1 file changed, 142 insertions(+)
 create mode 100644 meta/lib/oeqa/manual/compliance-test.json

diff --git a/meta/lib/oeqa/manual/compliance-test.json 
b/meta/lib/oeqa/manual/compliance-test.json
new file mode 100644
index 000..7adf8a1
--- /dev/null
+++ b/meta/lib/oeqa/manual/compliance-test.json
@@ -0,0 +1,142 @@
+[
+{
+"test": {
+"@alias": "configuration.configuration.LTP_subset_test_suite",
+"author": [
+{
+"email": "corneliux.stoice...@intel.com",
+"name": "corneliux.stoice...@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": "configuration.configuration.POSIX_subset_test_suite",
+"author": [
+{
+"email": "corneliux.stoice...@intel.com",
+"name": "corneliux.stoice...@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 

[OE-core] [PATCH 06/33] oeqa/manual/sdk.json: Updated toolchain tarball to core-image-sato

2019-04-10 Thread Armin Kuster
From: sangeeta jain 

Manual test step for SDK is updated. Previously toolchain was 
"poky-glibc-x86_64-core-image-sato-sdk-toolchain-.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--toolchain-.sh

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

Signed-off-by: sangeeta jain 

"poky-glibc-x86_64-core-image-sato--toolchain-.sh"

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/sdk.json | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/meta/lib/oeqa/manual/sdk.json b/meta/lib/oeqa/manual/sdk.json
index 6475586..434982f 100644
--- a/meta/lib/oeqa/manual/sdk.json
+++ b/meta/lib/oeqa/manual/sdk.json
@@ -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.y...@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//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//toolchain/x86_64/ \n 
   \tb. Download 
poky-glibc-x86_64-core-image-sato-sdk--toolchain-.sh
 \n\tc. Run command: 
poky-glibc-x86_64-core-image-sato-sdk--toolchain-.sh",
-"expected_results": ""
+"action": "Download & install toolchain tarball matching 
your host from public autobuilder \n\ta. Goto 
https://autobuilder.yocto.io/pub/releases//toolchain/x86_64/ \n 
   \tb. Download 
poky-glibc-x86_64-core-image-sato--toolchain-.sh \n 
   \tc. Run command: 
poky-glibc-x86_64-core-image-sato--toolchain-.sh \n 
   \td. After installation toolchain  Run source command :   source  
/toolchain-installed-path/environment-setup--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 
 core-image-sato-sdk-qemux86.qemuboot.conf qemux86_rootfs_image1  
\n  runqemu  
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"
 }
 }
 ]
\ No newline at end of file
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 04/33] oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM

2019-04-10 Thread Armin Kuster
From: Robert Yang 

Now QEMU_USE_KVM can only be boolean, can not contain MACHINE any more.

Signed-off-by: Robert Yang 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/bsp-qemu.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/manual/bsp-qemu.json 
b/meta/lib/oeqa/manual/bsp-qemu.json
index 1260af4..cf51b6a 100644
--- a/meta/lib/oeqa/manual/bsp-qemu.json
+++ b/meta/lib/oeqa/manual/bsp-qemu.json
@@ -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"
 }
   }
-]
\ No newline at end of file
+]
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 02/33] oeqa/manual: Remove bitbake-selftest execution

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

The autobuilder runs bitbake-selftest already so we don't need
to execute this manually.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/oe-core.json | 30 --
 1 file changed, 30 deletions(-)

diff --git a/meta/lib/oeqa/manual/oe-core.json 
b/meta/lib/oeqa/manual/oe-core.json
index 3e2f321..0e8f01a 100644
--- a/meta/lib/oeqa/manual/oe-core.json
+++ b/meta/lib/oeqa/manual/oe-core.json
@@ -260,35 +260,5 @@
   },
   "summary": "test_bitbake_sane_error_for_invalid_layer"
 }
-  },
-  {
-"test": {
-  "@alias": "oe-core.bitbake.Test_bitbake-selftest",
-  "author": [
-{
-  "email": "jair.de.jesus.gonzalez.plascen...@intel.com",
-  "name": "jair.de.jesus.gonzalez.plascen...@intel.com"
-}
-  ],
-  "execution": {
-"1": {
-  "action": "clone poky ",
-  "expected_results": ""
-},
-"2": {
-  "action": "cd poky ",
-  "expected_results": ""
-},
-"3": {
-  "action": "source oe-init-build-env ",
-  "expected_results": ""
-},
-"4": {
-  "action": "bitbake-selftest -v\n",
-  "expected_results": "All test cases are executed and no errors are 
reported.\n"
-}
-  },
-  "summary": "Test_bitbake-selftest"
-}
   }
 ]
\ No newline at end of file
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 01/33] oeqa/manual: transfer manual test cases from testopia to oeqa

2019-04-10 Thread Armin Kuster
From: Yeoh Ee Peng 

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.

Signed-off-by: Yeoh Ee Peng 
Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/abat.patch   |   64 ++
 meta/lib/oeqa/manual/bsp-hw.json  | 1200 +
 meta/lib/oeqa/manual/bsp-qemu.json|  222 ++
 meta/lib/oeqa/manual/build-appliance.json |  122 +++
 meta/lib/oeqa/manual/crops.json   |  294 +++
 meta/lib/oeqa/manual/eclipse-plugin.json  |  322 
 meta/lib/oeqa/manual/kernel-dev.json  |  200 +
 meta/lib/oeqa/manual/oe-core.json |  294 +++
 meta/lib/oeqa/manual/sdk.json |   32 +
 9 files changed, 2750 insertions(+)
 create mode 100644 meta/lib/oeqa/manual/abat.patch
 create mode 100644 meta/lib/oeqa/manual/bsp-hw.json
 create mode 100644 meta/lib/oeqa/manual/bsp-qemu.json
 create mode 100644 meta/lib/oeqa/manual/build-appliance.json
 create mode 100644 meta/lib/oeqa/manual/crops.json
 create mode 100644 meta/lib/oeqa/manual/eclipse-plugin.json
 create mode 100644 meta/lib/oeqa/manual/kernel-dev.json
 create mode 100644 meta/lib/oeqa/manual/oe-core.json
 create mode 100644 meta/lib/oeqa/manual/sdk.json

diff --git a/meta/lib/oeqa/manual/abat.patch b/meta/lib/oeqa/manual/abat.patch
new file mode 100644
index 000..1541ac8
--- /dev/null
+++ b/meta/lib/oeqa/manual/abat.patch
@@ -0,0 +1,64 @@
+
+diff --git a/glxgears_check.sh b/glxgears_check.sh
+index 17622b8..c4d3b97 100755
+--- a/glxgears_check.sh
 b/glxgears_check.sh
+@@ -31,7 +31,7 @@ else
+ 
+ sleep 6
+ 
+-XPID=$( ps ax | awk '{print $1, $5}' | grep glxgears | awk '{print $1}')
++XPID=$( ps | awk '{print $1, $5}' | grep glxgears | awk '{print $1}')
+ if [ ! -z "$XPID" ]; then
+ kill -9 $XPID >/dev/null 2>&1
+ echo "glxgears can run, PASS!"
+diff --git a/x_close.sh b/x_close.sh
+index e287be1..3429f1a 100755
+--- a/x_close.sh
 b/x_close.sh
+@@ -22,7 +22,7 @@
+ #
+ function close_proc(){
+ echo "kill process Xorg"
+-XPID=$(  ps ax | awk '{print $1, $5}' | egrep "X$|Xorg$" | awk '{print $1}')
++XPID=$(  ps | awk '{print $1, $6}' | egrep "X$|Xorg$" | awk '{print $1}')
+ if [ ! -z "$XPID" ]; then
+ kill $XPID
+ sleep 4
+diff --git a/x_start.sh b/x_start.sh
+index 9cf6eab..2305796 100755
+--- a/x_start.sh
 b/x_start.sh
+@@ -24,7 +24,7 @@
+ X_ERROR=0
+ 
+ #test whether X has started
+-PXID=$(ps ax |awk '{print $1,$5}' |egrep "Xorg$|X$" |grep -v grep | awk 
'{print $1}')
++PXID=$(ps |awk '{print $1,$6}' |egrep "Xorg$|X$" |grep -v grep | awk '{print 
$1}')
+ if [ ! -z "$PXID" ]; then
+ echo "[WARNING] Xorg has started!"
+ XORG_STATUS="started"
+@@ -35,9 +35,11 @@ else
+ #start up the x server
+ echo "Start up the X server for test in display $DISPLAY"
+ 
+-$XORG_DIR/bin/X >/dev/null 2>&1 &
++#$XORG_DIR/bin/X >/dev/null 2>&1 &
++#sleep 8
++#xterm &
++/etc/init.d/xserver-nodm start &
+ sleep 8
+-xterm &
+ fi
+ XLOG_FILE=/var/log/Xorg.0.log
+ [ -f $XORG_DIR/var/log/Xorg.0.log ] && 
XLOG_FILE=$XORG_DIR/var/log/Xorg.0.log
+@@ -54,7 +56,7 @@ fi
+ X_ERROR=1
+ fi
+ 
+-XPID=$( ps ax | awk '{print $1, $5}' | egrep "X$|Xorg$" |grep -v grep| 
awk '{print $1}')
++XPID=$( ps | awk '{print $1, $6}' | egrep "X$|Xorg$" |grep -v grep| awk 
'{print $1}')
+ if [ -z "$XPID" ]; then
+ echo "Start up X server FAIL!"
+  echo
+
\ No newline at end of file
diff --git a/meta/lib/oeqa/manual/bsp-hw.json b/meta/lib/oeqa/manual/bsp-hw.json
new file mode 100644
index 000..a2b1d3e
--- /dev/null
+++ b/meta/lib/oeqa/manual/bsp-hw.json
@@ -0,0 +1,1200 @@
+[
+{
+"test": {
+"@alias": "bsps-hw.bsps-tools.rpm_-__install_dependency_package",
+"author": [
+{
+"email": "alexandru.c.george...@intel.com",
+"name": "alexandru.c.george...@intel.com"
+}
+],
+"execution": {
+"1": {
+"action": "Get a not previously installed RPM package or 
build one on local machine, which should have run-time dependency.For example, 
\"mc\" (Midnight Commander, which is a visual file manager) should depend on 
\"ncurses-terminfo\".   \n\n$ 

[OE-core] [PATCH 03/33] oeqa/manual/build-appliance: Drop test which is already automated

2019-04-10 Thread Armin Kuster
From: Richard Purdie 

The nightly-build-appliance target already tests this particular build.

Signed-off-by: Richard Purdie 
Signed-off-by: Armin Kuster 
---
 meta/lib/oeqa/manual/build-appliance.json | 26 --
 1 file changed, 26 deletions(-)

diff --git a/meta/lib/oeqa/manual/build-appliance.json 
b/meta/lib/oeqa/manual/build-appliance.json
index b8f8927..70f8c72 100644
--- a/meta/lib/oeqa/manual/build-appliance.json
+++ b/meta/lib/oeqa/manual/build-appliance.json
@@ -1,32 +1,6 @@
 [
 {
 "test": {
-"@alias": 
"build-appliance.build-appliance.Bitbake_build-appliance-image",
-"author": [
-{
-"email": "alexandru.c.george...@intel.com",
-"name": "alexandru.c.george...@intel.com"
-}
-],
-"execution": {
-"1": {
-"action": "Get poky source code and prepare the build 
environment",
-"expected_results": "bitbake build-appliance-image is 
successful  "
-},
-"2": {
-"action": "Set MACHINE to qemux86 and add the following 
line to conf/local.conf :  SRCREV_pn-build-appliance-image = \"${AUTOREV}\"",
-"expected_results": ""
-},
-"3": {
-"action": "Run \"bitbake build-appliance-image\" \n \n",
-"expected_results": ""
-}
-},
-"summary": "Bitbake_build-appliance-image"
-}
-},
-{
-"test": {
 "@alias": 
"build-appliance.build-appliance.Build_core-image-minimal_with_build-appliance-image",
 "author": [
 {
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 00/33] Sumo next patch review

2019-04-10 Thread Armin Kuster
Here are the next batch for sumo. Please review and reply in two days.
Base line they passed a-full

The following changes since commit 0a2db923fd17019d07d88204b355aa46590f0b97:

  build-appliance-image: Update to sumo head revision (2019-03-27 23:21:58 
+)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib stable/sumo-next
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=stable/sumo-next

Chen Qi (2):
  pkgdata.py: avoid target-sdk-dummy-provides to mess things up
  logging: use warning instead warn

Davis, Michael (1):
  wic: Support for changing the imager.

Geoff Parker (1):
  wic: make engine.py:get_partitions() resilient to parted/dmidecode
stderr output

Kai Kang (1):
  wic: search nonarch STAGING_DATADIR for multilib

Khem Raj (1):
  lib/oe: Fix collections ABCs DeprecationWarning in Python 3.7+

Leonardo Augusto (1):
  scripts/lib/wic/engine: Fix cp's target path for ext* filesystems

Mazliana (1):
  oeqa/manual/bsp-hw.json: add non-IA tests

Richard Purdie (9):
  oeqa/manual: Remove bitbake-selftest execution
  oeqa/manual/build-appliance: Drop test which is already automated
  resulttool: Allow store to work on single files
  resulttool: Allow extraction of ptest data
  scripts/wic: Be consistent about how we call bitbake
  wic/engine: Fix missing parted autobuilder failures
  oeqa/selftest/devtool: Ensure dbus is built befoe running test
  oeqa: Default to buffer mode for tests
  devtool: Split tests into multiple classes

Robert Yang (1):
  oeqa/manual/bsp-qemu.json: Update for QEMU_USE_KVM

Ross Burton (1):
  wic: use explicit errno import

Sudhir Sharma (1):
  oeqa/manual: Add manual runtime 'compliance' testcases to json

William Bourque (1):
  wic/engine.py: Load paths from PATH environment variable

Yeoh Ee Peng (8):
  oeqa/manual: transfer manual test cases from testopia to oeqa
  oeqa/manual/toaster: transfer manual toaster test cases to oeqa
  oeqa/manual/toaster: updated test id naming
  resulttool: Enable report for single result file
  resulttool/manualexecution: Standardize input check
  resulttool/manualexecution: Enable display full steps without press
enter
  resulttool/manualexecution: Fixed step sorted by integer
  resulttool/manualexecution: Refactor and simplify codebase

sangeeta jain (4):
  oeqa/manual/sdk.json: Updated toolchain tarball to core-image-sato
  oeqa/manual/bsp-hw.json: test id updated and obsolete test cases
removed
  oeqa/manual/compliance-test.json: test id updated and missing test
cases added
  oeqa/manual/kernel-dev.json: test id updated

 meta/lib/oe/maketype.py  |9 +-
 meta/lib/oe/terminal.py  |6 +-
 meta/lib/oeqa/core/context.py|2 +-
 meta/lib/oeqa/core/runner.py |5 -
 meta/lib/oeqa/manual/abat.patch  |   64 +
 meta/lib/oeqa/manual/bsp-hw.json | 1286 +++
 meta/lib/oeqa/manual/bsp-qemu.json   |  222 ++
 meta/lib/oeqa/manual/build-appliance.json|   96 +
 meta/lib/oeqa/manual/compliance-test.json|  194 ++
 meta/lib/oeqa/manual/crops.json  |  294 +++
 meta/lib/oeqa/manual/eclipse-plugin.json |  322 +++
 meta/lib/oeqa/manual/kernel-dev.json |  200 ++
 meta/lib/oeqa/manual/oe-core.json|  264 +++
 meta/lib/oeqa/manual/sdk.json|   32 +
 meta/lib/oeqa/manual/toaster-managed-mode.json   | 2572 ++
 meta/lib/oeqa/manual/toaster-unmanaged-mode.json | 1170 ++
 meta/lib/oeqa/selftest/cases/devtool.py  |  115 +-
 meta/lib/oeqa/selftest/cases/efibootpartition.py |1 -
 meta/lib/oeqa/selftest/cases/imagefeatures.py|2 -
 meta/lib/oeqa/selftest/cases/pkgdata.py  |1 +
 meta/lib/oeqa/selftest/cases/runqemu.py  |2 -
 meta/lib/oeqa/selftest/context.py|2 +-
 meta/lib/oeqa/utils/qemurunner.py|4 +-
 scripts/combo-layer  |2 +-
 scripts/contrib/verify-homepage.py   |2 +-
 scripts/lib/devtool/export.py|2 +-
 scripts/lib/devtool/import.py|8 +-
 scripts/lib/devtool/standard.py  |   16 +-
 scripts/lib/devtool/upgrade.py   |6 +-
 scripts/lib/recipetool/append.py |   14 +-
 scripts/lib/recipetool/create.py |4 +-
 scripts/lib/recipetool/create_kmod.py|2 +-
 scripts/lib/recipetool/create_npm.py |6 +-
 scripts/lib/recipetool/newappend.py  |4 +-
 scripts/lib/resulttool/manualexecution.py|   61 +-
 scripts/lib/resulttool/resultutils.py|   39 +-
 scripts/lib/resulttool/store.py  |   23 +-
 scripts/lib/wic/engine.py|   26 +-
 scripts/lib/wic/filemap.py   |9 +-
 

Re: [OE-core] Build broken with current master

2019-04-10 Thread Burton, Ross
On Tue, 9 Apr 2019 at 22:41, Andreas Müller  wrote:
> > The recipe that depends on docbook-xml-dtd4-native also needs to
> > depend on libxml2-native.
>
> Do I have to go through recipes failing - or is there a chance for a
> common solution?

Very few recipes should be depending directly on docbook-xml and
docbook-xsl, and they'll need the depends added.

A common solution would be great but would mean adding new dependency
support into the staging code.

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] Eclipse support dropped with immediate effect

2019-04-10 Thread richard . purdie
On Wed, 2019-04-10 at 05:56 +0530, akuster808 wrote:
> 
> On 4/9/19 8:52 PM, Richard Purdie wrote:
> > I'm sorry to have to say this but the project is terminating its
> > official eclipse plugin support with immediate effect.
> 
> Does this affect the stable branches as well?

Yes, I think we'll just be removing the target from the autobuilder
entirely.

Cheers,

Richard

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] systemd: install libnss-myhostname.so when myhostname be enabled

2019-04-10 Thread Wenlin Kang
This fixes the follow issue, the cause is that net-tools needs
libnss-myhostname.so when run "hostname -s".

root@qemuarm64:~# hostname -s
hostname: Unknown host

Signed-off-by: Wenlin Kang 
---
 meta/recipes-core/systemd/systemd_241.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/systemd/systemd_241.bb 
b/meta/recipes-core/systemd/systemd_241.bb
index bfbfc81..251daaa 100644
--- a/meta/recipes-core/systemd/systemd_241.bb
+++ b/meta/recipes-core/systemd/systemd_241.bb
@@ -547,6 +547,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la 
${datadir}/dbus-1/interfaces/ $
 RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= 
${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
 RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 
'serial-getty-generator', '', 'systemd-serialgetty', d)}"
 RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'myhostname', 
'libnss-myhostname', '', d)}"
 
 RRECOMMENDS_${PN} += "systemd-extra-utils \
   systemd-compat-units udev-hwdb \
-- 
1.9.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] sanity: check_perl_modules bug fix

2019-04-10 Thread Zheng Ruoqin
Fix Python3 TypeError error in check_perl_modules:

Executing bitbake, the following error message will be throwed:

  File ".../poky/meta/classes/sanity.bbclass", line
979, in check_sanity_eventhandler
check_sanity(sanity_data)
  File ".../poky/meta/classes/sanity.bbclass", line
943, in check_sanity
check_sanity_version_change(status, sanity_data)
  File ".../poky/meta/classes/sanity.bbclass", line
637, in check_sanity_version_change
status.addresult(check_perl_modules(d))
  File ".../poky/meta/classes/sanity.bbclass", line
563, in check_perl_modules
errresult += e.output
TypeError: must be str, not bytes

So here, transfer e.output from bytes to str.

Signed-off-by: Zheng Ruoqin 
---
 meta/classes/sanity.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 4cbb1f3..9429202 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -560,7 +560,7 @@ def check_perl_modules(sanity_data):
 try:
 subprocess.check_output(["perl", "-e", "use %s" % m])
 except subprocess.CalledProcessError as e:
-errresult += e.output
+errresult += bytes.decode(e.output)
 ret += "%s " % m
 if ret:
 return "Required perl module(s) not found: %s\n\n%s\n" % (ret, 
errresult)
-- 
1.8.3.1



-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [oe-core][PATCH] recipetool: add missed module

2019-04-10 Thread Lei Yang
When I use recipetool to add a new recipe, it says:

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

Signed-off-by: Lei Yang 
---
 scripts/lib/recipetool/create_npm.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/lib/recipetool/create_npm.py 
b/scripts/lib/recipetool/create_npm.py
index 03667887fc..0b09ed0b04 100644
--- a/scripts/lib/recipetool/create_npm.py
+++ b/scripts/lib/recipetool/create_npm.py
@@ -16,6 +16,7 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 import os
+import sys
 import logging
 import subprocess
 import tempfile
-- 
2.17.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core