[OE-core] [PATCH 0/1] systemd: add back alternatives for init utitilies

2018-10-18 Thread Chen Qi
*** BLURB HERE ***
The following changes since commit 52f1041e1a99d391d954f138589cef497a143cb1:

  qemux86/gstreamer: Move kernel module recommendation to the machine 
configuration (2018-10-18 23:26:35 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/systemd-alternatives
  
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/systemd-alternatives

Chen Qi (1):
  systemd: add back alternatives for init utitilies

 meta/recipes-core/systemd/systemd_239.bb | 27 ---
 1 file changed, 24 insertions(+), 3 deletions(-)

-- 
1.9.1

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


[OE-core] [PATCH 1/1] systemd: add back alternatives for init utitilies

2018-10-18 Thread Chen Qi
Add back alternatives for init utilities to avoid regression.

These alternatives were removed when upgradeing systemd to 239.
They were removed out of the logic that init utitilies should be
bound to init manager. However, it turned out that two use cases
were not covered.

1) initramfs using commands like 'reboot' from busybox.
2) Users use customized busybox defconfig which enables init utilities.

The first use case caused a regression bug in yocto.
  https://bugzilla.yoctoproject.org/show_bug.cgi?id=12914
Patches were sent to fix the reboot problem.

But this is not enough. As we may have the second use case. In such
situation, users will find themselves having regression error when
using 'busybox + systemd' (and busybox is installed after systemd,
overriding the systemd symlinks).

So in order to avoid regression, add back these alternatives.

Signed-off-by: Chen Qi 
---
 meta/recipes-core/systemd/systemd_239.bb | 27 ---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_239.bb 
b/meta/recipes-core/systemd/systemd_239.bb
index 7ed9321..0e84531 100644
--- a/meta/recipes-core/systemd/systemd_239.bb
+++ b/meta/recipes-core/systemd/systemd_239.bb
@@ -447,7 +447,7 @@ FILES_${PN} = " ${base_bindir}/* \
 ${base_sbindir}/runlevel \
 ${base_sbindir}/telinit \
 ${base_sbindir}/resolvconf \
-${base_sbindir}/reboot.systemd \
+${base_sbindir}/reboot \
 ${base_sbindir}/init \
 ${datadir}/dbus-1/services \
 ${datadir}/dbus-1/system-services \
@@ -556,14 +556,35 @@ python __anonymous() {
 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
 }
 
-ALTERNATIVE_${PN} = "resolv-conf reboot"
+ALTERNATIVE_${PN} = "init halt reboot shutdown poweroff runlevel resolv-conf"
 
 ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
 ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
 ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
 
+ALTERNATIVE_TARGET[init] = "${rootlibexecdir}/systemd/systemd"
+ALTERNATIVE_LINK_NAME[init] = "${base_sbindir}/init"
+ALTERNATIVE_PRIORITY[init] ?= "300"
+
+ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
+ALTERNATIVE_PRIORITY[halt] ?= "300"
+
+ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
 ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
-ALTERNATIVE_PRIORITY[reboot] = "100"
+ALTERNATIVE_PRIORITY[reboot] ?= "300"
+
+ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
+ALTERNATIVE_PRIORITY[shutdown] ?= "300"
+
+ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
+ALTERNATIVE_PRIORITY[poweroff] ?= "300"
+
+ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
+ALTERNATIVE_PRIORITY[runlevel] ?= "300"
 
 pkg_postinst_${PN} () {
sed -e '/^hosts:/s/\s*\//' \
-- 
1.9.1

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


Re: [OE-core] [PATCH] os-release: move to nonarch_libdir

2018-10-18 Thread Kang Kai

On 2018/10/19 上午10:21, ChenQi wrote:
I suspect this is the correct fix for multilib conflict of os-release 
after the allarch/multilib change.
Kai, could you please verify if the following patch could be dropped 
with this patch applied?


commit 591a11ba58ce3c2c147bb1f8202bc6a0092b70eb
Author: Kai Kang 
Date:   Wed Oct 3 00:27:14 2018 +0800

    os-release: avoid multilib expand

    Add os-release to NON_MULTILIB_RECIPES in multilib.conf that do 
not do

    multilib expand for os-release.



This commit is to fix file conflict of /etc/os-release between 
lib32-os-release and os-release.
When install os-release to nonarch_libdir, the issue is gone. So my 
commit could be reverted

when this commit is merged. Tested for qemux86-64.

--Kai





    (From OE-Core rev: 361382ca16c276e1e404eab58c0956a2b6d23d7e)

    Signed-off-by: Kai Kang 
    Signed-off-by: Richard Purdie 

Best Regards,
Chen Qi

On 10/18/2018 11:24 PM, Dan McGregor wrote:

From: Dan McGregor 

Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

Signed-off-by: Dan McGregor 
---
  meta/recipes-core/os-release/os-release.bb | 8 
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/os-release/os-release.bb 
b/meta/recipes-core/os-release/os-release.bb

index bf4f815a10d..7f3d9cba00c 100644
--- a/meta/recipes-core/os-release/os-release.bb
+++ b/meta/recipes-core/os-release/os-release.bb
@@ -42,9 +42,9 @@ python do_compile () {
  do_compile[vardeps] += "${OS_RELEASE_FIELDS}"
    do_install () {
-    install -d ${D}${libdir} ${D}${sysconfdir}
-    install -m 0644 os-release ${D}${libdir}/
-    lnr ${D}${libdir}/os-release ${D}${sysconfdir}/os-release
+    install -d ${D}${nonarch_libdir} ${D}${sysconfdir}
+    install -m 0644 os-release ${D}${nonarch_libdir}/
+    lnr ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
  }
  -FILES_${PN} += "${libdir}/os-release"
+FILES_${PN} += "${nonarch_libdir}/os-release"






--
Regards,
Neil | Kai Kang

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


[OE-core] [PATCH 1/2] python: backport patch to fix CVE-2018-1000802

2018-10-18 Thread Chen Qi
Backport a patch to fix the following CVE.

CVE: CVE-2018-1000802

Signed-off-by: Chen Qi 
---
 ...34540-Convert-shutil._call_external_zip-t.patch | 69 ++
 meta/recipes-devtools/python/python_2.7.15.bb  |  1 +
 2 files changed, 70 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch

diff --git 
a/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch
 
b/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch
new file mode 100644
index 000..e6fe5f2
--- /dev/null
+++ 
b/meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch
@@ -0,0 +1,69 @@
+From c7e692c61dc091d07dee573f5f424b6b427ff056 Mon Sep 17 00:00:00 2001
+From: Benjamin Peterson 
+Date: Wed, 29 Aug 2018 21:59:21 -0700
+Subject: [PATCH] closes bpo-34540: Convert shutil._call_external_zip to use
+ subprocess rather than distutils.spawn. (GH-8985)
+
+Upstream-Status: Backport
+
+Fix CVE-2018-1000802
+
+Signed-off-by: Chen Qi 
+---
+ Lib/shutil.py| 16 ++--
+ .../Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst|  3 +++
+ 2 files changed, 13 insertions(+), 6 deletions(-)
+ create mode 100644 
Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
+
+diff --git a/Lib/shutil.py b/Lib/shutil.py
+index 3462f7c..0ab1a06 100644
+--- a/Lib/shutil.py
 b/Lib/shutil.py
+@@ -413,17 +413,21 @@ def _make_tarball(base_name, base_dir, compress="gzip", 
verbose=0, dry_run=0,
+ 
+ return archive_name
+ 
+-def _call_external_zip(base_dir, zip_filename, verbose=False, dry_run=False):
++def _call_external_zip(base_dir, zip_filename, verbose, dry_run, logger):
+ # XXX see if we want to keep an external call here
+ if verbose:
+ zipoptions = "-r"
+ else:
+ zipoptions = "-rq"
+-from distutils.errors import DistutilsExecError
+-from distutils.spawn import spawn
++cmd = ["zip", zipoptions, zip_filename, base_dir]
++if logger is not None:
++logger.info(' '.join(cmd))
++if dry_run:
++return
++import subprocess
+ try:
+-spawn(["zip", zipoptions, zip_filename, base_dir], dry_run=dry_run)
+-except DistutilsExecError:
++subprocess.check_call(cmd)
++except subprocess.CalledProcessError:
+ # XXX really should distinguish between "couldn't find
+ # external 'zip' command" and "zip failed".
+ raise ExecError, \
+@@ -458,7 +462,7 @@ def _make_zipfile(base_name, base_dir, verbose=0, 
dry_run=0, logger=None):
+ zipfile = None
+ 
+ if zipfile is None:
+-_call_external_zip(base_dir, zip_filename, verbose, dry_run)
++_call_external_zip(base_dir, zip_filename, verbose, dry_run, logger)
+ else:
+ if logger is not None:
+ logger.info("creating '%s' and adding '%s' to it",
+diff --git 
a/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst 
b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
+new file mode 100644
+index 000..4f68696
+--- /dev/null
 b/Misc/NEWS.d/next/Security/2018-08-28-22-11-54.bpo-34540.gfQ0TM.rst
+@@ -0,0 +1,3 @@
++When ``shutil.make_archive`` falls back to the external ``zip`` problem, it
++uses :mod:`subprocess` to invoke it rather than :mod:`distutils.spawn`. This
++closes a possible shell injection vector.
+-- 
+2.7.4
+
diff --git a/meta/recipes-devtools/python/python_2.7.15.bb 
b/meta/recipes-devtools/python/python_2.7.15.bb
index b402ad6..e8c9475 100644
--- a/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/meta/recipes-devtools/python/python_2.7.15.bb
@@ -31,6 +31,7 @@ SRC_URI += "\
   file://pass-missing-libraries-to-Extension-for-mul.patch \
   file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
   file://float-endian.patch \
+  file://0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch \
 "
 
 S = "${WORKDIR}/Python-${PV}"
-- 
1.9.1

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


[OE-core] [PATCH 2/2] python: backport patch to fix CVE-2018-14647

2018-10-18 Thread Chen Qi
Backport patch to fix the following CVE.

CVE: CVE-2018-14647

Signed-off-by: Chen Qi 
---
 ...23-Use-XML_SetHashSalt-in-_elementtree-GH.patch | 98 ++
 meta/recipes-devtools/python/python_2.7.15.bb  |  1 +
 2 files changed, 99 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch

diff --git 
a/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
 
b/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
new file mode 100644
index 000..42c64ca
--- /dev/null
+++ 
b/meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
@@ -0,0 +1,98 @@
+From 3ffc80959f01f9fde548f1632694b9f950c2dd7c Mon Sep 17 00:00:00 2001
+From: Christian Heimes 
+Date: Tue, 18 Sep 2018 15:13:09 +0200
+Subject: [PATCH] [2.7] bpo-34623: Use XML_SetHashSalt in _elementtree
+ (GH-9146) (GH-9394)
+
+The C accelerated _elementtree module now initializes hash randomization
+salt from _Py_HashSecret instead of libexpat's default CPRNG.
+
+Signed-off-by: Christian Heimes 
+
+https://bugs.python.org/issue34623.
+(cherry picked from commit cb5778f00ce48631c7140f33ba242496aaf7102b)
+
+Co-authored-by: Christian Heimes 
+
+
+
+https://bugs.python.org/issue34623
+
+Upstream-Status: Backport
+
+Fix CVE-2018-14647
+
+Signed-off-by: Chen Qi 
+---
+ Include/pyexpat.h  | 4 +++-
+ Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst | 2 ++
+ Modules/_elementtree.c | 5 +
+ Modules/pyexpat.c  | 5 +
+ 4 files changed, 15 insertions(+), 1 deletion(-)
+ create mode 100644 
Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
+
+diff --git a/Include/pyexpat.h b/Include/pyexpat.h
+index 5340ef5..3fc5fa5 100644
+--- a/Include/pyexpat.h
 b/Include/pyexpat.h
+@@ -3,7 +3,7 @@
+ 
+ /* note: you must import expat.h before importing this module! */
+ 
+-#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.0"
++#define PyExpat_CAPI_MAGIC  "pyexpat.expat_CAPI 1.1"
+ #define PyExpat_CAPSULE_NAME "pyexpat.expat_CAPI"
+ 
+ struct PyExpat_CAPI 
+@@ -43,6 +43,8 @@ struct PyExpat_CAPI
+ XML_Parser parser, XML_UnknownEncodingHandler handler,
+ void *encodingHandlerData);
+ void (*SetUserData)(XML_Parser parser, void *userData);
++/* might be none for expat < 2.1.0 */
++int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt);
+ /* always add new stuff to the end! */
+ };
+ 
+diff --git 
a/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst 
b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
+new file mode 100644
+index 000..31ad92e
+--- /dev/null
 b/Misc/NEWS.d/next/Security/2018-09-10-16-05-39.bpo-34623.Ua9jMv.rst
+@@ -0,0 +1,2 @@
++The C accelerated _elementtree module now initializes hash randomization
++salt from _Py_HashSecret instead of libexpat's default CSPRNG.
+diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
+index 1d316a1..a19cbf7 100644
+--- a/Modules/_elementtree.c
 b/Modules/_elementtree.c
+@@ -2574,6 +2574,11 @@ xmlparser(PyObject* self_, PyObject* args, PyObject* kw)
+ PyErr_NoMemory();
+ return NULL;
+ }
++/* expat < 2.1.0 has no XML_SetHashSalt() */
++if (EXPAT(SetHashSalt) != NULL) {
++EXPAT(SetHashSalt)(self->parser,
++   (unsigned long)_Py_HashSecret.prefix);
++}
+ 
+ ALLOC(sizeof(XMLParserObject), "create expatparser");
+ 
+diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
+index 2b4d312..1f8c0d7 100644
+--- a/Modules/pyexpat.c
 b/Modules/pyexpat.c
+@@ -2042,6 +2042,11 @@ MODULE_INITFUNC(void)
+ capi.SetProcessingInstructionHandler = 
XML_SetProcessingInstructionHandler;
+ capi.SetUnknownEncodingHandler = XML_SetUnknownEncodingHandler;
+ capi.SetUserData = XML_SetUserData;
++#if XML_COMBINED_VERSION >= 20100
++capi.SetHashSalt = XML_SetHashSalt;
++#else
++capi.SetHashSalt = NULL;
++#endif
+ 
+ /* export using capsule */
+ capi_object = PyCapsule_New(&capi, PyExpat_CAPSULE_NAME, NULL);
+-- 
+2.7.4
+
diff --git a/meta/recipes-devtools/python/python_2.7.15.bb 
b/meta/recipes-devtools/python/python_2.7.15.bb
index e8c9475..dd969d8 100644
--- a/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/meta/recipes-devtools/python/python_2.7.15.bb
@@ -32,6 +32,7 @@ SRC_URI += "\
   file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
   file://float-endian.patch \
   file://0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch \
+  file://0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch \
 "
 
 S = "${WORKDIR}/Python-${PV}"
-- 
1.9.1

-- 
___
Openembedded-core mailing list
Openembedded-core@

[OE-core] [PATCH] buildtools-tarball: add nativesdk-rpcsvc-proto

2018-10-18 Thread mingli.yu
From: Mingli Yu 

Fedora28 repackages rpcgen program to rpcgen
package and the program will no longer be
part of the glibc-common package.
fedora 28:
$ rpm -qf /usr/bin/rpcgen
rpcgen-1.3.1-4.fc28.x86_64

fedora 27:
$ rpm -qf /usr/bin/rpcgen
glibc-common-2.26-27.fc27.x86_64

Once build a project on fedora28 host without
installing the extra rpcgen package, there
comes below error:
ERROR: Unable to start bitbake server
ERROR: Last 10 lines of server log for this session 
(/yocto/builds/upgrade2/bitbake-cookerdaemon.log):
self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
  File "/yocto/poky/bitbake/lib/bb/cooker.py", line 197, in __init__
self.initConfigurationData()
  File "/yocto/poky/bitbake/lib/bb/cooker.py", line 356, in 
initConfigurationData
self.databuilder.parseBaseConfiguration()
  File "/yocto/poky/bitbake/lib/bb/cookerdata.py", line 317, in 
parseBaseConfiguration
raise bb.BBHandledException
bb.BBHandledException
ERROR: The following required tools (as specified by HOSTTOOLS) appear to be 
unavailable in PATH, please install them in order to proceed:
  rpcgen

So add nativesdk-rpcsvc-proto to provide the
program rpcgen to fix the gap.

Signed-off-by: Mingli Yu 
---
 meta/recipes-core/meta/buildtools-tarball.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/meta/buildtools-tarball.bb 
b/meta/recipes-core/meta/buildtools-tarball.bb
index 7ab7907..91df6f1 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -24,6 +24,7 @@ TOOLCHAIN_HOST_TASK ?= "\
 nativesdk-ca-certificates \
 nativesdk-texinfo \
 nativesdk-libnss-nis \
+nativesdk-rpcsvc-proto \
 "
 
 MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
-- 
2.7.4

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


[OE-core] [PATCH 0/2] python: fix two CVEs

2018-10-18 Thread Chen Qi
The following changes since commit 7e8056d96ebe85d72bc4cb961e5766968db2ece2:

  systemtap: Fix typo in chown command (2018-10-17 13:41:12 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib ChenQi/python-cve
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/python-cve

Chen Qi (2):
  python: backport patch to fix CVE-2018-1000802
  python: backport patch to fix CVE-2018-14647

 ...23-Use-XML_SetHashSalt-in-_elementtree-GH.patch | 98 ++
 ...34540-Convert-shutil._call_external_zip-t.patch | 69 +++
 meta/recipes-devtools/python/python_2.7.15.bb  |  2 +
 3 files changed, 169 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python/0001-2.7-bpo-34623-Use-XML_SetHashSalt-in-_elementtree-GH.patch
 create mode 100644 
meta/recipes-devtools/python/python/0001-closes-bpo-34540-Convert-shutil._call_external_zip-t.patch

-- 
1.9.1

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


Re: [OE-core] [PATCH] os-release: move to nonarch_libdir

2018-10-18 Thread ChenQi
I suspect this is the correct fix for multilib conflict of os-release 
after the allarch/multilib change.
Kai, could you please verify if the following patch could be dropped 
with this patch applied?


commit 591a11ba58ce3c2c147bb1f8202bc6a0092b70eb
Author: Kai Kang 
Date:   Wed Oct 3 00:27:14 2018 +0800

os-release: avoid multilib expand

Add os-release to NON_MULTILIB_RECIPES in multilib.conf that do not do
multilib expand for os-release.

(From OE-Core rev: 361382ca16c276e1e404eab58c0956a2b6d23d7e)

Signed-off-by: Kai Kang 
Signed-off-by: Richard Purdie 

Best Regards,
Chen Qi

On 10/18/2018 11:24 PM, Dan McGregor wrote:

From: Dan McGregor 

Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

Signed-off-by: Dan McGregor 
---
  meta/recipes-core/os-release/os-release.bb | 8 
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/os-release/os-release.bb 
b/meta/recipes-core/os-release/os-release.bb
index bf4f815a10d..7f3d9cba00c 100644
--- a/meta/recipes-core/os-release/os-release.bb
+++ b/meta/recipes-core/os-release/os-release.bb
@@ -42,9 +42,9 @@ python do_compile () {
  do_compile[vardeps] += "${OS_RELEASE_FIELDS}"
  
  do_install () {

-install -d ${D}${libdir} ${D}${sysconfdir}
-install -m 0644 os-release ${D}${libdir}/
-lnr ${D}${libdir}/os-release ${D}${sysconfdir}/os-release
+install -d ${D}${nonarch_libdir} ${D}${sysconfdir}
+install -m 0644 os-release ${D}${nonarch_libdir}/
+lnr ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
  }
  
-FILES_${PN} += "${libdir}/os-release"

+FILES_${PN} += "${nonarch_libdir}/os-release"



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


[OE-core] [PATCH 1/2] go: Upgrade to 1.11.1

2018-10-18 Thread Khem Raj
Drop 1.10 recipes in favor of 1.11
we have had reports of 1.10 not being quite
functional wth OE

Signed-off-by: Khem Raj 
---
 ...-to-be-overridden-in-the-environment.patch | 64 --
 ...-arm64-fix-branch-too-far-with-TBZ-l.patch | 58 
 .../go/{go-1.10.inc => go-1.11.inc}   |  9 ++-
 ...ow-CC-and-CXX-to-have-multiple-words.patch | 12 ++--
 ...ent-based-hash-generation-less-pedan.patch | 46 ++---
 ...-to-be-overridden-in-the-environment.patch | 48 +
 ...4-ld-add-soname-to-shareable-objects.patch | 16 ++---
 ...de-CC-when-building-dist-and-go_boot.patch | 15 ++---
 ...dist-separate-host-and-target-builds.patch | 67 ++-
 ...d-go-make-GOROOT-precious-by-default.patch | 50 +++---
 ...place-glibc-dynamic-linker-with-musl.patch | 24 +++
 ...dian_1.10.bb => go-cross-canadian_1.11.bb} |  0
 .../go/{go-cross_1.10.bb => go-cross_1.11.bb} |  0
 ...o-crosssdk_1.10.bb => go-crosssdk_1.11.bb} |  0
 .../{go-native_1.10.bb => go-native_1.11.bb}  |  0
 ...{go-runtime_1.10.bb => go-runtime_1.11.bb} |  0
 .../go/{go_1.10.bb => go_1.11.bb} |  0
 17 files changed, 163 insertions(+), 246 deletions(-)
 delete mode 100644 
meta/recipes-devtools/go/go-1.10/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
 delete mode 100644 
meta/recipes-devtools/go/go-1.10/0008-cmd-internal-obj-arm64-fix-branch-too-far-with-TBZ-l.patch
 rename meta/recipes-devtools/go/{go-1.10.inc => go-1.11.inc} (74%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0001-allow-CC-and-CXX-to-have-multiple-words.patch (79%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch (85%)
 create mode 100644 
meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0004-ld-add-soname-to-shareable-objects.patch (79%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch (80%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0006-cmd-dist-separate-host-and-target-builds.patch (88%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0007-cmd-go-make-GOROOT-precious-by-default.patch (64%)
 rename meta/recipes-devtools/go/{go-1.10 => 
go-1.11}/0009-ld-replace-glibc-dynamic-linker-with-musl.patch (91%)
 rename meta/recipes-devtools/go/{go-cross-canadian_1.10.bb => 
go-cross-canadian_1.11.bb} (100%)
 rename meta/recipes-devtools/go/{go-cross_1.10.bb => go-cross_1.11.bb} (100%)
 rename meta/recipes-devtools/go/{go-crosssdk_1.10.bb => go-crosssdk_1.11.bb} 
(100%)
 rename meta/recipes-devtools/go/{go-native_1.10.bb => go-native_1.11.bb} (100%)
 rename meta/recipes-devtools/go/{go-runtime_1.10.bb => go-runtime_1.11.bb} 
(100%)
 rename meta/recipes-devtools/go/{go_1.10.bb => go_1.11.bb} (100%)

diff --git 
a/meta/recipes-devtools/go/go-1.10/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
 
b/meta/recipes-devtools/go/go-1.10/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
deleted file mode 100644
index 818fe66700..00
--- 
a/meta/recipes-devtools/go/go-1.10/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From acd179b49f1fc8d6f7f69e569fb4a56039c725a1 Mon Sep 17 00:00:00 2001
-From: Matt Madison 
-Date: Sat, 17 Feb 2018 05:24:20 -0800
-Subject: [PATCH 3/9] allow GOTOOLDIR to be overridden in the environment
-
-to allow for split host/target build roots
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Matt Madison 

- src/cmd/dist/build.go  | 4 +++-
- src/cmd/go/internal/cfg/cfg.go | 6 +-
- src/go/build/build.go  | 2 +-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 49ed80033e..afc615b5c2 100644
 a/src/cmd/dist/build.go
-+++ b/src/cmd/dist/build.go
-@@ -220,7 +220,9 @@ func xinit() {
-   workdir = xworkdir()
-   xatexit(rmworkdir)
- 
--  tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
-+  if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
-+  tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, 
gohostarch)
-+  }
- }
- 
- // compilerEnv returns a map from "goos/goarch" to the
-diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
-index 1de4f0dc79..4f6010d660 100644
 a/src/cmd/go/internal/cfg/cfg.go
-+++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -96,7 +96,11 @@ func init() {
-   // as the tool directory does not move based on environment variables.
-   // This matches the initialization of ToolDir in go/build,
-   // except for using GOROOT rather than runtime.GOROOT().
--  build.ToolDir = filepath.Join(GOROOT, 
"pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
-+  if s := os.Getenv("GOTOOLDIR"); s != "" {
-+  build.ToolDir = filepath.Clean

[OE-core] [PATCH 2/2] tcmode-default: Drop pinning go to 1.9

2018-10-18 Thread Khem Raj
This ensures that we default to latest go recipes
1.9 is not supported anymore

Signed-off-by: Khem Raj 
---
 meta/conf/distro/include/tcmode-default.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/distro/include/tcmode-default.inc 
b/meta/conf/distro/include/tcmode-default.inc
index 15daf801f1..f8da651c5b 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -29,6 +29,7 @@ GDBVERSION ?= "8.2%"
 GLIBCVERSION ?= "2.28%"
 LINUXLIBCVERSION ?= "4.18%"
 QEMUVERSION ?= "3.0%"
+GOVERSION ?= "1.11%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
 PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
@@ -69,7 +70,6 @@ PREFERRED_VERSION_qemu ?= "${QEMUVERSION}"
 PREFERRED_VERSION_qemu-native ?= "${QEMUVERSION}"
 PREFERRED_VERSION_nativesdk-qemu ?= "${QEMUVERSION}"
 
-GOVERSION ?= "1.9%"
 PREFERRED_VERSION_virtual/${TARGET_PREFIX}go ?= "${GOVERSION}"
 PREFERRED_VERSION_go-cross-${TARGET_ARCH} ?= "${GOVERSION}"
 PREFERRED_VERSION_go-crosssdk-${SDK_ARCH} ?= "${GOVERSION}"
-- 
2.19.1

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


Re: [OE-core] [PATCH v2] initscripts: populate-volatiles: Speed up processing

2018-10-18 Thread Mike Looijmans
On 12-10-18 18:24, Joshua Watt wrote:
> Checking the requirements for each volatiles file in the
> populate-volatiles script can be very slow when there are a large number
> of volatiles files, easily consuming over 80% of the processing time.
> These checks don't usually uncover any problems so concatenate all the
> volatiles files together and process them as one large file for a "fast
> path" option. This ensures that the penalty for checking the
> requirements is only incurred once. In the event that checking the
> requirements for the unified file fails, fall back to the slow process
> of checking each one individually so that the offending one can be
> skipped.
> 
> The core file is handled separately because it is responsible for
> creating the temp directory used by check_requirements and thus must
> always run first and without having its requirements checked.
> 
> [YOCTO #12949]
> 
> Signed-off-by: Joshua Watt 
> ---
>   .../initscripts-1.0/populate-volatile.sh  | 37 +--
>   1 file changed, 33 insertions(+), 4 deletions(-)
> 
> diff --git 
> a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh 
> b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> index 35316ec2baa..824f8f3a6ba 100755
> --- a/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
> @@ -112,7 +112,6 @@ check_requirements() {
>   }
>   
>   CFGFILE="$1"
> - [ `basename "${CFGFILE}"` = "${COREDEF}" ] && return 0
>   
>   TMP_INTERMED="${TMPROOT}/tmp.$$"
>   TMP_DEFINED="${TMPROOT}/tmpdefined.$$"
> @@ -154,8 +153,11 @@ check_requirements() {
>   
>   apply_cfgfile() {
>   CFGFILE="$1"
> + SKIP_REQUIREMENTS="$2"
>   
> - check_requirements "${CFGFILE}" || {
> + [ "${VERBOSE}" != "no" ] && echo "Applying ${CFGFILE}"
> +
> + [ "${SKIP_REQUIREMENTS}" == "yes" ] || check_requirements "${CFGFILE}" 
> || {
>   echo "Skipping ${CFGFILE}"
>   return 1
>   }
> @@ -231,10 +233,37 @@ then
>   sh ${ROOT_DIR}/etc/volatile.cache
>   else
>   rm -f ${ROOT_DIR}/etc/volatile.cache 
> ${ROOT_DIR}/etc/volatile.cache.build
> - for file in `ls -1 "${CFGDIR}" | sort`; do
> - apply_cfgfile "${CFGDIR}/${file}"
> +
> + # Apply the core file with out checking requirements. ${TMPROOT} is
> + # needed by check_requirements but is setup by this file, so it must be
> + # processed first and without being checked.
> + [ -e "${CFGDIR}/${COREDEF}" ] && apply_cfgfile "${CFGDIR}/${COREDEF}" 
> "yes"
> +
> + # Fast path: check_requirements is slow and most of the time doesn't
> + # find any problems. If there are a lot of config files, it is much
> + # faster to to concatenate them all together and process them once to
> + # avoid the overhead of calling check_requirements repeatedly
> + TMP_FILE="${TMPROOT}/tmp_volatile.$$"
> + rm -f "$TMP_FILE"
> +
> + CFGFILES="`ls -1 "${CFGDIR}" | grep -v "^${COREDEF}\$" | sort`"
> + for file in ${CFGFILES}; do
> + cat "${CFGDIR}/${file}" >> "$TMP_FILE"
>   done

You can replace that loop with this:

cat `ls -1 "${CFGDIR}" | grep -v "^${COREDEF}\$" | sort` > "$TMP_FILE"

(And the ">" instead of ">>" makes that you can remove the "rm" command as 
well.)

>   
> + if check_requirements "$TMP_FILE"
> + then
> + apply_cfgfile "$TMP_FILE" "yes"
> + else
> + # Slow path: One or more config files failed requirements.
> + # Process each one individually so the offending one can be
> + # skipped
> + for file in ${CFGFILES}; do
> + apply_cfgfile "${CFGDIR}/${file}"
> + done
> + fi
> + rm "$TMP_FILE"
> +
>   [ -e ${ROOT_DIR}/etc/volatile.cache.build ] && sync && mv 
> ${ROOT_DIR}/etc/volatile.cache.build ${ROOT_DIR}/etc/volatile.cache
>   fi
>   
> 

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


Re: [OE-core] [PATCH] valgrind: update from 3.13.0 to 3.14.0

2018-10-18 Thread Randy MacLeod

On 10/18/18 1:51 PM, Khem Raj wrote:

On Thu, Oct 18, 2018 at 5:02 AM Richard Purdie
 wrote:


On #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)

Tue, 2018-10-16 at 22:22 -0400, Randy MacLeod wrote:

Removed patches are all upstream.
Adjusted two patches due to rebase.

Signed-off-by: Randy MacLeod 


I set the autobuilder at this and it fails in musl in
do_compile_ptest_base:

https://autobuilder.yoctoproject.org/typhoon/#/builders/27/builds/126/steps/7/logs/step1b



yeah using  __GLIBC_PREREQ needs to be wrapped in

#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)

#endif


For v2 I'll fix the build for musl and
remove that unused patch that patchworks pointed out.

All the glibc builds succeeded except for arm and mips64
which were not supported by the recipe. I'll check on that
with the new version of valgrind at some point, likely on
master-wr-> 2.6.1.



Here is the pass rate compared to 2.6-M3 QA run:

Test run:   qa-3.13   vg-3.14   vg-3.13

Tests ran   558   547   538
Passed  215   287   201
Failed  343   260   337
Passrate38.53 52.5  37.4
Last Passrate   49.1

where:
  qa-3.13 is from the 2.6-M3 QA report
  vg-3.14 is this update and
  vg-3.13 is with this update removed using poky at:
 3b77e7b785 systemtap: Fix issues from 4.0 upgrade

So the ptest results really are better and they are even
better than the last pass rate that QA reported.
Nonetheless, a 52.5% pass rate isn't good enough so
I'll work on that for master-wr with backports to 2.6.1.

../Randy



Some notes and more raw data than presented above.

BTW, I allocated 4G RAM to the qemu machine
after running with the default and seeing the OOM killer
run many times. I wonder if the QA test doesn't allocate
enough RAM to deal with valgrind's high overhead.


The ptests summary using:
qemux86-64 using core-image-full-cmdline and
40GB extra FS in the image and running:
$ runqemu nographic slirp kvm qemuparams="-m 4096"

valgrind-3.14 is:
=== Test Summary ===
TOTAL: 579
PASSED: 287
FAILED: 260
SKIPPED: 32

with valgrind-3.13:

=== Test Summary ===
TOTAL: 570
PASSED: 201
FAILED: 337
SKIPPED: 32





Cheers,

Richard

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



--
# 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 1/4] systemd: Remove items that made this machine (qemu) specific

2018-10-18 Thread Richard Purdie
On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
> Create a new systemd-conf recipe to contain the specific system/machine
> configuration items.  This new package is now machine specific.
> 
> Without doing this trying to create a single system with multiple BSPs,
> one of which was qemu based, would result in the systemd -and- everything that
> dependend upon systemd to have their hash changed.  The hash changing means
> lots of rebuilds, but worse if it's a package based system each different
> machine ends with a new PR value and a newly generated package.
> 
> Signed-off-by: Mark Hatle 
> ---
>  meta/recipes-core/systemd/systemd-conf.bb | 51 +++
>  ...ange-the-default-device-timeout-to-2.patch | 35 -
>  meta/recipes-core/systemd/systemd_239.bb  | 28 --
>  3 files changed, 60 insertions(+), 54 deletions(-)
>  create mode 100644 meta/recipes-core/systemd/systemd-conf.bb
>  delete mode 100644 
> meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
> 

With this patch, when systemd is enabled, it causes checksum issues:

$ oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs

Its fixed by:

diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 6221a057ce6..504f7fa07ad 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -74,6 +74,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   gnome-icon-theme->librsvg \
   font-alias->font-util \
   systemd-boot->systemd-bootconf \
+  systemd->systemd-conf \
   weston-init->weston \
   weston-init->kbd \
 "

Cheers,

Richard

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


Re: [OE-core] [PATCH 2/5] oeqa/core/runner: write testresult to json files

2018-10-18 Thread richard . purdie
On Thu, 2018-10-18 at 09:47 +, Yeoh, Ee Peng wrote:
> Thank you very much for your great feedbacks and inputs!
> I had completed the refactor and resubmitted the patches as below. 
> Please let me know if any more feedbacks and inputs!

Thanks for the revised series, its looking very much improved! I've
queued 1/5 onto the autobuilder and its tested ok so that will likely
merge.

I still have a few concerns about the data format for 2/5.

@@ -249,3 +256,24 @@ class OETestRunner(_TestRunner):
>  self._list_tests_module(suite)
>  
>  return OEListTestsResult()
> +
> +class OETestResultJSONHelper(object):
> +
> +def _create_json_testresult_string(self, test_results, 
> test_environments):
> +testcase_dict = {}
> +for testcase in sorted(test_results):
> +testcase_dict[testcase] = {"testresult": 
> test_results[testcase][0], "log": test_results[testcase][1]}
> +testresult_object = {'testenvironment': test_environments,
> + 'testcase': testcase_dict}

I'd like to be able to store more than one set of results in a single
json file. In order to make that work, the above format will need
tweaking slightly. Something like:

testresult_object = {resultid : {'configuration': test_environments,
  'results': testcase_dict}}

where resultid would be something like 
"imagetest-qemux86-core-image-sato-YYMMDDHHMMSS" 
and passed in to the function by the call site. It'd be similar to the
other log file the tests generate. We could also perhaps use pid
instead of a timestamp in there. A timestamp would be good in the
configuration section.

Also, we need to record which revision of the configured layers this
test result was with. The get_layers_branch_rev() function in
base.bbclass should give an idea of how to get this information using
existing functions.

> +return json.dumps(testresult_object, sort_keys=True, indent=4)
> +
> +def _write_file(self, write_dir, file_name, file_content):
> +file_path = os.path.join(write_dir, file_name)
> +with open(file_path, 'w') as the_file:
> +the_file.write(file_content)
> +
> +def dump_testresult_file(self, test_results, test_environments, 
> write_dir):
> +if not os.path.exists(write_dir):

No need for this if test here since mkdirhier handles that.

> +bb.utils.mkdirhier(write_dir)
> +json_testresult = self._create_json_testresult_string(test_results, 
> test_environments)
> +self._write_file(write_dir, 'testresults.json', json_testresult)

As mentioned above, I'd really like if if we could put all the test
results into one json file as this would save the autobuilder having to
combine them all. That should be straight forward to do but we need to
be careful about races.

This means locking a lockfile alongside the results file which we can
do with bb.utils.lockfile() call, then writing the results, then
calling unlockfile().

With regard to the other patches, for selftest we do need to log which
MACHINE/DISTRO was used.

DISTRO and IMAGE_PKGTYPE also needs adding to testimage and SDKMACHINE
and IMAGE_PKGTYPE to testsdk.

Cheers,

Richard

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


Re: [OE-core] Missing venv module in Python 3

2018-10-18 Thread Jonathan Haigh
Hi Ross,
Thank you for you prompt reply.

Apologies if I was not clear enough in my previous message.

python3-pyvenv is indeed a package that gets built with python3. However, 
pyvenv is just a short script that imports the venv module. Including the 
python3-pyvenv package does not solve the issue as the creation of a virtual 
environment using "python3 -m venv my_env" or "pyvenv my_env" results in a 
error about the missing venv module.

See the entire content of pyvenv:
---
#! /usr/bin/python3.5
if __name__ == '__main__':
import sys
rc = 1
try:
import venv
venv.main()
rc = 0
except Exception as e:
print('Error: %s' % e, file=sys.stderr)
sys.exit(rc)


The venv package (https://docs.python.org/3/library/venv.html) itself is 
missing although its source is available within Python 3.5 
(https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz). As mentioned 
earlier, it seems the issue is because there is no entry in the manifest from 
which the various Python 3 modules are created 
(https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/python/python3/python3-manifest.json).

The manifest is generated from 
https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/python/python3/create_manifest3.py,
 and it does not seem obvious to me how to go about correctly adding a new 
module to the manifest, using create_manifest3.py or otherwise.

Can you, or others on the mailing list, provide some guidance on how to go 
about adding the venv module to the manifest?

Regards,

Hugues/Jonathan



From: Burton, Ross 
Sent: 18 October 2018 14:56
To: Jonathan Haigh
Cc: OE-core; Jeremy Johnson; Alejandro Enedino Hernandez Samaniego; Hugues Kamba
Subject: Re: [OE-core] Missing venv module in Python 3

venv is packaged in python3-pyvenv.  Patches welcome to get that
installed out of the box.

Ross
On Thu, 18 Oct 2018 at 14:35, Jonathan Haigh  wrote:
>
> Hello,
>
> I have noticed that the venv module is not available with Python 3 in Yocto.
> This is possibly because there is no entry for it in 
> openembedded-core/meta/recipes-devtools/python/python3/python3-manifest.json
>
> Could  you please provide guidance or a fix to make the module available?
>
> Thank you
>
> Jonathan Haigh on behalf of Hugues Kamba
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v4 2/4] cmake.bbclass: search both sysroot-native and host for native packages

2018-10-18 Thread Burton, Ross
On Thu, 18 Oct 2018 at 16:05, Pascal Bach  wrote:
> > My suspicion is that for systems where the host has python3-devel
> > installed, libcomp-native's cmake is using the host python instead of
> > the native python in the sysroot.  I'm not sure yet if BOTH means it
> > searches the host before the sysroots, or if it is finding the python
> > binary in HOSTTOOLS and then asking that what the paths are.  Either
> > way, it ends up linking to the host libpython3.5.so and going into
> > sstate.  Another machine in the pool reuses this sstate but it doesn't
> > have Python 3.6 installed, so the library link is broken.
> That is definitively not the intention here.
>
> For target builds it is pretty clear that there should be no usage of host 
> dependencies.
> For native it is not so clear to me. There seems to be some dependencies like 
> the compiler and associated libs.

I think ensuring the ordering for native searches is sysroot then host
would be sufficient.

> What I'm traying to solve here was to get rid of these two lines in the 
> wireshark recipe [1]:
>
> -DM_INCLUDE_DIR=${includedir} \
> -DM_LIBRARY=${libdir} \
>
> As they effectively add /usr/include and /usr/lib to the search path of cmake.

Well that's terrifying.  What is that trying to solve?  It's building
for the target, right? So why is it passing host paths?

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


Re: [OE-core] [PATCH] valgrind: update from 3.13.0 to 3.14.0

2018-10-18 Thread Khem Raj
On Thu, Oct 18, 2018 at 5:02 AM Richard Purdie
 wrote:
>
> On #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
Tue, 2018-10-16 at 22:22 -0400, Randy MacLeod wrote:
> > Removed patches are all upstream.
> > Adjusted two patches due to rebase.
> >
> > Signed-off-by: Randy MacLeod 
>
> I set the autobuilder at this and it fails in musl in
> do_compile_ptest_base:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/27/builds/126/steps/7/logs/step1b
>

yeah using  __GLIBC_PREREQ needs to be wrapped in

#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)

#endif

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


[OE-core] [PATCH 1/1] udev-hwdb: fix postinstall scripts failures when multilib enabled

2018-10-18 Thread kai.kang
From: Kai Kang 

When multilib is enabled and both udev-hwdb and ${MLPREFIX}udev-hwdb are
installed to image, it fails to run one of their postinstall scripts
that they both call ${base_bindir}/udevadm with same user mode qemu.

Duplicate udevadm and add postinst-intercept update_udev_hwdb to fix the
failures.

Signed-off-by: Kai Kang 
---
 meta/recipes-core/systemd/systemd_239.bb | 13 ++---
 meta/recipes-core/udev/eudev_3.2.5.bb| 11 +--
 scripts/postinst-intercepts/update_udev_hwdb |  6 ++
 3 files changed, 17 insertions(+), 13 deletions(-)
 create mode 100644 scripts/postinst-intercepts/update_udev_hwdb

diff --git a/meta/recipes-core/systemd/systemd_239.bb 
b/meta/recipes-core/systemd/systemd_239.bb
index 7ed932141d..44e972ebce 100644
--- a/meta/recipes-core/systemd/systemd_239.bb
+++ b/meta/recipes-core/systemd/systemd_239.bb
@@ -284,6 +284,10 @@ do_install() {
chown polkitd:root ${D}${datadir}/polkit-1/rules.d
fi
fi
+
+   # duplicate udevadm for postinst script
+   install -d ${D}${libexecdir}
+   ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
 }
 
 
@@ -542,6 +546,7 @@ FILES_udev += "${base_sbindir}/udevd \
${systemd_unitdir}/system/*udev* \
${systemd_unitdir}/system/*.wants/*udev* \
${base_bindir}/udevadm \
+   ${libexecdir}/${MLPREFIX}udevadm \
${datadir}/bash-completion/completions/udevadm \
   "
 
@@ -580,13 +585,7 @@ pkg_prerm_${PN} () {
 PACKAGE_WRITE_DEPS += "qemu-native"
 pkg_postinst_udev-hwdb () {
if test -n "$D"; then
-   if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 
'true','false', d)}; then
-   ${@qemu_run_binary(d, '$D', '${base_bindir}/udevadm')} 
hwdb --update \
-   --root $D
-   chown root:root $D${sysconfdir}/udev/hwdb.bin
-   else
-   $INTERCEPT_DIR/postinst_intercept delay_to_first_boot 
${PKG} mlprefix=${MLPREFIX}
-   fi
+   $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} 
mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
else
udevadm hwdb --update
fi
diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb 
b/meta/recipes-core/udev/eudev_3.2.5.bb
index efd62c6495..592dd8f22a 100644
--- a/meta/recipes-core/udev/eudev_3.2.5.bb
+++ b/meta/recipes-core/udev/eudev_3.2.5.bb
@@ -50,6 +50,10 @@ do_install_append() {
 
# hid2hci has moved to bluez4. removed in udev as of version 169
rm -f ${D}${base_libdir}/udev/hid2hci
+
+   # duplicate udevadm for postinst script
+   install -d ${D}${libexecdir}
+   ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
 }
 
 do_install_prepend_class-target () {
@@ -81,12 +85,7 @@ RPROVIDES_eudev-hwdb += "udev-hwdb"
 PACKAGE_WRITE_DEPS += "qemu-native"
 pkg_postinst_eudev-hwdb () {
 if test -n "$D"; then
-if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 
'true','false', d)}; then
-${@qemu_run_binary(d, '$D', '${bindir}/udevadm')} hwdb --update 
--root $D
-chown root:root $D${sysconfdir}/udev/hwdb.bin
-else
-$INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} 
mlprefix=${MLPREFIX}
-fi
+$INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} 
mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
 else
 udevadm hwdb --update
 fi
diff --git a/scripts/postinst-intercepts/update_udev_hwdb 
b/scripts/postinst-intercepts/update_udev_hwdb
new file mode 100644
index 00..b5cce0a09d
--- /dev/null
+++ b/scripts/postinst-intercepts/update_udev_hwdb
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+set -e
+
+PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D 
$D${libexecdir}/${binprefix}udevadm hwdb --update --root $D
+chown root:root $D${sysconfdir}/udev/hwdb.bin
-- 
2.18.0

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


[OE-core] [PATCH 0/1] udev-hwdb: fix postinstall scripts failures when multilib enabled

2018-10-18 Thread kai.kang
From: Kai Kang 

The following changes since commit 4ef016683d986cc5291e494789ff5a49b28030eb:

  bitbake: test/data: Add new tests for task checksum changing/not changing 
(2018-10-18 10:59:27 +0100)

are available in the Git repository at:

  git://git.pokylinux.org/poky-contrib kangkai/udev
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/udev

Kai Kang (1):
  udev-hwdb: fix postinstall scripts failures when multilib enabled

 meta/recipes-core/systemd/systemd_239.bb | 13 ++---
 meta/recipes-core/udev/eudev_3.2.5.bb| 11 +--
 scripts/postinst-intercepts/update_udev_hwdb |  6 ++
 3 files changed, 17 insertions(+), 13 deletions(-)
 create mode 100644 scripts/postinst-intercepts/update_udev_hwdb

-- 
2.18.0

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


Re: [OE-core] [PATCH 1/2] meta/classes/testexport: Use manfiest filenames for package and testdata

2018-10-18 Thread richard . purdie
On Wed, 2018-10-17 at 18:00 -0500, Aníbal Limón wrote:
> Is clear to know for what image and machine the testexport package
> manifest and testdata was build.
> 
> Signed-off-by: Aníbal Limón 
> ---
>  meta/classes/testexport.bbclass  | 4 ++--
>  meta/lib/oeqa/runtime/context.py | 9 +++--
>  2 files changed, 9 insertions(+), 4 deletions(-)

I think this breaks oe-selftest:

https://autobuilder.yoctoproject.org/typhoon/#/builders/28/builds/132/steps/7/logs/step2d

Cheers,

Richard

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


Re: [OE-core] [PATCH 3/4] weston: Remove machine specific append

2018-10-18 Thread Mark Hatle
On 10/18/18 5:24 AM, Burton, Ross wrote:
> On Wed, 17 Oct 2018 at 17:44, Mark Hatle  wrote:
>> -EXTRA_OECONF_append_qemux86 = "\
>> +EXTRA_OECONF_append_x86 = "\
>> WESTON_NATIVE_BACKEND=fbdev-backend.so \
>> "
> 
> This forces all x86 Westons that are not running inside X11 to use
> fbdev instead of drm.
> 
> Two questions:
> 1) does qemu still need fbdev or does virtio/drm work now?  (iirc, we
> still have a crippled qemu here)
> 2) Can this be overridden in a config file instead

I did not understand how to do this.  The alternative I see then is to make this
a machine_arch package.. since the configuration can change?

(I'm not very familiar with this part of the system.)

--Mark

> Ross
> 

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


Re: [OE-core] [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific

2018-10-18 Thread Mark Hatle
On 10/18/18 3:53 AM, ChenQi wrote:
> On 10/18/2018 12:43 AM, Mark Hatle wrote:
>> Create a new systemd-conf recipe to contain the specific system/machine
>> configuration items.  This new package is now machine specific.
>>
>> Without doing this trying to create a single system with multiple BSPs,
>> one of which was qemu based, would result in the systemd -and- everything 
>> that
>> dependend upon systemd to have their hash changed.  The hash changing means
>> lots of rebuilds, but worse if it's a package based system each different
>> machine ends with a new PR value and a newly generated package.
>>
>> Signed-off-by: Mark Hatle 
>> ---
>>   meta/recipes-core/systemd/systemd-conf.bb | 51 +++
>>   ...ange-the-default-device-timeout-to-2.patch | 35 -
>>   meta/recipes-core/systemd/systemd_239.bb  | 28 --
>>   3 files changed, 60 insertions(+), 54 deletions(-)
>>   create mode 100644 meta/recipes-core/systemd/systemd-conf.bb
>>   delete mode 100644 
>> meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>>
>> diff --git a/meta/recipes-core/systemd/systemd-conf.bb 
>> b/meta/recipes-core/systemd/systemd-conf.bb
>> new file mode 100644
>> index 00..d39742b3a8
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd-conf.bb
>> @@ -0,0 +1,51 @@
>> +require systemd.inc
>> +
>> +SUMMARY = "Systemd system configuration"
>> +DESCRIPTION = "Systemd may require slightly different configuration for \
>> +different machines.  For example, qemu machines require a longer \
>> +DefaultTimeoutStartSec setting."
>> +
>> +PACKAGE_ARCH = "${MACHINE_ARCH}"
>> +
>> +CONFFILES_${PN} = "${sysconfdir}/machine-id \
>> +${sysconfdir}/systemd/coredump.conf \
>> +${sysconfdir}/systemd/journald.conf \
>> +${sysconfdir}/systemd/logind.conf \
>> +${sysconfdir}/systemd/system.conf \
>> +${sysconfdir}/systemd/user.conf"
>> +
>> +FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd"
>> +
>> +do_compile[noexec] = '1'
>> +
>> +do_install() {
>> +install -d ${D}/${sysconfdir}/systemd
>> +
>> +# Create machine-id
>> +# 20:12 < mezcalero> koen: you have three options: a) run 
>> systemd-machine-id-setup at install time, b) have / read-only and an empty 
>> file there (for stateless) and c) boot with / writable
>> +touch ${D}${sysconfdir}/machine-id
>> +
>> +install -m 0644 ${S}/src/coredump/coredump.conf 
>> ${D}${sysconfdir}/systemd/coredump.conf
>> +
>> +install -m 0644 ${S}/src/journal/journald.conf 
>> ${D}${sysconfdir}/systemd/journald.conf
>> +# Enable journal to forward message to syslog daemon
>> +sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' 
>> ${D}${sysconfdir}/systemd/journald.conf
>> +# Set the maximium size of runtime journal to 64M as default
>> +sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' 
>> ${D}${sysconfdir}/systemd/journald.conf
>> +
>> +install -m 0644 ${S}/src/login/logind.conf.in 
>> ${D}${sysconfdir}/systemd/logind.conf
>> +# Set KILL_USER_PROCESSES to yes
>> +sed -i -e 's/@KILL_USER_PROCESSES@/yes/' 
>> ${D}${sysconfdir}/systemd/logind.conf
>> +
>> +install -m 0644 ${S}/src/core/system.conf.in 
>> ${D}${sysconfdir}/systemd/system.conf
>> +# Set MEMORY_ACCOUNTING_DEFAULT to yes
>> +sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' 
>> ${D}${sysconfdir}/systemd/system.conf
>> +
>> +install -m 0644 ${S}/src/core/user.conf 
>> ${D}${sysconfdir}/systemd/user.conf
>> +}
>> +
>> +# Based on change from YP bug 8141, OE commit 
>> 5196d7bacaef1076c361adaa2867be31759c1b52
>> +do_install_append_qemuall() {
>> +# Change DefaultTimeoutStartSec from 90s to 240s
>> +echo "DefaultTimeoutStartSec = 240s"
>> +}
> 
> Seems to miss something like ">> ${D}${sysconfdir}/systemd/system.conf" ?

I will update the commit.  Good catch.

--Mark

> Best Regards,
> Chen Qi
> 
>> diff --git 
>> a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>>  
>> b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>> deleted file mode 100644
>> index fd7bf3fcf6..00
>> --- 
>> a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>> +++ /dev/null
>> @@ -1,35 +0,0 @@
>> -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001
>> -From: Chen Qi 
>> -Date: Thu, 28 Jun 2018 10:56:29 +0800
>> -Subject: [PATCH] core/device.c: Change the default device timeout to 240 
>> sec.
>> - MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8
>> - Content-Transfer-Encoding: 8bit
>> -MIME-Version: 1.0
>> -Content-Type: text/plain; charset=UTF-8
>> -Content-Transfer-Encoding: 8bit
>> -
>> -Upstream-Status: Inappropriate [Specific case QEMU/AB]
>> -
>> -Signed-off-by: Aníbal Limón 
>> -Signed-off-by: Khem Raj 
>> -Signed-off-by: Chen Qi 
>> 
>> - src/core/device.c | 2 +-
>> - 1 file changed, 1 insertion(+), 1 d

Re: [OE-core] Missing venv module in Python 3

2018-10-18 Thread Burton, Ross
On Thu, 18 Oct 2018 at 16:19, Jonathan Haigh  wrote:
> The venv package (https://docs.python.org/3/library/venv.html) itself is 
> missing although its source is available within Python 3.5 
> (https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz). As mentioned 
> earlier, it seems the issue is because there is no entry in the manifest from 
> which the various Python 3 modules are created 
> (https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/python/python3/python3-manifest.json).
>
> The manifest is generated from 
> https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-devtools/python/python3/create_manifest3.py,
>  and it does not seem obvious to me how to go about correctly adding a new 
> module to the manifest, using create_manifest3.py or otherwise.

Ah, right.

In that case:

$ oe-pkgdata-util find-path */*venv*py
python3-tests: /usr/lib/python3.5/test/test_venv.py
python3-misc: /usr/lib/python3.5/venv/__main__.py
python3-misc: /usr/lib/python3.5/venv/__init__.py

The files are in the python3-misc package, which is the fallback for
everything which isn't explicitly put into another package.  I'd say
the best fix for this would be to edit the manifest so the venv module
goes into the python3-pyvenv package too.

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


Re: [OE-core] [PATCH v4 0/4] cmake.bbclass improvements

2018-10-18 Thread Khem Raj
On Thu, Oct 18, 2018 at 7:58 AM Pascal Bach  wrote:
>
>
> On 17.10.2018 20:50, Khem Raj wrote:
> > On Wed, Oct 17, 2018 at 3:43 AM Pascal Bach  wrote:
> >> This patchset is unmodified from v3. It is just rebased on top of master 
> >> which
> >> already includes a fixed version of libproxy and piglit.
> >>
> >> I built all cmake based recipes in oe-core (qemuarm64) and did not find 
> >> any more issues.
> >>
> > Can you run world builds on meta-openembedded repositories with
> > this series applied and also compile some other large projects which
> > use cmake like meta-browser
> I can try but usually I get into trouble with the proxy because there are 
> always some recipes that fetch from some location via some protocol that 
> doesn't work.

Once the current cycle of builds is done on OE
builders I will try to schedule this in OE builds and
see where it ends up. hopefully by this weekend.

>
> >
> >> Pascal Bach (4):
> >>   cmake.bbclass: use CMAKE_SYSTEM_LIBRARY_PATH instead of
> >> CMAKE_LIBRARY_PATH
> >>   cmake.bbclass: search both sysroot-native and host for native packages
> >>   cmake.bbclass: move CMAKE_NO_SYSTEM_FROM_IMPORTED to toolchain.cmake
> >>   cmake.bbclass: allow cmake to find hosttools
> >>
> >>  meta/classes/cmake.bbclass | 24 +++-
> >>  1 file changed, 15 insertions(+), 9 deletions(-)
> >>
> >> --
> >> 2.11.0
> >>
> >> --
> >> ___
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] os-release: move to nonarch_libdir

2018-10-18 Thread Dan McGregor
From: Dan McGregor 

Even on multilib systems, /usr/lib is where systemd expects the
os-release file to live.

Signed-off-by: Dan McGregor 
---
 meta/recipes-core/os-release/os-release.bb | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/os-release/os-release.bb 
b/meta/recipes-core/os-release/os-release.bb
index bf4f815a10d..7f3d9cba00c 100644
--- a/meta/recipes-core/os-release/os-release.bb
+++ b/meta/recipes-core/os-release/os-release.bb
@@ -42,9 +42,9 @@ python do_compile () {
 do_compile[vardeps] += "${OS_RELEASE_FIELDS}"
 
 do_install () {
-install -d ${D}${libdir} ${D}${sysconfdir}
-install -m 0644 os-release ${D}${libdir}/
-lnr ${D}${libdir}/os-release ${D}${sysconfdir}/os-release
+install -d ${D}${nonarch_libdir} ${D}${sysconfdir}
+install -m 0644 os-release ${D}${nonarch_libdir}/
+lnr ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
 }
 
-FILES_${PN} += "${libdir}/os-release"
+FILES_${PN} += "${nonarch_libdir}/os-release"
-- 
2.19.0-dev

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


[OE-core] [PATCH v2] util-linux: alternatify cal, rev, and ionice

2018-10-18 Thread Dan McGregor
From: Dan McGregor 

These are also provided by toybox in its default configuration,
and can be turned on in busybox.

Signed-off-by: Dan McGregor 
---
 meta/recipes-core/util-linux/util-linux.inc | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/util-linux/util-linux.inc 
b/meta/recipes-core/util-linux/util-linux.inc
index 3d8b3ff592c..2f99e8409f5 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -93,7 +93,7 @@ FILES_util-linux-findfs = "${sbindir}/findfs"
 FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}"
 FILES_util-linux-runuser = "${sbindir}/runuser"
 FILES_util-linux-prlimit = "${bindir}/prlimit"
-FILES_util-linux-ionice = "${bindir}/ionice"
+FILES_util-linux-ionice = "${bindir}/ionice.${BPN}"
 FILES_util-linux-su = "${bindir}/su.util-linux ${sysconfdir}/pam.d/su-l"
 CONFFILES_util-linux-su = "${sysconfdir}/pam.d/su-l"
 
@@ -209,7 +209,7 @@ ALTERNATIVE_${PN}  = " \
 dmesg kill more mkswap blockdev pivot_root \
 hexdump last lastb logger mesg renice wall \
 setsid chrt flock utmpdump eject nologin taskset fallocate \
-fsfreeze nsenter \
+fsfreeze nsenter cal rev \
 "
 
 ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
@@ -218,8 +218,10 @@ ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
 ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
 ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
 ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
+ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
 ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
 ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate"
+ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
 ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
 ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
 
@@ -293,8 +295,8 @@ ALTERNATIVE_LINK_NAME[mountpoint] = 
"${base_bindir}/mountpoint"
 ALTERNATIVE_util-linux-unshare = "unshare"
 ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
 
-ALTERNATIVE_util-linux-switch-root = "switch_root"
-ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
+ALTERNATIVE_util-linux-ionice = "ionice"
+ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
 
 BBCLASSEXTEND = "native nativesdk"
 
-- 
2.19.0-dev

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


Re: [OE-core] [PATCH v4 2/4] cmake.bbclass: search both sysroot-native and host for native packages

2018-10-18 Thread Pascal Bach


On 17.10.2018 18:24, Burton, Ross wrote:
> I think I figured out why we're seeing odd failures on the
> autobuilder, such as
> https://autobuilder.yoctoproject.org/typhoon/#/builders/15/builds/125.
>
> The important bit of the log is:
>
> File 
> "/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/qemux86-poky-linux-musl/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/lib/python3.5/site-packages/libcomps/__init__.py",
> line 1, in 
> from ._libpycomps import *
> ImportError: libpython3.6m.so.1.0: cannot open shared object file: No
> such file or directory
>
> The smoking gun is that oe-core doesn't have Python 3.6, but 3.5.
>
> My suspicion is that for systems where the host has python3-devel
> installed, libcomp-native's cmake is using the host python instead of
> the native python in the sysroot.  I'm not sure yet if BOTH means it
> searches the host before the sysroots, or if it is finding the python
> binary in HOSTTOOLS and then asking that what the paths are.  Either
> way, it ends up linking to the host libpython3.5.so and going into
> sstate.  Another machine in the pool reuses this sstate but it doesn't
> have Python 3.6 installed, so the library link is broken.
That is definitively not the intention here.

For target builds it is pretty clear that there should be no usage of host 
dependencies.
For native it is not so clear to me. There seems to be some dependencies like 
the compiler and associated libs.

Maybe there is a way to bring this in a different way that is more selective 
instead of a general fallback to host as it would be with this patch?

What I'm traying to solve here was to get rid of these two lines in the 
wireshark recipe [1]:

-DM_INCLUDE_DIR=${includedir} \
-DM_LIBRARY=${libdir} \

As they effectively add /usr/include and /usr/lib to the search path of cmake.

Any toughts?

Pascal

[1] 
http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-support/wireshark/wireshark_2.6.2.bb?h=master#n62
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v4 0/4] cmake.bbclass improvements

2018-10-18 Thread Pascal Bach


On 17.10.2018 20:50, Khem Raj wrote:
> On Wed, Oct 17, 2018 at 3:43 AM Pascal Bach  wrote:
>> This patchset is unmodified from v3. It is just rebased on top of master 
>> which
>> already includes a fixed version of libproxy and piglit.
>>
>> I built all cmake based recipes in oe-core (qemuarm64) and did not find any 
>> more issues.
>>
> Can you run world builds on meta-openembedded repositories with
> this series applied and also compile some other large projects which
> use cmake like meta-browser
I can try but usually I get into trouble with the proxy because there are 
always some recipes that fetch from some location via some protocol that 
doesn't work.

>
>> Pascal Bach (4):
>>   cmake.bbclass: use CMAKE_SYSTEM_LIBRARY_PATH instead of
>> CMAKE_LIBRARY_PATH
>>   cmake.bbclass: search both sysroot-native and host for native packages
>>   cmake.bbclass: move CMAKE_NO_SYSTEM_FROM_IMPORTED to toolchain.cmake
>>   cmake.bbclass: allow cmake to find hosttools
>>
>>  meta/classes/cmake.bbclass | 24 +++-
>>  1 file changed, 15 insertions(+), 9 deletions(-)
>>
>> --
>> 2.11.0
>>
>> --
>> ___
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core

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


Re: [OE-core] Missing venv module in Python 3

2018-10-18 Thread Burton, Ross
venv is packaged in python3-pyvenv.  Patches welcome to get that
installed out of the box.

Ross
On Thu, 18 Oct 2018 at 14:35, Jonathan Haigh  wrote:
>
> Hello,
>
> I have noticed that the venv module is not available with Python 3 in Yocto.
> This is possibly because there is no entry for it in 
> openembedded-core/meta/recipes-devtools/python/python3/python3-manifest.json
>
> Could  you please provide guidance or a fix to make the module available?
>
> Thank you
>
> Jonathan Haigh on behalf of Hugues Kamba
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] Missing venv module in Python 3

2018-10-18 Thread Jonathan Haigh
Hello,

I have noticed that the venv module is not available with Python 3 in Yocto.
This is possibly because there is no entry for it in 
openembedded-core/meta/recipes-devtools/python/python3/python3-manifest.json

Could  you please provide guidance or a fix to make the module available?

Thank you

Jonathan Haigh on behalf of Hugues Kamba
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] perf: fix do_compile failure with /tmp mounted with noexec

2018-10-18 Thread Hongxu Jia
On a builder which has /tmp mounted nexec, the ARM64 generation of
the sycall table will fail:
[snip]
|perf-1.0/tools/perf/arch/arm64/entry/syscalls//mksyscalltbl:
/tmp/create-table-6VGPSt: Permission denied
[snip]

To avoid the permission denied error, we must instruct the perf build
to place temporary files in an appropriate directory (versus always
using /tmp). To do this, we need both a kernel source change to perf,
and a recipe change to pass the temp directory in by a TMPDIR variable.

The linux-yocto has a reference kernel change: [perf arm64: Fix generate
system call table failed with /tmp mounted with noexec], that has also
been submitted upstream mailing list linux-perf-us...@vger.kernel.org

Signed-off-by: Hongxu Jia 
Reviewed-by: Bruce Ashfield 
---
 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 586422f..af09904 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -75,6 +75,7 @@ EXTRA_OEMAKE = '\
 perfexecdir=${libexecdir} \
 NO_GTK2=1 \
 ${PACKAGECONFIG_CONFARGS} \
+TMPDIR="${B}" \
 '
 
 EXTRA_OEMAKE += "\
-- 
2.10.2

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


Re: [OE-core] [PATCH] valgrind: update from 3.13.0 to 3.14.0

2018-10-18 Thread Richard Purdie
On Tue, 2018-10-16 at 22:22 -0400, Randy MacLeod wrote:
> Removed patches are all upstream.
> Adjusted two patches due to rebase.
> 
> Signed-off-by: Randy MacLeod 

I set the autobuilder at this and it fails in musl in
do_compile_ptest_base:

https://autobuilder.yoctoproject.org/typhoon/#/builders/27/builds/126/steps/7/logs/step1b

Cheers,

Richard

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


Re: [OE-core] [PATCH 4/4] gstreamer: Remove machine specific append

2018-10-18 Thread Richard Purdie
On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
> If you try to build a system with multiple BSPs, one of which is qemux86
> or qemux86-64, the gstreamer package will change.  This will trigger
> anything using gstream to also be rebuilt.
> 
> For a package based system, the PR values will also be incremented each
> time.  The end result will be an ever growing set of PR values as well as
> being unable to tell which configured version of the multimedia components
> are really being deployed.
> 
> The solution here was to remove the rrecommend for consistency.
> 
> Signed-off-by: Mark Hatle 
> ---
>  meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb 
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> index 7f291f6630..3a6e53de04 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> @@ -55,8 +55,6 @@ FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
>  FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a 
> ${libdir}/gstreamer-1.0/include"
>  FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ 
> ${datadir}/bash-completion/helpers/gst*"
>  
> -RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 
> kernel-module-snd-rawmidi"
> -RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 
> kernel-module-snd-rawmidi"
>  RDEPENDS_${PN}-ptest += "make"


We can't just delete these, they need moving to the machine conf files
instead. Since we need to build M4 soon and this is a problem, I've put
a patch into master-next which does this for testing.

Cheers,

Richard


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


[OE-core] [PATCH] packagegroup-core-tools-profile: disable valgrind on arc

2018-10-18 Thread Alexey Brodkin
As of today there's no port of Valgrind for ARC so disabling it.

Signed-off-by: Alexey Brodkin 
---
 meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb 
b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 520d907714..4ec1f9284f 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -55,6 +55,7 @@ VALGRIND = "valgrind"
 VALGRIND_libc-musl = ""
 VALGRIND_mipsarch = ""
 VALGRIND_nios2 = ""
+VALGRIND_arc = ""
 VALGRIND_armv4 = ""
 VALGRIND_armv5 = ""
 VALGRIND_armv6 = ""
-- 
2.16.2

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


Re: [OE-core] [PATCH 3/4] weston: Remove machine specific append

2018-10-18 Thread Burton, Ross
On Wed, 17 Oct 2018 at 17:44, Mark Hatle  wrote:
> -EXTRA_OECONF_append_qemux86 = "\
> +EXTRA_OECONF_append_x86 = "\
> WESTON_NATIVE_BACKEND=fbdev-backend.so \
> "

This forces all x86 Westons that are not running inside X11 to use
fbdev instead of drm.

Two questions:
1) does qemu still need fbdev or does virtio/drm work now?  (iirc, we
still have a crippled qemu here)
2) Can this be overridden in a config file instead

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


Re: [OE-core] [PATCH 1/4] util-linux: alternatify cal, rev, and ionice

2018-10-18 Thread Burton, Ross
Can you rebase this on master?  There's been a lot of changes here recently.

Ross
On Wed, 17 Oct 2018 at 22:22, Dan McGregor  wrote:
>
> From: Dan McGregor 
>
> These are also provided by toybox in its default configuration,
> and can be turned on in busybox.
>
> Signed-off-by: Dan McGregor 
> ---
>  meta/recipes-core/util-linux/util-linux.inc | 9 +++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-core/util-linux/util-linux.inc 
> b/meta/recipes-core/util-linux/util-linux.inc
> index 60ac9c20064..35c67a8bd53 100644
> --- a/meta/recipes-core/util-linux/util-linux.inc
> +++ b/meta/recipes-core/util-linux/util-linux.inc
> @@ -93,7 +93,7 @@ FILES_util-linux-findfs = "${sbindir}/findfs"
>  FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}"
>  FILES_util-linux-runuser = "${sbindir}/runuser"
>  FILES_util-linux-prlimit = "${bindir}/prlimit"
> -FILES_util-linux-ionice = "${bindir}/ionice"
> +FILES_util-linux-ionice = "${bindir}/ionice.${BPN}"
>  FILES_util-linux-su = "${bindir}/su.util-linux ${sysconfdir}/pam.d/su-l"
>  CONFFILES_util-linux-su = "${sysconfdir}/pam.d/su-l"
>
> @@ -209,7 +209,7 @@ ALTERNATIVE_${PN}  = " \
>  dmesg kill more mkswap blockdev pivot_root switch_root \
>  hexdump last lastb logger mesg renice wall \
>  setsid chrt flock utmpdump eject nologin taskset fallocate \
> -fsfreeze nsenter \
> +fsfreeze nsenter cal rev \
>  "
>
>  ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
> @@ -219,8 +219,10 @@ ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
>  ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
>  ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
>  ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root"
> +ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
>  ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
>  ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate"
> +ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev"
>  ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze"
>  ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
>
> @@ -294,6 +296,9 @@ ALTERNATIVE_LINK_NAME[mountpoint] = 
> "${base_bindir}/mountpoint"
>  ALTERNATIVE_util-linux-unshare = "unshare"
>  ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare"
>
> +ALTERNATIVE_util-linux-ionice = "ionice"
> +ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice"
> +
>  BBCLASSEXTEND = "native nativesdk"
>
>  python do_package_prepend () {
> --
> 2.19.0-dev
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/5] oeqa/core/runner: write testresult to json files

2018-10-18 Thread Yeoh, Ee Peng
Hi Richard,

Thank you very much for your great feedbacks and inputs!
I had completed the refactor and resubmitted the patches as below. 
Please let me know if any more feedbacks and inputs!

Thanks,
Yeoh Ee Peng 

[1] 
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/156835.html
[2] 
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/156836.html
[3] 
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/156837.html
[4] 
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/156838.html
[5] 
http://lists.openembedded.org/pipermail/openembedded-core/2018-October/156839.html

-Original Message-
From: richard.pur...@linuxfoundation.org 
[mailto:richard.pur...@linuxfoundation.org] 
Sent: Monday, October 15, 2018 4:54 PM
To: Yeoh, Ee Peng ; 
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 2/5] oeqa/core/runner: write testresult to json 
files

On Mon, 2018-10-15 at 15:24 +0800, Yeoh Ee Peng wrote:
> As part of the solution to replace Testopia to store testresult, OEQA 
> need to output testresult into json file, where these json testresult 
> file will be stored in git repository by the future 
> test-case-management tools.
> 
> Both the testresult (eg. PASSED, FAILED, ERROR) and  the test log (eg. 
> message from unit test assertion) will be created for storing.
> 
> Also the library class inside this patch will be reused by the future 
> test-case-management tools to write json testresult for manual test 
> case executed.
> 
> Signed-off-by: Yeoh Ee Peng 
> ---
>  meta/lib/oeqa/core/runner.py | 64 
> +++-
>  1 file changed, 63 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/lib/oeqa/core/runner.py 
> b/meta/lib/oeqa/core/runner.py index 5ee..56e8526 100644
> --- a/meta/lib/oeqa/core/runner.py
> +++ b/meta/lib/oeqa/core/runner.py
> @@ -6,6 +6,8 @@ import time
>  import unittest
>  import logging
>  import re
> +import json
> +import pathlib
>  
>  from unittest import TextTestResult as _TestResult  from unittest 
> import TextTestRunner as _TestRunner @@ -119,8 +121,9 @@ class 
> OETestResult(_TestResult):
>  self.successes.append((test, None))
>  super(OETestResult, self).addSuccess(test)
>  
> -def logDetails(self):
> +def logDetails(self, json_file_dir=''):

json_file_dir=None

>  self.tc.logger.info("RESULTS:")
> +results = {}
>  for case_name in self.tc._registry['cases']:
>  case = self.tc._registry['cases'][case_name]
>  
> @@ -137,6 +140,12 @@ class OETestResult(_TestResult):
>  t = " (" + "{0:.2f}".format(self.endtime[case.id()] - 
> self.starttime[case.id()]) + "s)"
>  
>  self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
> (case.id(), oeid, status, t))
> +results[case.id()] = (status, log)
> +
> +if len(json_file_dir) > 0:

if json_file_dir:

> +tresultjsonhelper = OETestResultJSONHelper()
> +tresultjsonhelper.dump_testresult_file(results, json_file_dir)
> +tresultjsonhelper.dump_log_files(results, 
> + os.path.join(json_file_dir, 'logs'))
>  
>  class OEListTestsResult(object):
>  def wasSuccessful(self):
> @@ -249,3 +258,56 @@ class OETestRunner(_TestRunner):
>  self._list_tests_module(suite)
>  
>  return OEListTestsResult()
> +
> +class OETestResultJSONHelper(object):
> +
> +def get_testsuite_from_testcase(self, testcase):
> +testsuite = testcase[0:testcase.rfind(".")]
> +return testsuite
> +
> +def get_testsuite_testcase_dictionary(self, testresults):
> +testsuite_testcase_dict = {}
> +for testcase in testresults.keys():
> +testsuite = self.get_testsuite_from_testcase(testcase)
> +if testsuite in testsuite_testcase_dict:
> +testsuite_testcase_dict[testsuite].append(testcase)
> +else:
> +testsuite_testcase_dict[testsuite] = [testcase]
> +return testsuite_testcase_dict
> +
> +def _create_testcase_testresult_object(self, testcase_list, testresults):
> +testcase_dict = {}
> +for testcase in sorted(testcase_list):
> +testcase_dict[testcase] = {"testresult": 
> testresults[testcase][0]}
> +return testcase_dict
> +
> +def _create_json_testsuite_string(self, testresults):
> +testsuite_testcase = 
> self.get_testsuite_testcase_dictionary(testresults)
> +testsuite_object = {'testsuite': {}}
> +testsuite_dict = testsuite_object['testsuite']
> +for testsuite in sorted(testsuite_testcase.keys()):
> +testsuite_dict[testsuite] = {'testcase': {}}
> +testsuite_dict[testsuite]['testcase'] = 
> self._create_testcase_testresult_object(
> +
> testsuite_testcase[testsuite],
> + 

[OE-core] [PATCH 2/5] oeqa/core/runner: write testresult to json files

2018-10-18 Thread Yeoh Ee Peng
As part of the solution to replace Testopia to store testresult,
OEQA need to output testresult into json file, where these json
testresult file will be stored in git repository by the future
test-case-management tools.

Both the testresult (eg. PASSED, FAILED, ERROR) and  the test log
(eg. message from unit test assertion) will be created for storing.

Also the library class inside this patch will be reused by the future
test-case-management tools to write json testresult for manual test
case executed.

Signed-off-by: Yeoh Ee Peng 
---
 meta/lib/oeqa/core/runner.py | 30 +-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index f1dd080..e82acdf 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -6,6 +6,7 @@ import time
 import unittest
 import logging
 import re
+import json
 
 from unittest import TextTestResult as _TestResult
 from unittest import TextTestRunner as _TestRunner
@@ -119,8 +120,9 @@ class OETestResult(_TestResult):
 self.successes.append((test, None))
 super(OETestResult, self).addSuccess(test)
 
-def logDetails(self):
+def logDetails(self, json_file_dir=None, test_environments=None):
 self.tc.logger.info("RESULTS:")
+results = {}
 for case_name in self.tc._registry['cases']:
 case = self.tc._registry['cases'][case_name]
 
@@ -137,6 +139,11 @@ class OETestResult(_TestResult):
 t = " (" + "{0:.2f}".format(self.endtime[case.id()] - 
self.starttime[case.id()]) + "s)"
 
 self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(), oeid, status, t))
+results[case.id()] = (status, log)
+
+if json_file_dir:
+tresultjsonhelper = OETestResultJSONHelper()
+tresultjsonhelper.dump_testresult_file(results, test_environments, 
json_file_dir)
 
 class OEListTestsResult(object):
 def wasSuccessful(self):
@@ -249,3 +256,24 @@ class OETestRunner(_TestRunner):
 self._list_tests_module(suite)
 
 return OEListTestsResult()
+
+class OETestResultJSONHelper(object):
+
+def _create_json_testresult_string(self, test_results, test_environments):
+testcase_dict = {}
+for testcase in sorted(test_results):
+testcase_dict[testcase] = {"testresult": 
test_results[testcase][0], "log": test_results[testcase][1]}
+testresult_object = {'testenvironment': test_environments,
+ 'testcase': testcase_dict}
+return json.dumps(testresult_object, sort_keys=True, indent=4)
+
+def _write_file(self, write_dir, file_name, file_content):
+file_path = os.path.join(write_dir, file_name)
+with open(file_path, 'w') as the_file:
+the_file.write(file_content)
+
+def dump_testresult_file(self, test_results, test_environments, write_dir):
+if not os.path.exists(write_dir):
+bb.utils.mkdirhier(write_dir)
+json_testresult = self._create_json_testresult_string(test_results, 
test_environments)
+self._write_file(write_dir, 'testresults.json', json_testresult)
-- 
2.7.4

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


[OE-core] [PATCH 4/5] testimage.bbclass: write testresult to json files

2018-10-18 Thread Yeoh Ee Peng
As part of the solution to replace Testopia to store testresult,
OEQA testimage need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

Signed-off-by: Yeoh Ee Peng 
---
 meta/classes/testimage.bbclass | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 2642a72..728c1af 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -308,7 +308,14 @@ def testimage_main(d):
 # Show results (if we have them)
 if not results:
 bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, 
forcelog=True)
-results.logDetails()
+image = d.getVar("IMAGE_BASENAME")
+json_result_dir = os.path.join(d.getVar("WORKDIR"),
+   'temp',
+   'json_testresults-%s' % os.getpid(),
+   'runtime',
+   machine,
+   image)
+results.logDetails(json_result_dir, {'TEST_TYPE': 'runtime', 'MACHINE': 
machine, 'IMAGE_BASENAME': image})
 results.logSummary(pn)
 if not results.wasSuccessful():
 bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, 
forcelog=True)
-- 
2.7.4

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


[OE-core] [PATCH 5/5] testsdk.bbclass: write testresult to json files

2018-10-18 Thread Yeoh Ee Peng
As part of the solution to replace Testopia to store testresult,
OEQA sdk and sdkext need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

Signed-off-by: Yeoh Ee Peng 
---
 meta/classes/testsdk.bbclass | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index d3f475d..ef4d160 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -80,8 +80,13 @@ def testsdk_main(d):
 
 component = "%s %s" % (pn, OESDKTestContextExecutor.name)
 context_msg = "%s:%s" % (os.path.basename(tcname), 
os.path.basename(sdk_env))
-
-result.logDetails()
+image = d.getVar("IMAGE_BASENAME")
+json_result_dir = os.path.join(d.getVar("WORKDIR"),
+   'temp',
+   'json_testresults-%s' % os.getpid(),
+   'sdk',
+   image)
+result.logDetails(json_result_dir, {'TEST_TYPE': 'sdk', 
'IMAGE_BASENAME': image})
 result.logSummary(component, context_msg)
 
 if not result.wasSuccessful():
@@ -184,8 +189,13 @@ def testsdkext_main(d):
 
 component = "%s %s" % (pn, OESDKExtTestContextExecutor.name)
 context_msg = "%s:%s" % (os.path.basename(tcname), 
os.path.basename(sdk_env))
-
-result.logDetails()
+image = d.getVar("IMAGE_BASENAME")
+json_result_dir = os.path.join(d.getVar("WORKDIR"),
+   'temp',
+   'json_testresults-%s' % os.getpid(),
+   'sdkext',
+   image)
+result.logDetails(json_result_dir, {'TEST_TYPE': 'sdkext', 
'IMAGE_BASENAME': image})
 result.logSummary(component, context_msg)
 
 if not result.wasSuccessful():
-- 
2.7.4

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


[OE-core] [PATCH 1/5] oeqa/core/runner: refactor for OEQA to write json testresult

2018-10-18 Thread Yeoh Ee Peng
Refactor the original _getDetailsNotPassed method to return
testresult details (test status and log), which will be reused
by future OEQA code to write json testresult.

Take the opportunity to consolidate and simplify the logic used
to gather test status and log within the TestResult instance.

Signed-off-by: Yeoh Ee Peng 
---
 meta/lib/oeqa/core/runner.py | 70 ++--
 1 file changed, 29 insertions(+), 41 deletions(-)

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index eeb625b..f1dd080 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -76,40 +76,43 @@ class OETestResult(_TestResult):
 else:
 msg = "%s - FAIL - Required tests failed" % component
 skipped = len(self.skipped)
-if skipped: 
+if skipped:
 msg += " (skipped=%d)" % skipped
 self.tc.logger.info(msg)
 
-def _getDetailsNotPassed(self, case, type, desc):
-found = False
+def _getTestResultDetails(self, case):
+result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 
'SKIPPED',
+'expectedFailures': 'EXPECTEDFAIL', 'successes': 
'PASSED'}
 
-for (scase, msg) in getattr(self, type):
-if case.id() == scase.id():
-found = True
-break
-scase_str = str(scase.id())
-
-# When fails at module or class level the class name is passed as 
string
-# so figure out to see if match
-m = re.search("^setUpModule \((?P.*)\)$", scase_str)
-if m:
-if case.__class__.__module__ == m.group('module_name'):
+for rtype in result_types:
+found = False
+for (scase, msg) in getattr(self, rtype):
+if case.id() == scase.id():
 found = True
 break
+scase_str = str(scase.id())
 
-m = re.search("^setUpClass \((?P.*)\)$", scase_str)
-if m:
-class_name = "%s.%s" % (case.__class__.__module__,
-case.__class__.__name__)
+# When fails at module or class level the class name is passed 
as string
+# so figure out to see if match
+m = re.search("^setUpModule \((?P.*)\)$", 
scase_str)
+if m:
+if case.__class__.__module__ == m.group('module_name'):
+found = True
+break
 
-if class_name == m.group('class_name'):
-found = True
-break
+m = re.search("^setUpClass \((?P.*)\)$", scase_str)
+if m:
+class_name = "%s.%s" % (case.__class__.__module__,
+case.__class__.__name__)
+
+if class_name == m.group('class_name'):
+found = True
+break
 
-if found:
-return (found, msg)
+if found:
+return result_types[rtype], msg
 
-return (found, None)
+return 'UNKNOWN', None
 
 def addSuccess(self, test):
 #Added so we can keep track of successes too
@@ -121,17 +124,7 @@ class OETestResult(_TestResult):
 for case_name in self.tc._registry['cases']:
 case = self.tc._registry['cases'][case_name]
 
-result_types = ['failures', 'errors', 'skipped', 
'expectedFailures', 'successes']
-result_desc = ['FAILED', 'ERROR', 'SKIPPED', 'EXPECTEDFAIL', 
'PASSED']
-
-fail = False
-desc = None
-for idx, name in enumerate(result_types):
-(fail, msg) = self._getDetailsNotPassed(case, 
result_types[idx],
-result_desc[idx])
-if fail:
-desc = result_desc[idx]
-break
+(status, log) = self._getTestResultDetails(case)
 
 oeid = -1
 if hasattr(case, 'decorators'):
@@ -143,12 +136,7 @@ class OETestResult(_TestResult):
 if case.id() in self.starttime and case.id() in self.endtime:
 t = " (" + "{0:.2f}".format(self.endtime[case.id()] - 
self.starttime[case.id()]) + "s)"
 
-if fail:
-self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
-oeid, desc, t))
-else:
-self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
-oeid, 'UNKNOWN', t))
+self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(), oeid, status, t))
 
 class OEListTestsResult(object):
 def wasSuccessful(self):
-- 
2.7.4

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

[OE-core] [PATCH 3/5] oeqa/selftest/context: write testresult to json files

2018-10-18 Thread Yeoh Ee Peng
As part of the solution to replace Testopia to store testresult,
OEQA selftest need to output testresult into json files, where
these json testresult files will be stored into git repository
by the future test-case-management tools.

Signed-off-by: Yeoh Ee Peng 
---
 meta/lib/oeqa/selftest/context.py | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index c78947e..c443e74 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -73,7 +73,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 
 parser.add_argument('--machine', required=False, choices=['random', 
'all'],
 help='Run tests on different machines 
(random/all).')
-
+
 parser.set_defaults(func=self.run)
 
 def _get_available_machines(self):
@@ -99,8 +99,8 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 return cases_paths
 
 def _process_args(self, logger, args):
-args.output_log = '%s-results-%s.log' % (self.name,
-time.strftime("%Y%m%d%H%M%S"))
+args.test_start_time = time.strftime("%Y%m%d%H%M%S")
+args.output_log = '%s-results-%s.log' % (self.name, 
args.test_start_time)
 args.test_data_file = None
 args.CASES_PATHS = None
 
@@ -205,6 +205,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 runCmd("bitbake -e")
 
 def _internal_run(self, logger, args):
+import platform
 self.module_paths = self._get_cases_paths(
 self.tc_kwargs['init']['td']['BBPATH'].split(':'))
 
@@ -220,7 +221,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 else:
 self._pre_run()
 rc = self.tc.runTests(**self.tc_kwargs['run'])
-rc.logDetails()
+json_result_dir = 
os.path.join(os.path.dirname(os.path.abspath(args.output_log)),
+   'json_testresults-%s' % 
args.test_start_time,
+   'oe-selftest')
+rc.logDetails(json_result_dir, {'TEST_TYPE': 'oe-selftest',
+'HOST_OS': 
platform.linux_distribution()})
 rc.logSummary(self.name)
 
 return rc
-- 
2.7.4

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


Re: [OE-core] [PATCH] boost.inc: make libboost_python3.so available

2018-10-18 Thread Burton, Ross
On Thu, 18 Oct 2018 at 03:29, Yu, Mingli  wrote:
> Many thanks for Ross's clarification!
> If we need to fix the packages one by one, but not add the hack at boost
> side, then https://bugzilla.yoctoproject.org/show_bug.cgi?id=12833
> should be invalid.

Agreed, done!

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


[OE-core] [PATCH] mpfr: Fix compilation for ARC

2018-10-18 Thread Alexey Brodkin
MPFR has a couple of things implemented in assembly and in case of
ARC those parts were written long ago when ARC GCC port was not yet
upstreamed. On upstreaming of GCC some constraints were changed and
so we can no longer build MPFR for ARC with up-to-date tools seeing
something like that:
| In file included from ../../mpfr-4.0.1/src/mpfr-impl.h:112,
|  from ../../mpfr-4.0.1/src/mul.c:24:
| ../../mpfr-4.0.1/src/mul.c: In function 'mpfr_mul':
| ../../mpfr-4.0.1/src/mpfr-longlong.h:415:3: error: impossible constraint in 
'asm'
|__asm__ ("add.f\t%1, %4, %5\n\tadc\t%0, %2, %3"   \
|^~~

Signed-off-by: Alexey Brodkin 
---
 .../0001-Fix-obsolete-ARC-asm-constraints.patch| 45 ++
 meta/recipes-support/mpfr/mpfr_4.0.1.bb|  3 +-
 2 files changed, 47 insertions(+), 1 deletion(-)
 create mode 100644 
meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch

diff --git 
a/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch 
b/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
new file mode 100644
index 00..59d1b0db67
--- /dev/null
+++ b/meta/recipes-support/mpfr/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch
@@ -0,0 +1,45 @@
+mpfr-longlong.h: Fix obsolete ARC asm constraints
+
+This patch replaces obsolete ARC "J" asm constraint with
+up-to-date "Cal" constraint.
+
+"J" constraint only existed in pre-upstream GCC port for ARC.
+In current upstream port "Cal" constraint is used which leads
+to compile-time error.
+
+Proposed fix is known to work in Buildroot, Crosstool-NG etc.
+
+[1] 
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=09cb6a17e71bd40d2fbfaf82a1502fc210e33c87
+
+Signed-off-by: Claudiu Zissulescu 
+Signed-off-by: Vlad Zakharov 
+Signed-off-by: Alexey Brodkin 
+
+Upstream-Status: Backport 
[https://gforge.inria.fr/scm/viewvc.php/mpfr?view=revision&revision=13251]
+---
+Index: src/mpfr-longlong.h
+===
+--- a/src/mpfr-longlong.h  (revision 10963)
 b/src/mpfr-longlong.h  (working copy)
+@@ -416,17 +416,17 @@
+  : "=r" (sh), \
+"=&r" (sl) \
+  : "r"  ((USItype) (ah)), \
+-   "rIJ" ((USItype) (bh)),\
++   "rICal" ((USItype) (bh)),  \
+"%r" ((USItype) (al)), \
+-   "rIJ" ((USItype) (bl)))
++   "rICal" ((USItype) (bl)))
+ #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+   __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
+  : "=r" (sh), \
+"=&r" (sl) \
+  : "r" ((USItype) (ah)),  \
+-   "rIJ" ((USItype) (bh)),\
++   "rICal" ((USItype) (bh)),  \
+"r" ((USItype) (al)),  \
+-   "rIJ" ((USItype) (bl)))
++   "rICal" ((USItype) (bl)))
+ #endif
+ 
+ #if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
diff --git a/meta/recipes-support/mpfr/mpfr_4.0.1.bb 
b/meta/recipes-support/mpfr/mpfr_4.0.1.bb
index f85a846e33..2eee76a357 100644
--- a/meta/recipes-support/mpfr/mpfr_4.0.1.bb
+++ b/meta/recipes-support/mpfr/mpfr_4.0.1.bb
@@ -9,7 +9,8 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
 DEPENDS = "gmp autoconf-archive"
 
-SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz";
+SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz \
+   file://0001-Fix-obsolete-ARC-asm-constraints.patch"
 SRC_URI[md5sum] = "b8dd19bd9bb1ec8831a6a582a7308073"
 SRC_URI[sha256sum] = 
"67874a60826303ee2fb6affc6dc0ddd3e749e9bfcb4c8655e3953d0458a6e16e"
 
-- 
2.16.2

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


Re: [OE-core] [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific

2018-10-18 Thread ChenQi

On 10/18/2018 12:43 AM, Mark Hatle wrote:

Create a new systemd-conf recipe to contain the specific system/machine
configuration items.  This new package is now machine specific.

Without doing this trying to create a single system with multiple BSPs,
one of which was qemu based, would result in the systemd -and- everything that
dependend upon systemd to have their hash changed.  The hash changing means
lots of rebuilds, but worse if it's a package based system each different
machine ends with a new PR value and a newly generated package.

Signed-off-by: Mark Hatle 
---
  meta/recipes-core/systemd/systemd-conf.bb | 51 +++
  ...ange-the-default-device-timeout-to-2.patch | 35 -
  meta/recipes-core/systemd/systemd_239.bb  | 28 --
  3 files changed, 60 insertions(+), 54 deletions(-)
  create mode 100644 meta/recipes-core/systemd/systemd-conf.bb
  delete mode 100644 
meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch

diff --git a/meta/recipes-core/systemd/systemd-conf.bb 
b/meta/recipes-core/systemd/systemd-conf.bb
new file mode 100644
index 00..d39742b3a8
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd-conf.bb
@@ -0,0 +1,51 @@
+require systemd.inc
+
+SUMMARY = "Systemd system configuration"
+DESCRIPTION = "Systemd may require slightly different configuration for \
+different machines.  For example, qemu machines require a longer \
+DefaultTimeoutStartSec setting."
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES_${PN} = "${sysconfdir}/machine-id \
+${sysconfdir}/systemd/coredump.conf \
+${sysconfdir}/systemd/journald.conf \
+${sysconfdir}/systemd/logind.conf \
+${sysconfdir}/systemd/system.conf \
+${sysconfdir}/systemd/user.conf"
+
+FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd"
+
+do_compile[noexec] = '1'
+
+do_install() {
+   install -d ${D}/${sysconfdir}/systemd
+
+   # Create machine-id
+   # 20:12 < mezcalero> koen: you have three options: a) run 
systemd-machine-id-setup at install time, b) have / read-only and an empty file there 
(for stateless) and c) boot with / writable
+   touch ${D}${sysconfdir}/machine-id
+
+   install -m 0644 ${S}/src/coredump/coredump.conf 
${D}${sysconfdir}/systemd/coredump.conf
+
+   install -m 0644 ${S}/src/journal/journald.conf 
${D}${sysconfdir}/systemd/journald.conf
+   # Enable journal to forward message to syslog daemon
+   sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' 
${D}${sysconfdir}/systemd/journald.conf
+   # Set the maximium size of runtime journal to 64M as default
+   sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' 
${D}${sysconfdir}/systemd/journald.conf
+
+   install -m 0644 ${S}/src/login/logind.conf.in 
${D}${sysconfdir}/systemd/logind.conf
+   # Set KILL_USER_PROCESSES to yes
+   sed -i -e 's/@KILL_USER_PROCESSES@/yes/' 
${D}${sysconfdir}/systemd/logind.conf
+
+   install -m 0644 ${S}/src/core/system.conf.in 
${D}${sysconfdir}/systemd/system.conf
+   # Set MEMORY_ACCOUNTING_DEFAULT to yes
+   sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' 
${D}${sysconfdir}/systemd/system.conf
+
+   install -m 0644 ${S}/src/core/user.conf 
${D}${sysconfdir}/systemd/user.conf
+}
+
+# Based on change from YP bug 8141, OE commit 
5196d7bacaef1076c361adaa2867be31759c1b52
+do_install_append_qemuall() {
+   # Change DefaultTimeoutStartSec from 90s to 240s
+echo "DefaultTimeoutStartSec = 240s"
+}


Seems to miss something like ">> ${D}${sysconfdir}/systemd/system.conf" ?

Best Regards,
Chen Qi


diff --git 
a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
 
b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
deleted file mode 100644
index fd7bf3fcf6..00
--- 
a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001
-From: Chen Qi 
-Date: Thu, 28 Jun 2018 10:56:29 +0800
-Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec.
- MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [Specific case QEMU/AB]
-
-Signed-off-by: Aníbal Limón 
-Signed-off-by: Khem Raj 
-Signed-off-by: Chen Qi 

- src/core/device.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/device.c b/src/core/device.c
-index a2d00a0fb..f26e55ebb 100644
 a/src/core/device.c
-+++ b/src/core/device.c
-@@ -95,7 +95,7 @@ static void device_init(Unit *u) {
-  * indefinitely for plugged in devices, something which cannot
-  * happen for the other units since their operations time out
-  * anyway. */
--u->job_run

[OE-core] [PATCH] dhcp: use config file dhcpd6.conf in dhcpd6.service for DHCP IPv6

2018-10-18 Thread Yi Zhao
Use dhcpd6.conf for DHCP IPv6 and dhpcd.conf for DHCP IPv4.

Signed-off-by: Yi Zhao 
---
 meta/recipes-connectivity/dhcp/files/dhcpd6.service | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/dhcp/files/dhcpd6.service 
b/meta/recipes-connectivity/dhcp/files/dhcpd6.service
index ca96abb..52a6224 100644
--- a/meta/recipes-connectivity/dhcp/files/dhcpd6.service
+++ b/meta/recipes-connectivity/dhcp/files/dhcpd6.service
@@ -9,7 +9,7 @@ PIDFile=@localstatedir@/run/dhcpd6.pid
 EnvironmentFile=@SYSCONFDIR@/default/dhcp-server
 EnvironmentFile=-@SYSCONFDIR@/sysconfig/dhcpd6
 ExecStartPre=@base_bindir@/touch @localstatedir@/lib/dhcp/dhcpd6.leases
-ExecStart=@SBINDIR@/dhcpd -f -6 -cf @SYSCONFDIR@/dhcp/dhcpd.conf -pf 
@localstatedir@/run/dhcpd6.pid $DHCPDARGS -q $INTERFACES
+ExecStart=@SBINDIR@/dhcpd -f -6 -cf @SYSCONFDIR@/dhcp/dhcpd6.conf -pf 
@localstatedir@/run/dhcpd6.pid $DHCPDARGS -q $INTERFACES
 
 [Install]
 WantedBy=multi-user.target
-- 
2.7.4

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