[OE-core] "shutdown now" Hangs Since 1d453c9087f9 ("systemd: upgrade to 242")

2019-05-08 Thread He Zhe
Hi,


Since 1d453c9087f9 ("systemd: upgrade to 242"), "shutdown now" hangs like below 
where I enable systemd debug information print.

Any idea? Thanks.


[  OK  ] Stopped NFS status monitor for NFSv2/3 locking..
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/nfs_2dstatd_2eservice 
interface=org.freedesktop.DBusa
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/nfs_2dstatd_2eservice 
interface=org.freedesktop.DBusa
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager 
member=JobRemoa
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/nfs_2dstatd_2eservice 
interface=org.freedesktop.DBusa
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/nfs_2dstatd_2eservice 
interface=org.freedesktop.DBusa
Child 410 (sh) died (code=killed, status=1/HUP)
session-c1.scope: Child 410 belongs to session-c1.scope.
Child 299 (avahi-daemon) died (code=killed, status=15/TERM)
system.slice: Child 299 belongs to system.slice.
session-c1.scope: cgroup is empty
session-c1.scope: Succeeded.
session-c1.scope changed stop-sigterm -> dead
session-c1.scope: Job 277 session-c1.scope/stop finished, result=done
[  OK  ] Stopped Session c1 of user root.
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/session_2dc1_2escope 
interface=org.freedesktop.DBus.a
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/session_2dc1_2escope 
interface=org.freedesktop.DBus.a
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager 
member=JobRemoa
session-c1.scope: Collecting.
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/session_2dc1_2escope 
interface=org.freedesktop.DBus.a
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1/unit/session_2dc1_2escope 
interface=org.freedesktop.DBus.a
Sent message type=signal sender=n/a destination=n/a 
path=/org/freedesktop/systemd1 interface=org.freedesktop.systemd1.Manager 
member=UnitRema
systemd-journald.service: Received EPOLLHUP on stored fd 56 (stored), closing.
systemd-journald.service: Received EPOLLHUP on stored fd 58 (stored), closing.
systemd-journald.service: Received EPOLLHUP on stored fd 65 (stored), closing.
Got message type=signal sender=org.freedesktop.DBus destination=n/a 
path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=NameOwna
avahi-daemon.service: D-Bus name org.freedesktop.Avahi no longer registered by 
:1.1
systemd-journald.service: Received EPOLLHUP on stored fd 55 (stored), closing.
syslog.socket: Incoming traffic
syslog.socket: Suppressing connection request since unit stop is scheduled.



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


[OE-core] [PATCH] bitbake.conf: set NO_RECOMMENDATIONS with weak assignment

2019-05-08 Thread kai.kang
From: Kai Kang 

Set NO_RECOMMENDATIONS with weak assignment then it could be set a
default value somewhere else.

Signed-off-by: Kai Kang 
---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index c13e4f3f71..c5313ccd19 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -848,7 +848,7 @@ COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES 
MACHINE_FEATURES"
 SERIAL_CONSOLE ??= ""
 SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE').replace(' ', ';')}"
 
-NO_RECOMMENDATIONS ?= ""
+NO_RECOMMENDATIONS ??= ""
 BAD_RECOMMENDATIONS ?= ""
 
 # Make sure MACHINE isn't exported
-- 
2.20.0

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


[OE-core] [OE-Core][PATCH] shadow: Backport last change reproducibility

2019-05-08 Thread Alex Kiernan
The third field in the /etc/shadow file (sp_lstchg) contains the date of
the last password change expressed as the number of days since Jan 1,
1970.

Backport the upstream changes to honour SOURCE_DATE_EPOCH for build
reproducibility.

Signed-off-by: Alex Kiernan 
---

 ...chg-shadow-field-reproducible-re.-71.patch | 89 +++
 ...ettime-Use-secure_getenv-over-getenv.patch | 71 +++
 meta/recipes-extended/shadow/shadow.inc   |  2 +
 3 files changed, 162 insertions(+)
 create mode 100644 
meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
 create mode 100644 
meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch

diff --git 
a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
 
b/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
new file mode 100644
index ..de0ba3ebb422
--- /dev/null
+++ 
b/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch
@@ -0,0 +1,89 @@
+From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001
+From: Chris Lamb 
+Date: Wed, 2 Jan 2019 18:06:16 +
+Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible (re. #71)
+
+From :
+
+```
+The third field in the /etc/shadow file (sp_lstchg) contains the date of
+the last password change expressed as the number of days since Jan 1, 1970.
+As this is a relative time, creating a user today will result in:
+
+username:17238:0:9:7:::
+whilst creating the same user tomorrow will result in:
+
+username:17239:0:9:7:::
+This has an impact for the Reproducible Builds[0] project where we aim to
+be independent of as many elements the build environment as possible,
+including the current date.
+
+This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1]
+environment variable (instead of Jan 1, 1970) if valid.
+```
+
+This updated PR adds some missing calls to gettime (). This was originally
+filed by Johannes Schauer in Debian as #917773 [2].
+
+[0] https://reproducible-builds.org/
+[1] https://reproducible-builds.org/specs/source-date-epoch/
+[2] https://bugs.debian.org/917773
+
+Upstream-Status: Backport
+Signed-off-by: Alex Kiernan 
+---
+ libmisc/pwd2spwd.c | 3 +--
+ src/pwck.c | 2 +-
+ src/pwconv.c   | 2 +-
+ 3 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c
+index c1b9b29ac873..6799dd50d490 100644
+--- a/libmisc/pwd2spwd.c
 b/libmisc/pwd2spwd.c
+@@ -40,7 +40,6 @@
+ #include "prototypes.h"
+ #include "defines.h"
+ #include 
+-extern time_t time (time_t *);
+ 
+ /*
+  * pwd_to_spwd - create entries for new spwd structure
+@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw)
+*/
+   sp.sp_min = 0;
+   sp.sp_max = (1L * DAY) / SCALE;
+-  sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
++  sp.sp_lstchg = (long) gettime () / SCALE;
+   if (0 == sp.sp_lstchg) {
+   /* Better disable aging than requiring a password
+* change */
+diff --git a/src/pwck.c b/src/pwck.c
+index 0ffb711efb13..f70071b12500 100644
+--- a/src/pwck.c
 b/src/pwck.c
+@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed)
+   sp.sp_inact  = -1;
+   sp.sp_expire = -1;
+   sp.sp_flag   = SHADOW_SP_FLAG_UNSET;
+-  sp.sp_lstchg = (long) time ((time_t *) 
0) / SCALE;
++  sp.sp_lstchg = (long) gettime () / 
SCALE;
+   if (0 == sp.sp_lstchg) {
+   /* Better disable aging than
+* requiring a password change
+diff --git a/src/pwconv.c b/src/pwconv.c
+index 9c69fa131d8e..f932f266c59c 100644
+--- a/src/pwconv.c
 b/src/pwconv.c
+@@ -267,7 +267,7 @@ int main (int argc, char **argv)
+   spent.sp_flag   = SHADOW_SP_FLAG_UNSET;
+   }
+   spent.sp_pwdp = pw->pw_passwd;
+-  spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
++  spent.sp_lstchg = (long) gettime () / SCALE;
+   if (0 == spent.sp_lstchg) {
+   /* Better disable aging than requiring a password
+* change */
+-- 
+2.17.1
+
diff --git 
a/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
 
b/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
new file mode 100644
index ..8c8234d038ea
--- /dev/null
+++ 

Re: [OE-core] [PATCH] ccache: upgrade 3.6 -> 3.7.1

2019-05-08 Thread Richard Purdie
On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> Remove backported patches.
> Switch to new download location.
> 
> Signed-off-by: Adrian Bunk 

This patch caused an unintended side effect which you can reproduce
with:

oe-selftest -r buildoptions.ImageOptionsTests.test_ccache_tool

Its the change from .gz to .xz which introduces circular dependencies
for ccache-native.

(one of the issues in 
https://autobuilder.yoctoproject.org/typhoon/#/builders/56/builds/456)

Cheers,

Richard

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


Re: [OE-core] [master][warrior][PATCH] systemd: Use PACKAGECONFIG definition to depend on libnss-myhostname

2019-05-08 Thread Peter Kjellerstedt
*ping*

//Peter

> -Original Message-
> From: openembedded-core-boun...@lists.openembedded.org  core-boun...@lists.openembedded.org> On Behalf Of Peter Kjellerstedt
> Sent: den 12 april 2019 18:15
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [master][warrior][PATCH] systemd: Use PACKAGECONFIG
> definition to depend on libnss-myhostname
> 
> Rather than adding the dependency on libnss-myhostname to
> RDEPENDS_${PN} if the myhostname PACKAGECONFIG is set, add the runtime
> dependency to myhostname's PACKAGECONFIG definition.
> 
> Signed-off-by: Peter Kjellerstedt 
> ---
> 
> This is just a clean up of the last commit to systemd.
> 
> meta/recipes-core/systemd/systemd_241.bb | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-core/systemd/systemd_241.bb b/meta/recipes-
> core/systemd/systemd_241.bb
> index 3a58f44a3b..562cdc3316 100644
> --- a/meta/recipes-core/systemd/systemd_241.bb
> +++ b/meta/recipes-core/systemd/systemd_241.bb
> @@ -144,7 +144,7 @@ PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
>  PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
>  PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native
> xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
>  PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-
> Dmicrohttpd=false,libmicrohttpd"
> -PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-
> myhostname=false"
> +PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-
> myhostname=false,,libnss-myhostname"
>  PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
>  PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
>  PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-
> mymachines=false"
> @@ -547,7 +547,6 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la
> ${datadir}/dbus-1/interfaces/ $
>  RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev
> (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
>  RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-
> getty-generator', '', 'systemd-serialgetty', d)}"
>  RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf"
> -RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'myhostname',
> 'libnss-myhostname', '', d)}"
> 
>  RRECOMMENDS_${PN} += "systemd-extra-utils \
>systemd-compat-units udev-hwdb \
> --
> 2.12.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] [OE-Core][PATCH v6 2/6] systemd: do not create machine-id

2019-05-08 Thread Alex Kiernan
On Wed, May 8, 2019 at 9:19 PM Alistair Francis  wrote:
>
> On Thu, May 2, 2019 at 2:10 PM Alex Kiernan  wrote:
> >
> > From: Jonas Bonn 
> >
> > There is no reason to have an emtpy machine-id as part of the systemd
> > package.  Either:
> >
> > i)  the filesystem is writable and the file will be created
> > automatically; or
> > ii) the filesystem is read-only, in which case the empty machine-id file
> > should be created as part of the read-only-rootfs tweaks.
> >
> > Signed-off-by: Jonas Bonn 
> > Signed-off-by: Alex Kiernan 
>
> This patch now results in no "/etc/machine-id" being created which
> breaks systemd-networkd WiFi connections.
>
> I now always see this error when trying to connect to WiFi with
> wpa_supplicant: "DHCP4 CLIENT: Failed to set IAID+DUID"
>

I posted this series earlier that fixes everything I know about
(including the lack of /etc/machine-id in the stateful case):

https://patchwork.openembedded.org/series/17495/

If you can test and I'll have a look if there's anything else that
needs addressing?

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


Re: [OE-core] [PATCH] lttng-modules: upgrade 2.10.8 -> 2.10.9

2019-05-08 Thread richard . purdie
On Wed, 2019-05-08 at 23:30 +0300, Adrian Bunk wrote:
> On Wed, May 08, 2019 at 09:06:19PM +0100, Richard Purdie wrote:
> > On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> > > Remove the backported patches.
> > > 
> > > Signed-off-by: Adrian Bunk 
> > 
> > Unfortunately this seemed to cause:
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/46/builds/574
> 
> ...
> recipe linux-yocto-4.19.14+gitAUTOINC+9bda6190bf_eebb51300a-r0: task 
> do_compile: Succeeded
> ...
>  In file included from 
> /home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-kprobes.c:31:
> > /home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../blacklist/kprobes.h:19:4:
> >  error: #error "Your kernel is known to have buggy optimized kprobes 
> > implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c 
> > \"ARM: 8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in 
> > Linux. Disable CONFIG_OPTPROBES or upgrade your kernel."
> >  #  error "Your kernel is known to have buggy optimized kprobes 
> > implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c 
> > \"ARM: 8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in 
> > Linux. Disable CONFIG_OPTPROBES or upgrade your kernel."
> > ^
> > make[4]: *** 
> [/home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-kprobes.o]
>  Error 1
> ...
> 
> 
> Upstream turned a runtime breakage into a build failure:
> http://git.lttng.org/?p=lttng-modules.git;a=commit;h=2d16de12b197aed57212826187bcb0ab24ad071e
> 
> IOW, this needs an update of beaglebone-yocto in
> meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
> (4.19.34 already seems to be in the git tree).

Right, sorry, I hadn't actually read the error :/.

CCing Kevin/Bruce.

Cheers,

Richard



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


Re: [OE-core] [PATCH] lttng-modules: upgrade 2.10.8 -> 2.10.9

2019-05-08 Thread Adrian Bunk
On Wed, May 08, 2019 at 09:06:19PM +0100, Richard Purdie wrote:
> On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> > Remove the backported patches.
> > 
> > Signed-off-by: Adrian Bunk 
> 
> Unfortunately this seemed to cause:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/46/builds/574

...
recipe linux-yocto-4.19.14+gitAUTOINC+9bda6190bf_eebb51300a-r0: task 
do_compile: Succeeded
...
 In file included from 
/home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-kprobes.c:31:
| 
/home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/../blacklist/kprobes.h:19:4:
 error: #error "Your kernel is known to have buggy optimized kprobes 
implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c \"ARM: 
8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in Linux. Disable 
CONFIG_OPTPROBES or upgrade your kernel."
|  #  error "Your kernel is known to have buggy optimized kprobes 
implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c \"ARM: 
8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in Linux. Disable 
CONFIG_OPTPROBES or upgrade your kernel."
| ^
| make[4]: *** 
[/home/pokybuild/yocto-worker/beaglebone-lsb/build/build/tmp/work/beaglebone_yocto-poky-linux-gnueabi/lttng-modules/2.10.9-r0/lttng-modules-2.10.9/probes/lttng-kprobes.o]
 Error 1
...


Upstream turned a runtime breakage into a build failure:
http://git.lttng.org/?p=lttng-modules.git;a=commit;h=2d16de12b197aed57212826187bcb0ab24ad071e

IOW, this needs an update of beaglebone-yocto in
meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.19.bbappend
(4.19.34 already seems to be in the git tree).


> Cheers,
> 
> Richard

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [OE-Core][PATCH v6 2/6] systemd: do not create machine-id

2019-05-08 Thread Alistair Francis
On Thu, May 2, 2019 at 2:10 PM Alex Kiernan  wrote:
>
> From: Jonas Bonn 
>
> There is no reason to have an emtpy machine-id as part of the systemd
> package.  Either:
>
> i)  the filesystem is writable and the file will be created
> automatically; or
> ii) the filesystem is read-only, in which case the empty machine-id file
> should be created as part of the read-only-rootfs tweaks.
>
> Signed-off-by: Jonas Bonn 
> Signed-off-by: Alex Kiernan 

This patch now results in no "/etc/machine-id" being created which
breaks systemd-networkd WiFi connections.

I now always see this error when trying to connect to WiFi with
wpa_supplicant: "DHCP4 CLIENT: Failed to set IAID+DUID"

Alistair

> ---
>
> Changes in v6: None
> Changes in v5:
> - install default preset distribution policy of "enable nothing"
>
>  meta/classes/rootfs-postcommands.bbclass| 6 ++
>  meta/recipes-core/systemd/systemd-conf_242.bb   | 9 ++---
>  meta/recipes-core/systemd/systemd/99-default.preset | 1 +
>  meta/recipes-core/systemd/systemd_242.bb| 6 +-
>  4 files changed, 14 insertions(+), 8 deletions(-)
>  create mode 100644 meta/recipes-core/systemd/systemd/99-default.preset
>
> diff --git a/meta/classes/rootfs-postcommands.bbclass 
> b/meta/classes/rootfs-postcommands.bbclass
> index bde58ad6cd36..89f8efd32363 100644
> --- a/meta/classes/rootfs-postcommands.bbclass
> +++ b/meta/classes/rootfs-postcommands.bbclass
> @@ -126,6 +126,12 @@ read_only_rootfs_hook () {
> ${IMAGE_ROOTFS}/etc/init.d/populate-volatile.sh
> fi
> fi
> +
> +   if ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", 
> "false", d)}; then
> +   # 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 ${IMAGE_ROOTFS}${sysconfdir}/machine-id
> +   fi
>  }
>
>  #
> diff --git a/meta/recipes-core/systemd/systemd-conf_242.bb 
> b/meta/recipes-core/systemd/systemd-conf_242.bb
> index 9bb27fd96d9c..7fe2e1105bef 100644
> --- a/meta/recipes-core/systemd/systemd-conf_242.bb
> +++ b/meta/recipes-core/systemd/systemd-conf_242.bb
> @@ -7,14 +7,13 @@ DefaultTimeoutStartSec setting."
>
>  PACKAGE_ARCH = "${MACHINE_ARCH}"
>
> -CONFFILES_${PN} = "${sysconfdir}/machine-id \
> -${sysconfdir}/systemd/coredump.conf \
> +CONFFILES_${PN} = "${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"
> +FILES_${PN} = "${sysconfdir}/systemd"
>
>  do_configure[noexec] = '1'
>  do_compile[noexec] = '1'
> @@ -23,10 +22,6 @@ do_install() {
> rm -rf ${D}/${sysconfdir}/systemd
> 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
> diff --git a/meta/recipes-core/systemd/systemd/99-default.preset 
> b/meta/recipes-core/systemd/systemd/99-default.preset
> new file mode 100644
> index ..1f29b50597f0
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/99-default.preset
> @@ -0,0 +1 @@
> +disable *
> diff --git a/meta/recipes-core/systemd/systemd_242.bb 
> b/meta/recipes-core/systemd/systemd_242.bb
> index 9f194f2b6ca1..7d1b0ec13a44 100644
> --- a/meta/recipes-core/systemd/systemd_242.bb
> +++ b/meta/recipes-core/systemd/systemd_242.bb
> @@ -22,6 +22,7 @@ SRC_URI += "file://touchscreen.rules \
> file://0003-implment-systemd-sysv-install-for-OE.patch \
> file://0004-rules-whitelist-hd-devices.patch \
> file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
> +   file://99-default.preset \
> "
>
>  # patches needed by musl
> @@ -277,7 +278,6 @@ do_install() {
> fi
>
> # conf files are handled by systemd-conf
> -   rm -f ${D}${sysconfdir}/machine-id
> rm -f ${D}${sysconfdir}/systemd/coredump.conf
> rm -f ${D}${sysconfdir}/systemd/journald.conf
> rm -f ${D}${sysconfdir}/systemd/logind.conf
> @@ -287,6 +287,10 @@ do_install() {
> # duplicate udevadm for postinst script
> install -d ${D}${libexecdir}
> ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
> +
> +   # install default policy for presets
> +   # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
> +  

[OE-core] [PATCH] oeqa/core/runner: Handle unexpectedSucesses

2019-05-08 Thread Richard Purdie
Instead of showing:
RESULTS - ptest.PtestRunnerTest.test_ptestrunner - Testcase 1600: UNKNOWN 
(32.30s)

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

Signed-off-by: Richard Purdie 
---
 meta/lib/oeqa/core/runner.py | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index 5f708730eda..ca61de8cc0a 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -91,11 +91,17 @@ class OETestResult(_TestResult):
 
 def _getTestResultDetails(self, case):
 result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 
'SKIPPED',
-'expectedFailures': 'EXPECTEDFAIL', 'successes': 
'PASSED'}
+'expectedFailures': 'EXPECTEDFAIL', 'successes': 
'PASSED',
+'unexpectedSuccesses' : 'PASSED'}
 
 for rtype in result_types:
 found = False
-for (scase, msg) in getattr(self, rtype):
+for resultclass in getattr(self, rtype):
+# unexpectedSuccesses are just lists, not lists of tuples
+if isinstance(resultclass, tuple):
+scase, msg = resultclass
+else:
+scase, msg = resultclass, None
 if case.id() == scase.id():
 found = True
 break
-- 
2.20.1

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


[OE-core] [PATCH] meson.bbclass: add MESON_CROSS_EXTRA_PROPS to inject properties into meson.cross

2019-05-08 Thread Andreas Müller
Some projects rely on (cross)specific properties e.g [1]. By setting

MESON_CROSS_EXTRA_PROPS="var1='value1' var2=true"

the required properties can be passed to meson.build. The contents of
MESON_CROSS_EXTRA_PROPS behave same as known by e.g EXTRA_OEMESON.

[1] https://gitlab.gnome.org/GNOME/tracker/blob/master/meson.build#L91

Signed-off-by: Andreas Müller 
---
 meta/classes/meson.bbclass | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index 115d1aedcb..b9cd1deaef 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -45,6 +45,11 @@ def meson_array(var, d):
 items = d.getVar(var).split()
 return repr(items[0] if len(items) == 1 else items)
 
+def meson_cross_extra_properties(d):
+cross_properties = "\n"
+cross_properties = 
cross_properties.join((d.getVar('MESON_CROSS_EXTRA_PROPS') or '').split())
+return cross_properties
+
 # Map our ARCH values to what Meson expects:
 # http://mesonbuild.com/Reference-tables.html#cpu-families
 def meson_cpu_family(var, d):
@@ -76,7 +81,7 @@ def meson_endian(prefix, d):
 bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
 
 addtask write_config before do_configure
-do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC 
CXX LD AR NM STRIP READELF"
+do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS 
MESON_CROSS_EXTRA_PROPS CC CXX LD AR NM STRIP READELF"
 do_write_config() {
 # This needs to be Py to split the args into single-element lists
 cat >${WORKDIR}/meson.cross 

Re: [OE-core] [PATCH] lttng-modules: upgrade 2.10.8 -> 2.10.9

2019-05-08 Thread Richard Purdie
On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> Remove the backported patches.
> 
> Signed-off-by: Adrian Bunk 

Unfortunately this seemed to cause:

https://autobuilder.yoctoproject.org/typhoon/#/builders/46/builds/574

Cheers,

Richard



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


Re: [OE-core] [PATCH] ofono: upgrade 1.25 -> 1.29

2019-05-08 Thread Adrian Bunk
On Wed, May 08, 2019 at 01:48:14PM +0100, Richard Purdie wrote:
> On Wed, 2019-05-08 at 13:32 +0100, Richard Purdie wrote:
> > On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> > > Remove patch applied upstream.
> > > 
> > > Signed-off-by: Adrian Bunk 
> > > ---
> > >  .../ofono/ofono/use-python3.patch | 27 ---
> > > 
> > >  meta/recipes-connectivity/ofono/ofono_1.25.bb |  9 ---
> > >  meta/recipes-connectivity/ofono/ofono_1.29.bb |  8 ++
> > >  3 files changed, 8 insertions(+), 36 deletions(-)
> > >  delete mode 100644 meta/recipes-connectivity/ofono/ofono/use-
> > > python3.patch
> > >  delete mode 100644 meta/recipes-connectivity/ofono/ofono_1.25.bb
> > >  create mode 100644 meta/recipes-connectivity/ofono/ofono_1.29.bb
> > 
> > A local build of this failed with what looks like a race:
> 
> Also on the autobuilder:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/570
> 
> I also confirmed that rerunning the compile did succeed confirming it
> is a race of some kind.

I was now able to reproduce exactly once, but not afterwards...

I'll send a v2 with a fix that matches the error message.

> Cheers,
> 
> Richard

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


[OE-core] [PATCH v2] ofono: upgrade 1.25 -> 1.29

2019-05-08 Thread Adrian Bunk
Remove patch applied upstream.
Fix a new parallel build failure.

Signed-off-by: Adrian Bunk 
---
 ...a-race-condition-where-ell-ell.h-was.patch | 28 +++
 .../ofono/ofono/use-python3.patch | 27 --
 meta/recipes-connectivity/ofono/ofono_1.25.bb |  9 --
 meta/recipes-connectivity/ofono/ofono_1.29.bb |  9 ++
 4 files changed, 37 insertions(+), 36 deletions(-)
 create mode 100644 
meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Fix-a-race-condition-where-ell-ell.h-was.patch
 delete mode 100644 meta/recipes-connectivity/ofono/ofono/use-python3.patch
 delete mode 100644 meta/recipes-connectivity/ofono/ofono_1.25.bb
 create mode 100644 meta/recipes-connectivity/ofono/ofono_1.29.bb

diff --git 
a/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Fix-a-race-condition-where-ell-ell.h-was.patch
 
b/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Fix-a-race-condition-where-ell-ell.h-was.patch
new file mode 100644
index 00..1dfc977add
--- /dev/null
+++ 
b/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Fix-a-race-condition-where-ell-ell.h-was.patch
@@ -0,0 +1,28 @@
+From 61c78979eab39ead47a91aeacad43ad72d162052 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk 
+Date: Wed, 8 May 2019 21:58:44 +0300
+Subject: Makefile.am: Fix a race condition where ell/ell.h was written before
+ ell/ existed
+
+Signed-off-by: Adrian Bunk 
+Upstream-Status: Pending
+
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index a569c4a3..d2e310d5 100644
+--- a/Makefile.am
 b/Makefile.am
+@@ -1107,6 +1107,7 @@ ell/internal: Makefile
+   done > $@
+ 
+ ell/ell.h: Makefile
++  $(AM_V_at)$(MKDIR_P) ell
+   $(AM_V_at)echo -n > $@
+   $(AM_V_GEN)for f in $(ell_headers) ; do \
+   echo "#include <$$f>" >> $@ ; \
+-- 
+2.20.1
+
diff --git a/meta/recipes-connectivity/ofono/ofono/use-python3.patch 
b/meta/recipes-connectivity/ofono/ofono/use-python3.patch
deleted file mode 100644
index 7b84075257..00
--- a/meta/recipes-connectivity/ofono/ofono/use-python3.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-set-ddr should use Python3 like all the other tests.
-
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton 
-
-From 17b69cd1da4c5c5f732acb38ca1602446c567ee7 Mon Sep 17 00:00:00 2001
-From: Ross Burton 
-Date: Mon, 29 Jan 2018 11:31:25 +
-Subject: [PATCH] test/setddr: use Python 3
-
-All the other tests use Python 3, so this should to.

- test/set-ddr | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/set-ddr b/test/set-ddr
-index 5d061b95..33631f31 100755
 a/test/set-ddr
-+++ b/test/set-ddr
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- 
- import sys
- import dbus
--- 
-2.11.0
diff --git a/meta/recipes-connectivity/ofono/ofono_1.25.bb 
b/meta/recipes-connectivity/ofono/ofono_1.25.bb
deleted file mode 100644
index 3688b9d2fc..00
--- a/meta/recipes-connectivity/ofono/ofono_1.25.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require ofono.inc
-
-SRC_URI  = "\
-  ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
-  file://ofono \
-  file://use-python3.patch \
-"
-SRC_URI[md5sum] = "31450cabdd8dbbf3f808ea2f2f066863"
-SRC_URI[sha256sum] = 
"eb011fcd3080e93f3a56f96be60350b6595a8b5f36b61646312ba41b0bcb0d75"
diff --git a/meta/recipes-connectivity/ofono/ofono_1.29.bb 
b/meta/recipes-connectivity/ofono/ofono_1.29.bb
new file mode 100644
index 00..8539aa1372
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono_1.29.bb
@@ -0,0 +1,9 @@
+require ofono.inc
+
+SRC_URI  = "\
+  ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+  file://ofono \
+  file://0001-Makefile.am-Fix-a-race-condition-where-ell-ell.h-was.patch \
+"
+SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8"
+SRC_URI[sha256sum] = 
"67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679"
-- 
2.17.1

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


[OE-core] [PATCH v2] sysstat: inherit upstream-version-is-even

2019-05-08 Thread Adrian Bunk
Currently a development version is being used.

Signed-off-by: Adrian Bunk 
---
 meta/recipes-extended/sysstat/sysstat.inc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/recipes-extended/sysstat/sysstat.inc 
b/meta/recipes-extended/sysstat/sysstat.inc
index 0bc7e14d36..9228fc29c2 100644
--- a/meta/recipes-extended/sysstat/sysstat.inc
+++ b/meta/recipes-extended/sysstat/sysstat.inc
@@ -10,12 +10,11 @@ SRC_URI = 
"http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \
   "
 
 UPSTREAM_CHECK_URI = 
"http://sebastien.godard.pagesperso-orange.fr/download.html;
-UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar"
 
 DEPENDS += "base-passwd"
 
 # autotools-brokensep as this package doesn't use automake
-inherit autotools-brokensep gettext systemd
+inherit autotools-brokensep gettext systemd upstream-version-is-even
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[lm-sensors] = 
"--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
-- 
2.17.1

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


Re: [OE-core] [PATCH] sysstat: inherit upstream-version-is-even

2019-05-08 Thread Adrian Bunk
On Tue, May 07, 2019 at 03:54:38PM +0200, Alexander Kanavin wrote:
> You need to remove UPSTREAM_CHECK_REGEX from the recipe at the same time.

Thanks, I'll send a v2.

> Alex

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] automated license reporting

2019-05-08 Thread Jon Mason
On Sat, May 4, 2019 at 8:50 PM Rob Walton  wrote:
>
> Hi,
>
>
> We're working with OpenEmbedded/yocto in a project; we're trying to create an 
> HTML license report for our users, leveraging the license.manifest files 
> output from license_image.bbclass.
>
>
> However some relatively crucial information relevant to the report isn't 
> provided in the manifests. The extra information I'm interested in is the 
> contents of the HOMEPAGE and SUMMARY variables for each package/blob recorded 
> by the manifest.
>
>
> I'm proposing to submit a patch to add the following to `write_license_files`:
>
>
> -license_file.write("LICENSE: %s\n\n" % 
> pkg_dic[pkg]["LICENSE"])
> -
> +license_file.write("LICENSE: %s\n" % pkg_dic[pkg]["LICENSE"])
> +license_file.write("SUMMARY: %s\n" % 
> pkg_dic[pkg].get("SUMMARY", ""))
> +license_file.write("HOMEPAGE: %s\n\n" % 
> pkg_dic[pkg].get("HOMEPAGE", ""))
>
> At the moment it isn't a problem for us if this extra information is missing 
> for /some/ packages, as long as it is included at least once per recipe 
> (which is the case).

Sorry, but why is this a problem?  Is there some legal requirement
this fulfills, or does is this an internal standard?

> The above patch would rely on another patch to add extra output in 
> package.bbclass::emit_pkg_data
>
>
> +write_if_exists(sf, pkg, 'HOMEPAGE')
>
> We also have a bbclass to convert the license.manifest(s) to JSON format for 
> easier machine readability, so we can automate this process in our build 
> system. This bbclass is also potentially upstreamable.
>
> My questions are: Would members of the community object to these patches? Are 
> there any other suggestions for grabbing this extra info without submitting 
> the patches? Would anyone else in the community find this useful?

IMHO, the license file is for only the licenses of the relevant
projects.  This would muddy the waters.  Perhaps creating another file
that has all of the relevant information you desire would be better.

Thanks,
Jon

>
> Thanks,
>
>
> Rob
>
> 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


Re: [OE-core] [PATCH] wget: update to 1.20.3

2019-05-08 Thread Burton, Ross
On Wed, 8 May 2019 at 14:35, Paulo Neves  wrote:
> Should this version bump be backported or the patch
> http://git.savannah.gnu.org/cgit/wget.git/commit/?id=692d5c5215de0db482c252492a92fc424cc6a97c
> be applied in older versions?

The CVE should be backported.

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


[OE-core] [PATCH v2] resulttool: Add option to dump all ptest logs

2019-05-08 Thread Joshua Watt
Adds an option to dump all the ptest logs to individual files in a
specified directory. If multiple test runs are present, the
'--prepend-run' argument will create separate directories for each test
run under the target directory and put the logs there to prevent each
test run from clobbering the others.

[YOCTO #13331]

Signed-off-by: Joshua Watt 
---
 scripts/lib/resulttool/log.py | 54 +++
 scripts/lib/resulttool/resultutils.py | 16 
 2 files changed, 54 insertions(+), 16 deletions(-)

diff --git a/scripts/lib/resulttool/log.py b/scripts/lib/resulttool/log.py
index 5584f2d0a99..49816357cda 100644
--- a/scripts/lib/resulttool/log.py
+++ b/scripts/lib/resulttool/log.py
@@ -11,6 +11,7 @@
 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 # more details.
 #
+import os
 import resulttool.resultutils as resultutils
 
 def show_ptest(result, ptest, logger):
@@ -24,22 +25,38 @@ def show_ptest(result, ptest, logger):
 
 def log(args, logger):
 results = resultutils.load_resultsdata(args.source)
-for path in results:
-for res in results[path]:
-if 'result' not in results[path][res]:
-continue
-r = results[path][res]['result']
-
-if args.raw:
-if 'ptestresult.rawlogs' in r:
-print(r['ptestresult.rawlogs']['log'])
-else:
-print('Raw logs not found')
-return 1
-
-for ptest in args.ptest:
-if not show_ptest(r, ptest, logger):
-return 1
+
+ptest_count = sum(1 for _, _, _, r in 
resultutils.test_run_results(results) if 'ptestresult.sections' in r)
+if ptest_count > 1 and not args.prepend_run:
+print("%i ptest sections found. '--prepend-run' is required" % 
ptest_count)
+return 1
+
+for _, run_name, _, r in resultutils.test_run_results(results):
+if args.dump_ptest:
+if 'ptestresult.sections' in r:
+for name, ptest in r['ptestresult.sections'].items():
+if 'log' in ptest:
+dest_dir = args.dump_ptest
+if args.prepend_run:
+dest_dir = os.path.join(dest_dir, run_name)
+
+os.makedirs(dest_dir, exist_ok=True)
+
+dest = os.path.join(dest_dir, '%s.log' % name)
+print(dest)
+with open(dest, 'w') as f:
+f.write(ptest['log'])
+
+if args.raw:
+if 'ptestresult.rawlogs' in r:
+print(r['ptestresult.rawlogs']['log'])
+else:
+print('Raw logs not found')
+return 1
+
+for ptest in args.ptest:
+if not show_ptest(r, ptest, logger):
+return 1
 
 def register_commands(subparsers):
 """Register subcommands from this plugin"""
@@ -51,6 +68,11 @@ def register_commands(subparsers):
 help='the results file/directory/URL to import')
 parser.add_argument('--ptest', action='append', default=[],
 help='show logs for a ptest')
+parser.add_argument('--dump-ptest', metavar='DIR',
+help='Dump all ptest log files to the specified directory.')
+parser.add_argument('--prepend-run', action='store_true',
+help='''Dump ptest results to a subdirectory named after the test 
run when using --dump-ptest.
+Required if more than one test run is present in the 
result file''')
 parser.add_argument('--raw', action='store_true',
 help='show raw logs')
 
diff --git a/scripts/lib/resulttool/resultutils.py 
b/scripts/lib/resulttool/resultutils.py
index 8d17c7cd658..07dab4cbd31 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -167,3 +167,19 @@ def git_get_result(repo, tags):
 append_resultsdata(results, obj)
 
 return results
+
+def test_run_results(results):
+"""
+Convenient generator function that iterates over all test runs that have a
+result section.
+
+Generates a tuple of:
+(result json file path, test run name, test run (dict), test run 
"results" (dict))
+for each test run that has a "result" section
+"""
+for path in results:
+for run_name, test_run in results[path].items():
+if not 'result' in test_run:
+continue
+yield path, run_name, test_run, test_run['result']
+
-- 
2.20.1

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


[OE-core] [OE-Core][PATCH v2 3/3] systemd: Restore mask and preset targets, fix instance creation

2019-05-08 Thread Alex Kiernan
Ensure that anyone who sets SYSTEMD_AUTO_ENABLE_${PN} = "mask" (or
"preset") retains the previous behaviour. In addition fix "enable" so it
can (again) create instance units out of templates.

Remove over-zealous quoting of SYSTEMD_SERVICE_ESCAPED as it's already
safely escaped (and can be multiple arguments).

Reported-by: Paul Barker 
Signed-off-by: Alex Kiernan 
---

Changes in v2:
- restore mask and preset targets, fix instance creation

 meta/classes/systemd.bbclass | 37 +++-
 1 file changed, 28 insertions(+), 9 deletions(-)

diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index 3935685c18cb..d1cb17dc8db3 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -16,18 +16,36 @@ python __anonymous() {
 # from doing any work so that pure-systemd images don't have redundant init
 # files.
 if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
+d.appendVar("DEPENDS", " systemd-systemctl-native")
+d.appendVar("PACKAGE_WRITE_DEPS", " systemd-systemctl-native")
 if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, 
d):
 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
 }
 
 systemd_postinst() {
 if type systemctl >/dev/null 2>/dev/null; then
+   OPTS=""
+
+   if [ -n "$D" ]; then
+   OPTS="--root=$D"
+   fi
+
+   if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
+   for service in ${SYSTEMD_SERVICE_ESCAPED}; do
+   case "${service}" in
+   *@*)
+   systemctl ${OPTS} enable "${service}"
+   ;;
+   esac
+   done
+   fi
+
if [ -z "$D" ]; then
systemctl daemon-reload
-   systemctl preset "${SYSTEMD_SERVICE_ESCAPED}"
+   systemctl preset ${SYSTEMD_SERVICE_ESCAPED}
 
if [ "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
-   systemctl --no-block restart 
"${SYSTEMD_SERVICE_ESCAPED}"
+   systemctl --no-block restart ${SYSTEMD_SERVICE_ESCAPED}
fi
fi
 fi
@@ -36,9 +54,9 @@ fi
 systemd_prerm() {
 if type systemctl >/dev/null 2>/dev/null; then
if [ -z "$D" ]; then
-   systemctl stop "${SYSTEMD_SERVICE_ESCAPED}"
+   systemctl stop ${SYSTEMD_SERVICE_ESCAPED}
 
-   systemctl disable "${SYSTEMD_SERVICE_ESCAPED}"
+   systemctl disable ${SYSTEMD_SERVICE_ESCAPED}
fi
 fi
 }
@@ -162,10 +180,7 @@ python systemd_populate_packages() {
 else:
 bb.fatal("SYSTEMD_SERVICE_%s value %s does not exist" % 
(pkg_systemd, service))
 
-def systemd_create_presets(pkg):
-action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg)
-if action not in ("enable", "disable"):
-bb.fatal("SYSTEMD_AUTO_ENABLE_%s '%s' is not 'enable' or 
'disable'" % (pkg, action))
+def systemd_create_presets(pkg, action):
 presetf = oe.path.join(d.getVar("PKGD"), d.getVar("systemd_unitdir"), 
"system-preset/98-%s.preset" % pkg)
 bb.utils.mkdirhier(os.path.dirname(presetf))
 with open(presetf, 'a') as fd:
@@ -179,7 +194,11 @@ python systemd_populate_packages() {
 systemd_check_package(pkg)
 if d.getVar('SYSTEMD_SERVICE_' + pkg):
 systemd_generate_package_scripts(pkg)
-systemd_create_presets(pkg)
+action = get_package_var(d, 'SYSTEMD_AUTO_ENABLE', pkg)
+if action in ("enable", "disable"):
+systemd_create_presets(pkg, action)
+elif action not in ("mask", "preset"):
+bb.fatal("SYSTEMD_AUTO_ENABLE_%s '%s' is not 'enable', 
'disable', 'mask' or 'preset'" % (pkg, action))
 systemd_check_services()
 }
 
-- 
2.17.1

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


[OE-core] [OE-Core][PATCH v2 1/3] systemd: Default to non-stateless images

2019-05-08 Thread Alex Kiernan
When creating images, for anything other than the explicitly stateless
case, touch /etc/machine-id so that the images can be booted without an
initramfs and with `ro` set on the kernel command line, otherwise system
refuses to start:

  [7.222134] systemd[1]: No hostname configured.
  [7.227266] systemd[1]: Set hostname to .
  [7.232622] systemd[1]: System cannot boot: Missing /etc/machine-id and 
/etc is mounted read-only.
  [7.241750] systemd[1]: Booting up is supported only when:
  [7.247362] systemd[1]: 1) /etc/machine-id exists and is populated.
  [7.253752] systemd[1]: 2) /etc/machine-id exists and is empty.
  [7.259757] systemd[1]: 3) /etc/machine-id is missing and /etc is writable.

If IMAGE_FEATURES includes `stateless-rootfs` then systemctl-native is
not run on the image leaving the image for population at runtime by
systemd.

Signed-off-by: Alex Kiernan 
---

Changes in v2:
- use stateless-rootfs in IMAGE_FEATURES, not DISTRO_FEATURES

 meta/classes/image.bbclass| 9 -
 meta/recipes-core/systemd/systemd-systemctl/systemctl | 9 +
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index a23403c0827a..d2b2fb979e5f 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -33,7 +33,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs 
empty-root-password allow-empty-password allow-root-login post-install-logging"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs stateless-rootfs 
empty-root-password allow-empty-password allow-root-login post-install-logging"
 
 # Generate companion debugfs?
 IMAGE_GEN_DEBUGFS ?= "0"
@@ -665,12 +665,11 @@ reproducible_final_image_task () {
 fi
 }
 
-IMAGE_EXTRADEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 
'systemd-systemctl-native', '', d)}"
-
 systemd_preset_all () {
-   systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
 }
 
-IMAGE_PREPROCESS_COMMAND_append = " ${@bb.utils.contains('DISTRO_FEATURES', 
'systemd', 'systemd_preset_all;', '', d)} reproducible_final_image_task; "
+IMAGE_EXTRADEPENDS += "${@ 'systemd-systemctl-native' if 
bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not 
bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 
''}"
+IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if 
bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not 
bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else 
''} reproducible_final_image_task; "
 
 CVE_PRODUCT = ""
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl 
b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index d7d4e0d29a09..7fdaf8ce03d9 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -241,6 +241,15 @@ def preset_all(root):
 if state == "enable" or state is None:
 enable(root, service, location, services)
 
+# If we populate the systemd links we also create /etc/machine-id, which
+# allows systemd to boot with the filesystem read-only before generating
+# a real value and then committing it back.
+#
+# For the stateless configuration, where /etc is generated at runtime
+# (for example on a tmpfs), this script shouldn't run at all and we
+# allow systemd to completely populate /etc.
+(root / SYSCONFDIR / "machine-id").touch()
+
 
 def mask(root, *services):
 systemdir = root / SYSCONFDIR / "systemd" / "system"
-- 
2.17.1

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


[OE-core] [OE-Core][PATCH v2 0/3] Fix mask, preset, enable and restore /etc/machine-id in stateful images

2019-05-08 Thread Alex Kiernan


The recent changes to systemd.bbclass broke support for
SYSTEMD_AUTO_ENABLE set to anything other than "enable" or "disable",
whereas there are existing users for "mask" and "preset".

In addition /etc/machine-id was not created as an empty file which
caused systemd to fail to do it's boot time update of it if the rootfs
was ro at boot.

Finally instance creation from templates whilst present was no longer
correctly exposed.

Changes in v2:
- use stateless-rootfs in IMAGE_FEATURES, not DISTRO_FEATURES
- restore support for enable command
- restore mask and preset targets, fix instance creation

Alex Kiernan (3):
  systemd: Default to non-stateless images
  systemd-systemctl: Restore support for enable command
  systemd: Restore mask and preset targets, fix instance creation

 meta/classes/image.bbclass|   9 +-
 meta/classes/systemd.bbclass  |  37 +++-
 .../systemd/systemd-systemctl/systemctl   | 186 +++---
 3 files changed, 142 insertions(+), 90 deletions(-)

-- 
2.17.1

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


[OE-core] [OE-Core][PATCH v2 2/3] systemd-systemctl: Restore support for enable command

2019-05-08 Thread Alex Kiernan
Refactor so that SystemdUnit is its own class, then add support for the
enable command. This restores the ability of systemd.bbclass to create
instances using syntax such as:

  SYSTEMD_SERVICE_${PN} = "serial-getty@ttyAMA0.service"

Signed-off-by: Alex Kiernan 
---

Changes in v2:
- restore support for enable command

 .../systemd/systemd-systemctl/systemctl   | 179 ++
 1 file changed, 102 insertions(+), 77 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl 
b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 7fdaf8ce03d9..8d7b3ba32d62 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -20,6 +20,8 @@ SYSCONFDIR = Path("etc")
 BASE_LIBDIR = Path("lib")
 LIBDIR = Path("usr", "lib")
 
+locations = list()
+
 
 class SystemdFile():
 """Class representing a single systemd configuration file"""
@@ -111,12 +113,6 @@ class Presets():
 
 def _collect_presets(self, scope, root):
 """Collect list of preset files"""
-locations = [SYSCONFDIR / "systemd"]
-# Handle the usrmerge case by ignoring /lib when it's a symlink
-if not BASE_LIBDIR.is_symlink():
-locations.append(BASE_LIBDIR / "systemd")
-locations.append(LIBDIR / "systemd")
-
 presets = dict()
 for location in locations:
 paths = (root / location / scope).glob("*.preset")
@@ -146,27 +142,6 @@ class Presets():
 return None
 
 
-def collect_services(root):
-"""Collect list of service files"""
-locations = [SYSCONFDIR / "systemd"]
-# Handle the usrmerge case by ignoring /lib when it's a symlink
-if not BASE_LIBDIR.is_symlink():
-locations.append(BASE_LIBDIR / "systemd")
-locations.append(LIBDIR / "systemd")
-
-services = dict()
-for location in locations:
-paths = (root / location / "system").glob("*")
-for path in paths:
-if path.is_dir():
-continue
-# implement earlier names override later ones
-if path.name not in services:
-services[path.name] = path
-
-return services
-
-
 def add_link(path, target):
 try:
 path.parent.mkdir(parents=True)
@@ -177,69 +152,113 @@ def add_link(path, target):
 path.symlink_to(target)
 
 
-def process_deps(root, config, service, location, prop, dirstem):
-systemdir = SYSCONFDIR / "systemd" / "system"
+class SystemdUnitNotFoundError(Exception):
+pass
 
-target = ROOT / location.relative_to(root)
-try:
-for dependent in config.get('Install', prop):
-wants = root / systemdir / "{}.{}".format(dependent, dirstem) / 
service
-add_link(wants, target)
 
-except KeyError:
-pass
+class SystemdUnit():
+def __init__(self, root, unit):
+self.root = root
+self.unit = unit
+self.config = None
+
+def _path_for_unit(self, unit):
+for location in locations:
+path = self.root / location / "system" / unit
+if path.exists():
+return path
 
+raise SystemdUnitNotFoundError(self.root, unit)
 
-def enable(root, service, location, services):
-if location.is_symlink():
-# ignore aliases
-return
+def _process_deps(self, config, service, location, prop, dirstem):
+systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+
+target = ROOT / location.relative_to(self.root)
+try:
+for dependent in config.get('Install', prop):
+wants = systemdir / "{}.{}".format(dependent, dirstem) / 
service
+add_link(wants, target)
+
+except KeyError:
+pass
+
+def enable(self):
+# if we're enabling an instance, first extract the actual instance
+# then figure out what the template unit is
+template = re.match(r"[^@]+@(?P[^\.]*)\.", self.unit)
+if template:
+instance = template.group('instance')
+unit = re.sub(r"@[^\.]*\.", "@.", self.unit, 1)
+else:
+instance = None
+unit = self.unit
+
+path = self._path_for_unit(unit)
+
+if path.is_symlink():
+# ignore aliases
+return
 
-config = SystemdFile(root, location)
-template = re.match(r"[^@]+@(?P[^\.]*)\.", service)
-if template:
-instance = template.group('instance')
-if not instance:
+config = SystemdFile(self.root, path)
+if instance == "":
 try:
-instance = config.get('Install', 'DefaultInstance')[0]
-service = service.replace("@.", "@{}.".format(instance))
+default_instance = config.get('Install', 'DefaultInstance')[0]
 except KeyError:
-pass
-if instance is None:
-return
-else:
-instance = None
+

Re: [OE-core] [PATCH 2/2] openssh: usable sshd depends on rngd from rng-tools

2019-05-08 Thread Mark Hatle
On 5/8/19 5:22 PM, mikko.rap...@bmw.de wrote:
> On Wed, May 08, 2019 at 05:07:08PM +0300, Adrian Bunk wrote:
>> On Wed, May 08, 2019 at 04:26:09PM +0300, Mikko Rapeli wrote:
>>> Since openssl 1.1.1 and openssh which uses it, sshd
>>> startup is delayed. The delays range from few seconds
>>> to minutes and even to hours. The delays are visible
>>> in host keys generation and when sshd process is started
>>> in response to incoming TCP connection but is failing
>>> to provide SSH version string and clients or tests time out.
>>>
>>> In all cases traces show that sshd is waiting for getentropy()
>>> system call to return from Linux kernel, which returns only
>>> after kernel side random number pool is initialized. The pool
>>> is initialized via various entropy source which may be
>>> missing on embedded development boards or via rngd from
>>> rng-tools package from userspace. HW random number generation
>>> and kernel support help but rngd is till needed to feed that data
>>> back to the Linux kernel.
>>>
>>> Example from an NXP imx8 board shows that kernel random number pool
>>> initialization can take over 400 seconds without rngd,
>>> and with rngd it is initialized at around 4 seconds after boot.
>>> The completion of initialization is visible in kernel dmesg with line
>>> "random: crng init done".
>>> ...
>>> --- a/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
>>> +++ b/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
>>> @@ -148,6 +148,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
>>>  
>>>  RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
>>>  RDEPENDS_${PN}-sshd += "${PN}-keygen 
>>> ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit 
>>> pam-plugin-loginuid', '', d)}"
>>> +RDEPENDS_${PN}-sshd += "rng-tools"
>>> ...
>>
>> This should only be an RRECOMMENDS so that people can opt out of it.
>>
>> E.g. CONFIG_RANDOM_TRUST_CPU in the kernel can solve the same 
>> problem without using rng-tools on some platforms.
> 
> I think this is a stronger dependency than just RRECOMMENDS. We build
> images and disable recommends but we care that sshd starts as fast as in
> sumo and earlier yocto releases for testing etc purposes.

I agree with Adrian here.  It should be a recommend.  The system works without
this, and there are valid use-cases without rngd existing on the system.  (In
fact I have a couple of customers that would rather the system stall waiting for
'real' entropy then use the values from rngd.)

Note the warning on this page:  https://wiki.archlinux.org/index.php/Rng-tools

In a lot of cases, this dependency on urandom on an embedded target without even
a clock or entropy sources results in the system having effectively the same
entropy each time it starts up -- even with rngd.  So you get a false sense of
security.

Once you have a hardware (or other) rng source, the tool can be useful to
increase the amount of entropy available however... but it all starts with
having a reasonable starting source.

In your case, if using rngd has the entropy your device requires, based on your
system configuration (and you do not want recommends), then I think it's
reasonable that you need to manually include it as an image dependency.

--Mark

> -Mikko
> 

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


Re: [OE-core] [meta-oe] sip/sip3

2019-05-08 Thread Philip Balister
On 05/07/2019 08:19 PM, Rudolf J Streif wrote:
> With the recent update of sip/sip3 from 4.19.13 to 4.19.16 FILES has
> changed:
> 
> 4.19.13:
> 
> |
> 
> FILES_python3-sip3  = 
> "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/"
> FILES_${PN}-dbg  += 
> "${libdir}/${PYTHON_DIR}${PYTHON_ABI}/site-packages/.debug"|
> 
> 4.19.16 (meta-openembedded @ 50108c18):
> 
> |
> 
> FILES_python-sip  =  "${libdir}/${PYTHON_DIR}/site-packages/"
> FILES_${PN}-dbg  +=  "${libdir}/${PYTHON_DIR}/site-packages/.debug"|
> 
> |
> 
> |
> 
> |
> 
> |
> 
> That causes an issue with PyQt5 which is installed in (python-pyqt5.inc,
> meta-qt5 @ f4531ec8):
> 
> echo "py_pylib_dir =
> %(sysroot)/${libdir}/python${PYTHON_BASEVERSION}${PYTHON_ABI}" >> pyqt.cfg
> 
> PYTHON_BASEVERSION = "3.7"
> PYTHON_ABI = "m"
> 
> This can obviously be fixed on either end, but I am not quite sure what
> the right approach is.

Does this help?

https://github.com/meta-qt5/meta-qt5/pull/202

Thanks for seeing this. Having these tools across two layers is tricky.
The problem is the pyqt can be either in a qt4 layer or a qt 5 later.
And python 2/3 versions.

And the sip recipe really needs to spit out the module used for pyqt.

Philip


> 
> Thanks,
> 
> Rudi
> 
> 
>  -
> Rudolf J Streif
> CEO/CTO ibeeto
> +1.855.442.3396 x700
> 
> 
> 
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] base.bbclass: add named SRCREVs to the sstate hash

2019-05-08 Thread Christopher Larson
Does SRCPV not already cover this in the majority of cases? SRCREV_FORMAT
controls how the multiple revs end up in PV, and the change to PV results
in rebuilding anyway. And iterating over d.keys() is inefficient, *if*
you’re going to do this, operate on SRCREV, gather up the name= parameters
from scm urls, and use that to drive it.

On Wed, May 8, 2019 at 7:10 AM Michael Ho  wrote:

> Several fetchers support named sources that require setting a SRCREV with
> the source name as a suffix. These named SRCREV variables are not captured
> in the sstate hash calculation because they're only referenced within the
> bitbake fetcher function.
>
> Add a snippet to the base.bbclass anonymous python to add all named SRCREV
> variables to the vardeps of do_fetch to capture them in the sstate hash
> calculation.
>
> Testing of the bug can be shown by running the following bitbake commands
> with this patch set not applied:
>
> bitbake vulkan-demos | tee
> sed -i 's/SRCREV_gli = ".*"/SRCREV_gli = "xxx"/' \
>   ../meta/recipes-graphics/vulkan/vulkan-demos_git.bb
> bitbake vulkan-demos | tee;
>
> Results in no errors despite a broken SRCREV because the vulkan-demos is
> considered unchanged.
>
> After applying this patch the above commands instead result in a fetcher
> error which is correct.
> ---
>  meta/classes/base.bbclass | 10 ++
>  1 file changed, 10 insertions(+)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 1636c6e..84a27f5 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -638,6 +638,16 @@ python () {
>
>  if needsrcrev:
>  d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
> +# Gather all SRCREV_* references to add to the sstate hash
> calculation
> +# This may capture SRCREVs not used but it's difficult to try to
> restrict it
> +# to only what is needed
> +for dkey in d.keys():
> +if dkey.startswith("SRCREV_"):
> +# This anonymous python snippet is called multiple times
> so we
> +# need to be careful to not double up the appends here
> and cause
> +# the base hash to mismatch the task hash
> +if dkey not in (d.getVarFlag("do_fetch", "vardeps") or
> '').split():
> +d.appendVarFlag("do_fetch", "vardeps", "
> {}".format(dkey))
>
>  set_packagetriplet(d)
>
> --
> 2.7.4
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


-- 
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/2] openssh: usable sshd depends on rngd from rng-tools

2019-05-08 Thread Mikko.Rapeli
On Wed, May 08, 2019 at 05:07:08PM +0300, Adrian Bunk wrote:
> On Wed, May 08, 2019 at 04:26:09PM +0300, Mikko Rapeli wrote:
> > Since openssl 1.1.1 and openssh which uses it, sshd
> > startup is delayed. The delays range from few seconds
> > to minutes and even to hours. The delays are visible
> > in host keys generation and when sshd process is started
> > in response to incoming TCP connection but is failing
> > to provide SSH version string and clients or tests time out.
> > 
> > In all cases traces show that sshd is waiting for getentropy()
> > system call to return from Linux kernel, which returns only
> > after kernel side random number pool is initialized. The pool
> > is initialized via various entropy source which may be
> > missing on embedded development boards or via rngd from
> > rng-tools package from userspace. HW random number generation
> > and kernel support help but rngd is till needed to feed that data
> > back to the Linux kernel.
> > 
> > Example from an NXP imx8 board shows that kernel random number pool
> > initialization can take over 400 seconds without rngd,
> > and with rngd it is initialized at around 4 seconds after boot.
> > The completion of initialization is visible in kernel dmesg with line
> > "random: crng init done".
> >...
> > --- a/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
> > +++ b/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
> > @@ -148,6 +148,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
> >  
> >  RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
> >  RDEPENDS_${PN}-sshd += "${PN}-keygen 
> > ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit 
> > pam-plugin-loginuid', '', d)}"
> > +RDEPENDS_${PN}-sshd += "rng-tools"
> >...
> 
> This should only be an RRECOMMENDS so that people can opt out of it.
> 
> E.g. CONFIG_RANDOM_TRUST_CPU in the kernel can solve the same 
> problem without using rng-tools on some platforms.

I think this is a stronger dependency than just RRECOMMENDS. We build
images and disable recommends but we care that sshd starts as fast as in
sumo and earlier yocto releases for testing etc purposes.

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


[OE-core] [PATCH] base.bbclass: add named SRCREVs to the sstate hash

2019-05-08 Thread Michael Ho
Several fetchers support named sources that require setting a SRCREV with
the source name as a suffix. These named SRCREV variables are not captured
in the sstate hash calculation because they're only referenced within the
bitbake fetcher function.

Add a snippet to the base.bbclass anonymous python to add all named SRCREV
variables to the vardeps of do_fetch to capture them in the sstate hash
calculation.

Testing of the bug can be shown by running the following bitbake commands
with this patch set not applied:

bitbake vulkan-demos | tee
sed -i 's/SRCREV_gli = ".*"/SRCREV_gli = "xxx"/' \
  ../meta/recipes-graphics/vulkan/vulkan-demos_git.bb
bitbake vulkan-demos | tee;

Results in no errors despite a broken SRCREV because the vulkan-demos is
considered unchanged.

After applying this patch the above commands instead result in a fetcher
error which is correct.
---
 meta/classes/base.bbclass | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 1636c6e..84a27f5 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -638,6 +638,16 @@ python () {
 
 if needsrcrev:
 d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
+# Gather all SRCREV_* references to add to the sstate hash calculation
+# This may capture SRCREVs not used but it's difficult to try to 
restrict it
+# to only what is needed
+for dkey in d.keys():
+if dkey.startswith("SRCREV_"):
+# This anonymous python snippet is called multiple times so we
+# need to be careful to not double up the appends here and 
cause
+# the base hash to mismatch the task hash
+if dkey not in (d.getVarFlag("do_fetch", "vardeps") or 
'').split():
+d.appendVarFlag("do_fetch", "vardeps", " {}".format(dkey))
 
 set_packagetriplet(d)
 
-- 
2.7.4

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


Re: [OE-core] [PATCH 2/2] openssh: usable sshd depends on rngd from rng-tools

2019-05-08 Thread Adrian Bunk
On Wed, May 08, 2019 at 04:26:09PM +0300, Mikko Rapeli wrote:
> Since openssl 1.1.1 and openssh which uses it, sshd
> startup is delayed. The delays range from few seconds
> to minutes and even to hours. The delays are visible
> in host keys generation and when sshd process is started
> in response to incoming TCP connection but is failing
> to provide SSH version string and clients or tests time out.
> 
> In all cases traces show that sshd is waiting for getentropy()
> system call to return from Linux kernel, which returns only
> after kernel side random number pool is initialized. The pool
> is initialized via various entropy source which may be
> missing on embedded development boards or via rngd from
> rng-tools package from userspace. HW random number generation
> and kernel support help but rngd is till needed to feed that data
> back to the Linux kernel.
> 
> Example from an NXP imx8 board shows that kernel random number pool
> initialization can take over 400 seconds without rngd,
> and with rngd it is initialized at around 4 seconds after boot.
> The completion of initialization is visible in kernel dmesg with line
> "random: crng init done".
>...
> --- a/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
> +++ b/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
> @@ -148,6 +148,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
>  
>  RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
>  RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 
> 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
> +RDEPENDS_${PN}-sshd += "rng-tools"
>...

This should only be an RRECOMMENDS so that people can opt out of it.

E.g. CONFIG_RANDOM_TRUST_CPU in the kernel can solve the same 
problem without using rng-tools on some platforms.

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


[OE-core] [PATCH 2/3] perl: update to 5.28.2

2019-05-08 Thread Alexander Kanavin
Signed-off-by: Alexander Kanavin 
---
 .../perl-sanity/{perl_5.28.1.bb => perl_5.28.2.bb} | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
 rename meta/recipes-devtools/perl-sanity/{perl_5.28.1.bb => perl_5.28.2.bb} 
(97%)

diff --git a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb 
b/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
similarity index 97%
rename from meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
rename to meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
index f3948a5f8d4..12b220a4d80 100644
--- a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
+++ b/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = 
"file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \
 
 
 SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
-   
https://github.com/arsv/perl-cross/releases/download/1.2.2/perl-cross-1.2.2.tar.gz;name=perl-cross
 \
+   
https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross
 \
file://perl-rdepends.txt \

file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \

file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \
@@ -23,10 +23,10 @@ SRC_URI_append_class-native = " \
file://perl-configpm-switch.patch \
 "
 
-SRC_URI[perl.md5sum] = "838198c43d4f39d7af797e2f59c2bee5"
-SRC_URI[perl.sha256sum] = 
"3ebf85fe65df2ee165b22596540b7d5d42f84d4b72d84834f74e2e0b8956c347"
-SRC_URI[perl-cross.md5sum] = "9a6c05497bdde9a3106e3be9246f4da1"
-SRC_URI[perl-cross.sha256sum] = 
"e6987838f27d8cd3368ea68fc56a68cc52371505950927b8b7c5cb76e3a94caa"
+SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b"
+SRC_URI[perl.sha256sum] = 
"aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7"
+SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc"
+SRC_URI[perl-cross.sha256sum] = 
"84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c"
 
 PR = "r1"
 
-- 
2.17.1

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


[OE-core] [PATCH 3/3] webkitgtk: update to 2.24.1

2019-05-08 Thread Alexander Kanavin
Add a patch to address a missing format string error.

Disable the recipe on 32 bit x86, as SSE2 is now required unconditionally.

Signed-off-by: Alexander Kanavin 
---
 ...streamer-add-a-missing-format-string.patch | 24 +++
 ...ebkitgtk_2.24.0.bb => webkitgtk_2.24.1.bb} |  9 +--
 2 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 
meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
 rename meta/recipes-sato/webkit/{webkitgtk_2.24.0.bb => webkitgtk_2.24.1.bb} 
(95%)

diff --git 
a/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
 
b/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
new file mode 100644
index 000..bd4ac1e3538
--- /dev/null
+++ 
b/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch
@@ -0,0 +1,24 @@
+From 2d9687840b97186b80053dd262209e39455ac876 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin 
+Date: Wed, 8 May 2019 15:31:23 +0200
+Subject: [PATCH] gstreamer: add a missing format string
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin 
+---
+ .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp| 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git 
a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp 
b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+index e1e497ee..483fd65c 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
 b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+@@ -738,7 +738,7 @@ static GstStateChangeReturn 
webKitWebSrcChangeState(GstElement* element, GstStat
+ WebKitWebSrc* src = WEBKIT_WEB_SRC(element);
+ 
+ #if GST_CHECK_VERSION(1, 14, 0)
+-GST_DEBUG_OBJECT(src, gst_state_change_get_name(transition));
++GST_DEBUG_OBJECT(src, "%s", gst_state_change_get_name(transition));
+ #endif
+ switch (transition) {
+ case GST_STATE_CHANGE_READY_TO_NULL:
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb 
b/meta/recipes-sato/webkit/webkitgtk_2.24.1.bb
similarity index 95%
rename from meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
rename to meta/recipes-sato/webkit/webkitgtk_2.24.1.bb
index 808c92a378e..771a893a6be 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.24.1.bb
@@ -23,10 +23,11 @@ SRC_URI = 
"http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://include_array.patch \
file://narrowing.patch \
file://snprintf.patch \
+   file://0001-gstreamer-add-a-missing-format-string.patch \
"
 
-SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de"
-SRC_URI[sha256sum] = 
"2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407"
+SRC_URI[md5sum] = "ed70e2bf2476a58b17df3d051f42ce6a"
+SRC_URI[sha256sum] = 
"53cb8eaad2ca4caaae663d68331b83fd27d5bd5f6c5388d6ea3c455e338f396d"
 
 inherit cmake pkgconfig gobject-introspection perlnative distro_features_check 
upstream-version-is-even gtk-doc
 
@@ -137,3 +138,7 @@ GI_DATA_ENABLED_armv7ve = "False"
 
 # Can't be built with ccache
 CCACHE_DISABLE = "1"
+
+# Requires SSE2 on x86 platforms as of 2.24.1
+COMPATIBLE_HOST_i586 = 'null'
+COMPATIBLE_HOST_i686 = 'null'
-- 
2.17.1

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


[OE-core] [PATCH 1/3] meson: update to 0.50.1

2019-05-08 Thread Alexander Kanavin
None of the backported patches actually made it into this release.

Signed-off-by: Alexander Kanavin 
---
 meta/recipes-devtools/meson/meson.inc|  4 ++--
 .../meson/0001-Make-CPU-family-warnings-fatal.patch  |  2 +-
 ...d-environment.py-do-not-determine-whether-a.patch | 12 +---
 ...0002-Support-building-allarch-recipes-again.patch |  2 +-
 .../meson/{meson_0.50.0.bb => meson_0.50.1.bb}   |  0
 ...sdk-meson_0.50.0.bb => nativesdk-meson_0.50.1.bb} |  0
 6 files changed, 9 insertions(+), 11 deletions(-)
 rename meta/recipes-devtools/meson/{meson_0.50.0.bb => meson_0.50.1.bb} (100%)
 rename meta/recipes-devtools/meson/{nativesdk-meson_0.50.0.bb => 
nativesdk-meson_0.50.1.bb} (100%)

diff --git a/meta/recipes-devtools/meson/meson.inc 
b/meta/recipes-devtools/meson/meson.inc
index 21d34da6adf..6a723683cc0 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -18,8 +18,8 @@ SRC_URI = 
"https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P

file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \

file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
"
-SRC_URI[sha256sum] = 
"2a1bc42dda58206fb922cda5e1ca95cc03ad126321d26acc47d3493ec4e7021f"
-SRC_URI[md5sum] = "433483107fda4616eaf33de7e7083a84"
+SRC_URI[sha256sum] = 
"f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc"
+SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62"
 
 SRC_URI_append_class-native = " \
 file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git 
a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch 
b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index 9e90b72f313..adde1e271f1 100644
--- 
a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ 
b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
-From 1ec44c955f45f3787aaf92edd70dec5bcf03f665 Mon Sep 17 00:00:00 2001
+From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001
 From: Ross Burton 
 Date: Tue, 3 Jul 2018 13:59:09 +0100
 Subject: [PATCH] Make CPU family warnings fatal
diff --git 
a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
 
b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
index e64e13b8360..83347145417 100644
--- 
a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
+++ 
b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
@@ -1,4 +1,4 @@
-From c040f0dbace3259c80f3710bc019433b9c817940 Mon Sep 17 00:00:00 2001
+From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Mon, 25 Mar 2019 18:18:33 +0100
 Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build
@@ -8,23 +8,21 @@ This can, and does, go wrong when our host architecture is 
same as the target on
 
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin 
+
 ---
  mesonbuild/environment.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 4c1c5ac..6e5d689 100644
+index d4f0630..c584fa4 100644
 --- a/mesonbuild/environment.py
 +++ b/mesonbuild/environment.py
-@@ -478,7 +478,7 @@ class Environment:
+@@ -483,7 +483,7 @@ class Environment:
  self.first_invocation = True
  
  def is_cross_build(self):
--return not self.machines.matches_build_machine(MachineChoice.HOST)
+-return self.coredata.cross_file is not None
 +return self.need_exe_wrapper()
  
  def dump_coredata(self):
  return coredata.save(self.coredata, self.get_build_dir())
--- 
-2.17.1
-
diff --git 
a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
 
b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index 323e21d8f6e..e47e555324f 100644
--- 
a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ 
b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
-From a4bce582c1f13f48b329526aa81710405c4c691e Mon Sep 17 00:00:00 2001
+From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001
 From: Peter Kjellerstedt 
 Date: Thu, 26 Jul 2018 16:32:49 +0200
 Subject: [PATCH] Support building allarch recipes again
diff --git a/meta/recipes-devtools/meson/meson_0.50.0.bb 
b/meta/recipes-devtools/meson/meson_0.50.1.bb
similarity index 100%
rename from meta/recipes-devtools/meson/meson_0.50.0.bb
rename to meta/recipes-devtools/meson/meson_0.50.1.bb
diff --git a/meta/recipes-devtools/meson/nativesdk-meson_0.50.0.bb 
b/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
similarity index 100%
rename from 

Re: [OE-core] [PATCH 1/2] eoqa: use bash to execute SDK test commands

2019-05-08 Thread Mikko.Rapeli
On Wed, May 08, 2019 at 08:41:21AM -0500, Joshua Watt wrote:
> On Wed, 2019-05-08 at 16:26 +0300, Mikko Rapeli wrote:
> > The commands only work with with bash. If /bin/sh is
> > dash like in Debian, the command execution fails with
> > errors like:
> 
> This might possibly be related to 
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=11775 where it was
> discovered that in order to use dash, the CWD must be the same
> directory where the init script lives?

Yes, this is related.

In my case bitbake build is already called from bash and all scripts
seem to be calling bash correctly as /bin/bash, except for these
SDK tests.

Also on sumo, there is no meaningful debug output when these tests fail.

from oeqa.utils.subprocesstweak import errors_have_output
errors_have_output()

should maybe be used wherewhere with python subprocess...

-Mikko

> > 
> > Standard Output: /bin/sh: 5: export: --sysroot: bad variable name
> > 
> > and all SDK tests fail.
> > 
> > Signed-off-by: Mikko Rapeli 
> > ---
> >  meta/lib/oeqa/sdk/case.py  | 2 +-
> >  meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 3 ++-
> >  2 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py
> > index d8611c8..5334237 100644
> > --- a/meta/lib/oeqa/sdk/case.py
> > +++ b/meta/lib/oeqa/sdk/case.py
> > @@ -9,7 +9,7 @@ from oeqa.core.case import OETestCase
> >  class OESDKTestCase(OETestCase):
> >  def _run(self, cmd):
> >  return subprocess.check_output(". %s > /dev/null; %s;" % \
> > -(self.tc.sdk_env, cmd), shell=True,
> > +(self.tc.sdk_env, cmd), shell=True,
> > executable="/bin/bash",
> >  stderr=subprocess.STDOUT, universal_newlines=True)
> >  
> >  def fetch(self, workdir, dl_dir, url, archive=None):
> > diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> > b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> > index 6fed73e..eafbd7a 100644
> > --- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> > +++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> > @@ -42,7 +42,8 @@ class SDKBuildProject(BuildProject):
> >  def _run(self, cmd):
> >  self.log("Running . %s; " % self.sdkenv + cmd)
> >  try:
> > -output = subprocess.check_output(". %s; " % self.sdkenv
> > + cmd, shell=True, stderr=subprocess.STDOUT)
> > +output = subprocess.check_output(". %s; " % self.sdkenv
> > + cmd, shell=True,
> > + executable='/bin/bash',
> > stderr=subprocess.STDOUT)
> >  except subprocess.CalledProcessError as exc:
> >  print(exc.output.decode('utf-8'))
> >  return exc.returncode
> > -- 
> > 1.9.1
> > 
> -- 
> Joshua Watt 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] eoqa: use bash to execute SDK test commands

2019-05-08 Thread Joshua Watt
On Wed, 2019-05-08 at 16:26 +0300, Mikko Rapeli wrote:
> The commands only work with with bash. If /bin/sh is
> dash like in Debian, the command execution fails with
> errors like:

This might possibly be related to 
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11775 where it was
discovered that in order to use dash, the CWD must be the same
directory where the init script lives?

> 
> Standard Output: /bin/sh: 5: export: --sysroot: bad variable name
> 
> and all SDK tests fail.
> 
> Signed-off-by: Mikko Rapeli 
> ---
>  meta/lib/oeqa/sdk/case.py  | 2 +-
>  meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py
> index d8611c8..5334237 100644
> --- a/meta/lib/oeqa/sdk/case.py
> +++ b/meta/lib/oeqa/sdk/case.py
> @@ -9,7 +9,7 @@ from oeqa.core.case import OETestCase
>  class OESDKTestCase(OETestCase):
>  def _run(self, cmd):
>  return subprocess.check_output(". %s > /dev/null; %s;" % \
> -(self.tc.sdk_env, cmd), shell=True,
> +(self.tc.sdk_env, cmd), shell=True,
> executable="/bin/bash",
>  stderr=subprocess.STDOUT, universal_newlines=True)
>  
>  def fetch(self, workdir, dl_dir, url, archive=None):
> diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> index 6fed73e..eafbd7a 100644
> --- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> +++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
> @@ -42,7 +42,8 @@ class SDKBuildProject(BuildProject):
>  def _run(self, cmd):
>  self.log("Running . %s; " % self.sdkenv + cmd)
>  try:
> -output = subprocess.check_output(". %s; " % self.sdkenv
> + cmd, shell=True, stderr=subprocess.STDOUT)
> +output = subprocess.check_output(". %s; " % self.sdkenv
> + cmd, shell=True,
> + executable='/bin/bash',
> stderr=subprocess.STDOUT)
>  except subprocess.CalledProcessError as exc:
>  print(exc.output.decode('utf-8'))
>  return exc.returncode
> -- 
> 1.9.1
> 
-- 
Joshua Watt 

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


Re: [OE-core] [PATCH] wget: update to 1.20.3

2019-05-08 Thread Paulo Neves
This patch is useful to go around CVE-2019-5953 but other versions of
poky, like the thud do not have the correction.

Should this version bump be backported or the patch
http://git.savannah.gnu.org/cgit/wget.git/commit/?id=692d5c5215de0db482c252492a92fc424cc6a97c
be applied in older versions?

On Wed, Apr 24, 2019 at 8:56 AM Oleksandr Kravchuk
 wrote:
>
> Signed-off-by: Oleksandr Kravchuk 
> ---
>  meta/recipes-extended/wget/wget_1.20.2.bb | 8 
>  meta/recipes-extended/wget/wget_1.20.3.bb | 8 
>  2 files changed, 8 insertions(+), 8 deletions(-)
>  delete mode 100644 meta/recipes-extended/wget/wget_1.20.2.bb
>  create mode 100644 meta/recipes-extended/wget/wget_1.20.3.bb
>
> diff --git a/meta/recipes-extended/wget/wget_1.20.2.bb 
> b/meta/recipes-extended/wget/wget_1.20.2.bb
> deleted file mode 100644
> index cd20785259..00
> --- a/meta/recipes-extended/wget/wget_1.20.2.bb
> +++ /dev/null
> @@ -1,8 +0,0 @@
> -SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
> -   file://0002-improve-reproducibility.patch \
> -  "
> -
> -SRC_URI[md5sum] = "2692f6678e93601441306b5c1fc6a77a"
> -SRC_URI[sha256sum] = 
> "7e43b98cb5e10234836ebef6faf24c4d96c0ae7a480e49ff658117cc4793d166"
> -
> -require wget.inc
> diff --git a/meta/recipes-extended/wget/wget_1.20.3.bb 
> b/meta/recipes-extended/wget/wget_1.20.3.bb
> new file mode 100644
> index 00..4fa273d093
> --- /dev/null
> +++ b/meta/recipes-extended/wget/wget_1.20.3.bb
> @@ -0,0 +1,8 @@
> +SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
> +   file://0002-improve-reproducibility.patch \
> +  "
> +
> +SRC_URI[md5sum] = "db4e6dc7977cbddcd543b240079a4899"
> +SRC_URI[sha256sum] = 
> "31cccfc6630528db1c8e3a06f6decf2a370060b982841cfab2b8677400a5092e"
> +
> +require wget.inc
> --
> 2.17.1
>
> --
> ___
> 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 2/2] openssh: usable sshd depends on rngd from rng-tools

2019-05-08 Thread Mikko Rapeli
Since openssl 1.1.1 and openssh which uses it, sshd
startup is delayed. The delays range from few seconds
to minutes and even to hours. The delays are visible
in host keys generation and when sshd process is started
in response to incoming TCP connection but is failing
to provide SSH version string and clients or tests time out.

In all cases traces show that sshd is waiting for getentropy()
system call to return from Linux kernel, which returns only
after kernel side random number pool is initialized. The pool
is initialized via various entropy source which may be
missing on embedded development boards or via rngd from
rng-tools package from userspace. HW random number generation
and kernel support help but rngd is till needed to feed that data
back to the Linux kernel.

Example from an NXP imx8 board shows that kernel random number pool
initialization can take over 400 seconds without rngd,
and with rngd it is initialized at around 4 seconds after boot.
The completion of initialization is visible in kernel dmesg with line
"random: crng init done".

More details are available from:

 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912087
 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572
 * 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33
 * http://www.man7.org/linux/man-pages/man2/getrandom.2.html

Signed-off-by: Mikko Rapeli 
---
 meta/recipes-connectivity/openssh/openssh_7.9p1.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.9p1.bb 
b/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
index b971b2b..567790c 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.9p1.bb
@@ -148,6 +148,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
 
 RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
 RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 
'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
+RDEPENDS_${PN}-sshd += "rng-tools"
 RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed"
 
 RPROVIDES_${PN}-ssh = "ssh"
-- 
1.9.1

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


[OE-core] [PATCH 1/2] eoqa: use bash to execute SDK test commands

2019-05-08 Thread Mikko Rapeli
The commands only work with with bash. If /bin/sh is
dash like in Debian, the command execution fails with
errors like:

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

and all SDK tests fail.

Signed-off-by: Mikko Rapeli 
---
 meta/lib/oeqa/sdk/case.py  | 2 +-
 meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py
index d8611c8..5334237 100644
--- a/meta/lib/oeqa/sdk/case.py
+++ b/meta/lib/oeqa/sdk/case.py
@@ -9,7 +9,7 @@ from oeqa.core.case import OETestCase
 class OESDKTestCase(OETestCase):
 def _run(self, cmd):
 return subprocess.check_output(". %s > /dev/null; %s;" % \
-(self.tc.sdk_env, cmd), shell=True,
+(self.tc.sdk_env, cmd), shell=True, executable="/bin/bash",
 stderr=subprocess.STDOUT, universal_newlines=True)
 
 def fetch(self, workdir, dl_dir, url, archive=None):
diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py 
b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
index 6fed73e..eafbd7a 100644
--- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
+++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
@@ -42,7 +42,8 @@ class SDKBuildProject(BuildProject):
 def _run(self, cmd):
 self.log("Running . %s; " % self.sdkenv + cmd)
 try:
-output = subprocess.check_output(". %s; " % self.sdkenv + cmd, 
shell=True, stderr=subprocess.STDOUT)
+output = subprocess.check_output(". %s; " % self.sdkenv + cmd, 
shell=True,
+ executable='/bin/bash', 
stderr=subprocess.STDOUT)
 except subprocess.CalledProcessError as exc:
 print(exc.output.decode('utf-8'))
 return exc.returncode
-- 
1.9.1

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


Re: [OE-core] [PATCH] bitbake.conf: remove GPE_MIRROR

2019-05-08 Thread Adrian Bunk
On Tue, May 07, 2019 at 11:19:54PM +0200, Oleksandr Kravchuk wrote:
> The site is down and no recipe is this variable.
>...

Not in OE-Core, but
meta-openembedded/meta-oe/classes/gpe.bbclass:SRC_URI = 
"${GPE_MIRROR}/${BP}.tar.${GPE_TARBALL_SUFFIX}"
meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb:inherit
 distro_features_check gpe


cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


Re: [OE-core] [PATCH 2/2] strace: Fix aarch64 build with musl

2019-05-08 Thread Adrian Bunk
On Wed, May 08, 2019 at 11:58:36AM +, p...@betafive.co.uk wrote:
>...
> +--- strace-4.26.orig/strace.c
>  strace-4.26/strace.c
> +@@ -26,7 +26,7 @@
> + #include 
> + #include 
> + #ifdef HAVE_PRCTL
> +-# include 
> ++# include 
> + #endif
> + #include 
> diff --git a/meta/recipes-devtools/strace/strace_4.26.bb 
> b/meta/recipes-devtools/strace/strace_4.26.bb
> index 24f92c99e5..b71122babf 100644
> --- a/meta/recipes-devtools/strace/strace_4.26.bb
> +++ b/meta/recipes-devtools/strace/strace_4.26.bb
> @@ -15,6 +15,7 @@ SRC_URI = 
> "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
> file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
> 
> file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
> file://0001-mips-o32-fix-build.patch \
> +   file://musl-fixes-armv8.patch \
> "
>...

#include  is the documented way for getting the prototype 
of prctl(), which cannot be in linux/prctl.h for obvious reasons.

This patch creates the following problem:

../strace-4.26/strace.c: In function 'startup_child':
../strace-4.26/strace.c:1355:3: warning: implicit declaration of function 
'prctl' [-Wimplicit-function-declaration]
   prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY);
   ^


cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

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


[OE-core] HA: HA: [PATCH] util-linux: fix owner and group for binaries in resulting image

2019-05-08 Thread Popov Anton
Good day!

Sorry guys, It looks like that the problem is not in recipe but somehow 
conected with host distro:
we can not reproduce problem on linux mint 19.1 host distro
but steel face problem with permissions on CentOS Linux release 7.6.1810 (Core)

requested output of package content:
dpkg -c util-linux-mount_2.30-r0_mipsel.deb 
drwxrwxrwx root/root 0 2019-05-08 14:58 ./
drwxr-xr-x root/root 0 2019-05-08 14:58 ./bin/
-rwsr-xr-x 1000/1000 27956 2019-05-08 14:58 ./bin/mount.util-linux



With best regards,
Popov Anton


От: Burton, Ross [ross.bur...@intel.com]
Отправлено: 7 мая 2019 г. 23:08
Кому: Popov Anton
Копия: Jacob Kroon; openembedded-core@lists.openembedded.org
Тема: Re: [OE-core] HA: [PATCH] util-linux: fix owner and group for binaries in 
resulting image

On Tue, 7 May 2019 at 13:47, Popov Anton  wrote:
> I don't think so. At the moment we are using rocko release and found this 
> problem in util-linux-2.30 recipe.
>
> the problem is that util-linux builds with regular user permissions and 
> result files are owned by user with uid 1000 in our case. for most of 
> binaries in /bin and /sbin generated by util-linux this permissions issue is 
> not a problem (Because all binaries has o+x set). But for those of them who 
> have suid bit setted it became a real trouble.

Can you give an example of a concrete filename and demonstrate this by
e.g. listing the contents of a package from deploy?  For example with
master:

$ dpkg-deb  -c util-linux-mount_2.32.1-r0_corei7-64.ipk
-rwsr-xr-x root/root 47152 2019-05-07 14:40 ./bin/mount.util-linux

Permissions look right to me.

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


Re: [OE-core] [PATCH] ofono: upgrade 1.25 -> 1.29

2019-05-08 Thread Richard Purdie
On Wed, 2019-05-08 at 13:32 +0100, Richard Purdie wrote:
> On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> > Remove patch applied upstream.
> > 
> > Signed-off-by: Adrian Bunk 
> > ---
> >  .../ofono/ofono/use-python3.patch | 27 ---
> > 
> >  meta/recipes-connectivity/ofono/ofono_1.25.bb |  9 ---
> >  meta/recipes-connectivity/ofono/ofono_1.29.bb |  8 ++
> >  3 files changed, 8 insertions(+), 36 deletions(-)
> >  delete mode 100644 meta/recipes-connectivity/ofono/ofono/use-
> > python3.patch
> >  delete mode 100644 meta/recipes-connectivity/ofono/ofono_1.25.bb
> >  create mode 100644 meta/recipes-connectivity/ofono/ofono_1.29.bb
> 
> A local build of this failed with what looks like a race:

Also on the autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/570

I also confirmed that rerunning the compile did succeed confirming it
is a race of some kind.

Cheers,

Richard

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


Re: [OE-core] [PATCH] ofono: upgrade 1.25 -> 1.29

2019-05-08 Thread Richard Purdie
On Tue, 2019-05-07 at 16:11 +0300, Adrian Bunk wrote:
> Remove patch applied upstream.
> 
> Signed-off-by: Adrian Bunk 
> ---
>  .../ofono/ofono/use-python3.patch | 27 ---
> 
>  meta/recipes-connectivity/ofono/ofono_1.25.bb |  9 ---
>  meta/recipes-connectivity/ofono/ofono_1.29.bb |  8 ++
>  3 files changed, 8 insertions(+), 36 deletions(-)
>  delete mode 100644 meta/recipes-connectivity/ofono/ofono/use-
> python3.patch
>  delete mode 100644 meta/recipes-connectivity/ofono/ofono_1.25.bb
>  create mode 100644 meta/recipes-connectivity/ofono/ofono_1.29.bb

A local build of this failed with what looks like a race:

| ln -s 
/media/build1/poky/build/tmp/work/core2-64-poky-linux/ofono/1.29-r0/build/../ofono-1.29/include/netmon.h
 include/ofono/netmon.h
| /media/build1/poky/build/tmp/hosttools/mkdir -p ell
| echo -n > ell/ell.h
| ln -s 
/media/build1/poky/build/tmp/work/core2-64-poky-linux/ofono/1.29-r0/build/../ofono-1.29/include/lte.h
 include/ofono/lte.h
| ../ofono-1.29/src/genbuiltin udevng rildev ril infineon ril_intel rilmodem 
isimodem isiusb n900 u8500 qmimodem gobi mbimmodem mbim atmodem nwmodem swmodem 
ztemodem iceramodem huaweimodem calypsomodem mbmmodem telitmodem hsomodem 
ifxmodem stemodem dunmodem hfpmodem speedupmodem ubloxmodem gemaltomodem 
xmm7modem phonesim cdmamodem g1 wavecom calypso mbm hso zte huawei sierra 
novatel palmpre ifx ste stemgr caif cinterion gemalto nokia nokiacdma linktop 
icera alcatel speedup speedupcdma samsung sim900 sim7100 connman telit quectel 
ublox xmm7xxx  hfp_bluez5 dun_gw_bluez5  bluez5 hfp_ag_bluez5 upower provision 
cdma_provision file_provision  smart_messaging push_notification allowed_apns > 
src/builtin.h
| ln -s 
/media/build1/poky/build/tmp/work/core2-64-poky-linux/ofono/1.29-r0/build/../ofono-1.29/include/ims.h
 include/ofono/ims.h
| ln -s 
/media/build1/poky/build/tmp/work/core2-64-poky-linux/ofono/1.29-r0/build/include/version.h
 include/ofono/version.h
| /bin/bash: ell/ell.h: No such file or directory
| ln -s 
/media/build1/poky/build/tmp/work/core2-64-poky-linux/ofono/1.29-r0/build/../ofono-1.29/include/storage.h
 include/ofono/storage.h
| Makefile:5722: recipe for target 'ell/ell.h' failed
| make: *** [ell/ell.h] Error 1
| make: *** Waiting for unfinished jobs

Cheers,

Richard

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


Re: [OE-core] [PATCH v3] glib-2.0: fix ptest failures

2019-05-08 Thread richard . purdie
On Wed, 2019-05-08 at 12:54 +0100, Burton, Ross wrote:
> On Wed, 8 May 2019 at 04:06,  wrote:
> > * Increase the timeout to 15 minutes as the default
> >   timeout which is 5 minutes is not enough to fix below error:
> >   | Executing: glib/actions.test
> >   | Test timed out after 300 seconds
> >   | cleaning up pid 13050
> >   | FAIL: glib/actions.test (Child process killed by signal 9)
> 
> My Debian machine runs that test in 20 seconds.
> 
> Maybe we're missing dependencies to get a working session dbus up?

That seems likely. I'd note that we see:

https://autobuilder.yocto.io/pub/non-release/20190502-12/testresults/testresult-report.txt


Recipe   | Passed  | Failed   | Skipped   | Time(s)
glib-2.0 | 290 | 1| 0 | 427

and the failing test is:

ptestresult.glib-2.0.glib/gdatetime.test__Child_process_killed_by_signal_6_

so it would seem this is working on our autobuilder tests? That would
seem to back up Ross' comments.

Cheers,

Richard

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


[OE-core] [PATCH 2/2] strace: Fix aarch64 build with musl

2019-05-08 Thread paul
From: Paul Barker 

Signed-off-by: Paul Barker 
---
 .../strace/strace/musl-fixes-armv8.patch  | 29 +++
 meta/recipes-devtools/strace/strace_4.26.bb   |  1 +
 2 files changed, 30 insertions(+)
 create mode 100644 meta/recipes-devtools/strace/strace/musl-fixes-armv8.patch

diff --git a/meta/recipes-devtools/strace/strace/musl-fixes-armv8.patch 
b/meta/recipes-devtools/strace/strace/musl-fixes-armv8.patch
new file mode 100644
index 00..185d1bef56
--- /dev/null
+++ b/meta/recipes-devtools/strace/strace/musl-fixes-armv8.patch
@@ -0,0 +1,29 @@
+Fixes on musl + armv8:
+
+error: redefinition of 'struct prctl_mm_map'
+ struct prctl_mm_map {
+^~~~
+In file included from 
work/aarch64-lmp-linux-musl/strace/4.26-r0/recipe-sysroot/usr/include/asm/ptrace.h:67,
+ from 
work/aarch64-lmp-linux-musl/strace/4.26-r0/recipe-sysroot/usr/include/linux/ptrace.h:107,
+ from ../strace-4.26/ptrace.h:36,
+ from ../strace-4.26/strace.c:16:
+work/aarch64-lmp-linux-musl/strace/4.26-r0/recipe-sysroot/usr/include/linux/prctl.h:134:8:
 note: originally defined here
+ struct prctl_mm_map {
+^~~~
+
+[From: https://github.com/foundriesio/meta-lmp, thanks to Ricardo Salveti]
+Upstream-status: Pending
+Signed-off-by: Paul Barker 
+
+Index: strace-4.26/strace.c
+===
+--- strace-4.26.orig/strace.c
 strace-4.26/strace.c
+@@ -26,7 +26,7 @@
+ #include 
+ #include 
+ #ifdef HAVE_PRCTL
+-# include 
++# include 
+ #endif
+ #include 
diff --git a/meta/recipes-devtools/strace/strace_4.26.bb 
b/meta/recipes-devtools/strace/strace_4.26.bb
index 24f92c99e5..b71122babf 100644
--- a/meta/recipes-devtools/strace/strace_4.26.bb
+++ b/meta/recipes-devtools/strace/strace_4.26.bb
@@ -15,6 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \

file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
file://0001-mips-o32-fix-build.patch \
+   file://musl-fixes-armv8.patch \
"
 SRC_URI[md5sum] = "daa51acc0c7c696221ec03cf0b30a7af"
 SRC_URI[sha256sum] = 
"7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c"
-- 
2.17.1

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


[OE-core] [PATCH 1/2] gdb: Fix aarch64 build with musl

2019-05-08 Thread paul
From: Paul Barker 

Signed-off-by: Paul Barker 
---
 meta/recipes-devtools/gdb/gdb-8.2.1.inc   |  1 +
 ...h64-Fix-the-gdb-build-with-musl-libc.patch | 52 +++
 2 files changed, 53 insertions(+)
 create mode 100644 
meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch

diff --git a/meta/recipes-devtools/gdb/gdb-8.2.1.inc 
b/meta/recipes-devtools/gdb/gdb-8.2.1.inc
index cb8d189f2a..f28b57439c 100644
--- a/meta/recipes-devtools/gdb/gdb-8.2.1.inc
+++ b/meta/recipes-devtools/gdb/gdb-8.2.1.inc
@@ -18,6 +18,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
file://gdbserver-ctrl-c-handling.patch \
file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \
file://CVE-2017-9778.patch \
+   file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \
 "
 SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70"
 SRC_URI[sha256sum] = 
"0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202"
diff --git 
a/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
 
b/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
new file mode 100644
index 00..cafc4a871c
--- /dev/null
+++ 
b/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
@@ -0,0 +1,52 @@
+From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy 
+Date: Thu, 13 Dec 2018 17:47:17 +
+Subject: [PATCH] AArch64: Fix the gdb build with musl libc
+
+Including asm/sigcontext.h together with libc headers is not valid. In
+general linux headers may not work with libc headers, so mixing them
+should be avoided, especially when the linux header defines types that
+are also exposed in libc headers.
+
+In case of asm/sigcontext.h glibc happens to work because glibc signal.h
+directly includes it, but e.g. in musl libc signal.h replicates the
+sigcontext.h definitions in an abi compatible way which are in conflict
+with the linux definitions when both headers are included.
+
+Since old linux headers or old libc headers may not have the necessary
+definitions, gdb has to replicate the definitions it relies on anyway.
+Which is fine since all definitions must be ABI stable. For linux apis
+that are not available via libc headers, replicating the definitions in
+gdb is the most reliable way to use them.
+
+Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux
+headers, which is just as problematic and should be fixed in linux.
+
+gdb/ChangeLog:
+
+   * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of
+   asm/sigcontext.h.
+
+[ChangeLog entry stripped so that patch applies cleanly]
+Upstream-status: Backport
+Signed-off-by: Paul Barker 
+---
+ gdb/nat/aarch64-sve-linux-ptrace.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h 
b/gdb/nat/aarch64-sve-linux-ptrace.h
+index 029e753ffe..172ae39432 100644
+--- a/gdb/nat/aarch64-sve-linux-ptrace.h
 b/gdb/nat/aarch64-sve-linux-ptrace.h
+@@ -20,7 +20,7 @@
+ #ifndef AARCH64_SVE_LINUX_PTRACE_H
+ #define AARCH64_SVE_LINUX_PTRACE_H
+ 
+-#include 
++#include 
+ #include 
+ #include 
+ #include 
+-- 
+2.17.1
+
-- 
2.17.1

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


[OE-core] [PATCH 0/2] Fix strace & gdb build on aarch64/musl

2019-05-08 Thread paul
From: Paul Barker 

These patches should also apply cleanly to warrior after the commit
"gdb: fix CVE-2017-9778" is backported.

Paul Barker (2):
  gdb: Fix aarch64 build with musl
  strace: Fix aarch64 build with musl

 meta/recipes-devtools/gdb/gdb-8.2.1.inc   |  1 +
 ...h64-Fix-the-gdb-build-with-musl-libc.patch | 52 +++
 .../strace/strace/musl-fixes-armv8.patch  | 29 +++
 meta/recipes-devtools/strace/strace_4.26.bb   |  1 +
 4 files changed, 83 insertions(+)
 create mode 100644 
meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch
 create mode 100644 meta/recipes-devtools/strace/strace/musl-fixes-armv8.patch

-- 
2.17.1

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


Re: [OE-core] [PATCH v3] glib-2.0: fix ptest failures

2019-05-08 Thread Burton, Ross
On Wed, 8 May 2019 at 04:06,  wrote:
> * Increase the timeout to 15 minutes as the default
>   timeout which is 5 minutes is not enough to fix below error:
>   | Executing: glib/actions.test
>   | Test timed out after 300 seconds
>   | cleaning up pid 13050
>   | FAIL: glib/actions.test (Child process killed by signal 9)

My Debian machine runs that test in 20 seconds.

Maybe we're missing dependencies to get a working session dbus up?

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


[OE-core] [PATCH 4/4] scripts/pybootchart/draw: Fix some bounding problems

2019-05-08 Thread Richard Purdie
The chart size extents were being incorrectly reported, not accounting for the
width of the legend. Set a minimum width to account for that (its fixed size).

Also stop printing the chart background off the bottom of the chart extents.

Signed-off-by: Richard Purdie 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index b3184411cbc..add5c538821 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -342,6 +342,10 @@ def extents(options, xscale, trace):
 if trace.mem_stats:
 h += meminfo_bar_h
 
+# Allow for width of process legend and offset
+if w < (720 + off_x):
+w = 720 + off_x
+
 return (w, h)
 
 def clip_visible(clip, rect):
@@ -490,7 +494,7 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, 
sec_w):
 return curr_y
 
 def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w):
-chart_rect = [off_x, curr_y+header_h, w, h - 2 * off_y - header_h - leg_s 
+ proc_h]
+chart_rect = [off_x, curr_y+header_h, w, h - curr_y - 1 * off_y - header_h 
 ]
 
 draw_legend_box (ctx, "Configure", \
  TASK_COLOR_CONFIGURE, off_x  , curr_y + 45, leg_s)
-- 
2.20.1

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


[OE-core] [PATCH 3/4] scripts/pybootchart/draw: Clarify some variable names

2019-05-08 Thread Richard Purdie
This tweaks some intermediate variable names to make it clearer what
is being done.

Signed-off-by: Richard Purdie 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 19 ++-
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 99b3caacc7f..b3184411cbc 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -513,18 +513,19 @@ def render_processes_chart(ctx, options, trace, curr_y, 
w, h, sec_w):
 y = curr_y+header_h
 
 offset = trace.min or min(trace.start.keys())
-for s in sorted(trace.start.keys()):
-for val in sorted(trace.start[s]):
+for start in sorted(trace.start.keys()):
+for process in sorted(trace.start[start]):
 if not options.app_options.show_all and \
-trace.processes[val][1] - s < options.app_options.mintime:
+trace.processes[process][1] - start < 
options.app_options.mintime:
 continue
-task = val.split(":")[1]
-#print(val)
-#print(trace.processes[val][1])
+task = process.split(":")[1]
+
+#print(process)
+#print(trace.processes[process][1])
 #print(s)
 
-x = chart_rect[0] + (s - offset) * sec_w
-w = ((trace.processes[val][1] - s) * sec_w)
+x = chart_rect[0] + (start - offset) * sec_w
+w = ((trace.processes[process][1] - start) * sec_w)
 
 #print("proc at %s %s %s %s" % (x, y, w, proc_h))
 col = None
@@ -549,7 +550,7 @@ def render_processes_chart(ctx, options, trace, curr_y, w, 
h, sec_w):
 draw_fill_rect(ctx, col, (x, y, w, proc_h))
 draw_rect(ctx, PROC_BORDER_COLOR, (x, y, w, proc_h))
 
-draw_label_in_box(ctx, PROC_TEXT_COLOR, val, x, y + proc_h - 4, w, 
proc_h)
+draw_label_in_box(ctx, PROC_TEXT_COLOR, process, x, y + proc_h - 
4, w, proc_h)
 y = y + proc_h
 
 return curr_y
-- 
2.20.1

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


[OE-core] [PATCH 2/4] scripts/pybootchart: Port to python3

2019-05-08 Thread Richard Purdie
This updates the pybootchart code (used for viewing build timing profiles)
to use python3. The bulk of the changes are to use gi instead of pygtk, i.e.
port from gtk+2 to gtk+3.

The main change is to make the bootchart widget inherit gtk.Scrollable
and change the way the scrollbars are implemented to match the new method
upstream. The drawing code used cairo already so can remain unchanged,

Signed-off-by: Richard Purdie 
---
 scripts/pybootchartgui/pybootchartgui.py  |   2 +-
 scripts/pybootchartgui/pybootchartgui/draw.py |  14 +-
 scripts/pybootchartgui/pybootchartgui/gui.py  | 208 +-
 .../pybootchartgui/pybootchartgui/parsing.py  |  12 +-
 4 files changed, 118 insertions(+), 118 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui.py 
b/scripts/pybootchartgui/pybootchartgui.py
index 7ce1a5be40d..1c4062b42c8 100755
--- a/scripts/pybootchartgui/pybootchartgui.py
+++ b/scripts/pybootchartgui/pybootchartgui.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 #  This file is part of pybootchartgui.
 
diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 019070a7db4..99b3caacc7f 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -19,6 +19,7 @@ import math
 import re
 import random
 import colorsys
+import functools
 from operator import itemgetter
 
 class RenderOptions:
@@ -449,7 +450,7 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, 
sec_w):
 [(sample.time,
   # Sum up used space of all volumes including the 
current one
   # so that the graphs appear as stacked on top of 
each other.
-  reduce(lambda x,y: x+y,
+  functools.reduce(lambda x,y: x+y,
  [sample.records[volume] - min_used[volume]
   for volume in volumes[0:i]
   if volume in sample.records],
@@ -501,7 +502,7 @@ def render_processes_chart(ctx, options, trace, curr_y, w, 
h, sec_w):
  TASK_COLOR_SYSROOT, off_x+360, curr_y + 45, leg_s)
 draw_legend_box (ctx, "Package", \
  TASK_COLOR_PACKAGE, off_x+480, curr_y + 45, leg_s)
-draw_legend_box (ctx, "Package Write",
+draw_legend_box (ctx, "Package Write", \
  TASK_COLOR_PACKAGE_WRITE, off_x+600, curr_y + 45, leg_s)
 
 ctx.set_font_size(PROC_TEXT_FONT_SIZE)
@@ -518,13 +519,14 @@ def render_processes_chart(ctx, options, trace, curr_y, 
w, h, sec_w):
 trace.processes[val][1] - s < options.app_options.mintime:
 continue
 task = val.split(":")[1]
-#print val
-#print trace.processes[val][1]
-#print s
+#print(val)
+#print(trace.processes[val][1])
+#print(s)
+
 x = chart_rect[0] + (s - offset) * sec_w
 w = ((trace.processes[val][1] - s) * sec_w)
 
-#print "proc at %s %s %s %s" % (x, y, w, proc_h)
+#print("proc at %s %s %s %s" % (x, y, w, proc_h))
 col = None
 if task == "do_compile":
 col = TASK_COLOR_COMPILE
diff --git a/scripts/pybootchartgui/pybootchartgui/gui.py 
b/scripts/pybootchartgui/pybootchartgui/gui.py
index 7fedd232df0..e1fe915563b 100644
--- a/scripts/pybootchartgui/pybootchartgui/gui.py
+++ b/scripts/pybootchartgui/pybootchartgui/gui.py
@@ -13,64 +13,83 @@
 #  You should have received a copy of the GNU General Public License
 #  along with pybootchartgui. If not, see .
 
-import gobject
-import gtk
-import gtk.gdk
-import gtk.keysyms
+import gi
+gi.require_version('Gtk', '3.0') 
+from gi.repository import Gtk as gtk
+from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import GObject as gobject
+from gi.repository import GObject
+
 from . import draw
 from .draw import RenderOptions
 
-class PyBootchartWidget(gtk.DrawingArea):
+class PyBootchartWidget(gtk.DrawingArea, gtk.Scrollable):
 __gsignals__ = {
-'expose-event': 'override',
-'clicked' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, 
(gobject.TYPE_STRING, gtk.gdk.Event)),
+'clicked' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, 
(gobject.TYPE_STRING, Gdk.Event)),
 'position-changed' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, 
(gobject.TYPE_INT, gobject.TYPE_INT)),
 'set-scroll-adjustments' : (gobject.SIGNAL_RUN_LAST, 
gobject.TYPE_NONE, (gtk.Adjustment, gtk.Adjustment))
 }
 
+hadjustment = GObject.property(type=Gtk.Adjustment,
+   default=Gtk.Adjustment(),
+   flags=GObject.PARAM_READWRITE)
+hscroll_policy = GObject.property(type=Gtk.ScrollablePolicy,
+   

[OE-core] [PATCH 1/4] scripts/pybootchart: Fix mixed indentation

2019-05-08 Thread Richard Purdie
The script had a toxic mix of tabs and spaces, fix this.

Signed-off-by: Richard Purdie 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 1378 -
 1 file changed, 689 insertions(+), 689 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 201ce4577fc..019070a7db4 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -23,18 +23,18 @@ from operator import itemgetter
 
 class RenderOptions:
 
-   def __init__(self, app_options):
-   # should we render a cumulative CPU time chart
-   self.cumulative = True
-   self.charts = True
-   self.kernel_only = False
-   self.app_options = app_options
-
-   def proc_tree (self, trace):
-   if self.kernel_only:
-   return trace.kernel_tree
-   else:
-   return trace.proc_tree
+def __init__(self, app_options):
+# should we render a cumulative CPU time chart
+self.cumulative = True
+self.charts = True
+self.kernel_only = False
+self.app_options = app_options
+
+def proc_tree (self, trace):
+if self.kernel_only:
+return trace.kernel_tree
+else:
+return trace.proc_tree
 
 # Process tree background color.
 BACK_COLOR = (1.0, 1.0, 1.0, 1.0)
@@ -136,11 +136,11 @@ TASK_COLOR_PACKAGE_WRITE = (0.0, 0.50, 0.50, 1.0)
 # Distinct colors used for different disk volumnes.
 # If we have more volumns, colors get re-used.
 VOLUME_COLORS = [
-   (1.0, 1.0, 0.00, 1.0),
-   (0.0, 1.00, 0.00, 1.0),
-   (1.0, 0.00, 1.00, 1.0),
-   (0.0, 0.00, 1.00, 1.0),
-   (0.0, 1.00, 1.00, 1.0),
+(1.0, 1.0, 0.00, 1.0),
+(0.0, 1.00, 0.00, 1.0),
+(1.0, 0.00, 1.00, 1.0),
+(0.0, 0.00, 1.00, 1.0),
+(0.0, 1.00, 1.00, 1.0),
 ]
 
 # Process states
@@ -152,7 +152,7 @@ STATE_STOPPED   = 4
 STATE_ZOMBIE= 5
 
 STATE_COLORS = [(0, 0, 0, 0), PROC_COLOR_R, PROC_COLOR_S, PROC_COLOR_D, \
-   PROC_COLOR_T, PROC_COLOR_Z, PROC_COLOR_X, PROC_COLOR_W]
+PROC_COLOR_T, PROC_COLOR_Z, PROC_COLOR_X, PROC_COLOR_W]
 
 # CumulativeStats Types
 STAT_TYPE_CPU = 0
@@ -160,80 +160,80 @@ STAT_TYPE_IO = 1
 
 # Convert ps process state to an int
 def get_proc_state(flag):
-   return "RSDTZXW".find(flag) + 1
+return "RSDTZXW".find(flag) + 1
 
 def draw_text(ctx, text, color, x, y):
-   ctx.set_source_rgba(*color)
-   ctx.move_to(x, y)
-   ctx.show_text(text)
+ctx.set_source_rgba(*color)
+ctx.move_to(x, y)
+ctx.show_text(text)
 
 def draw_fill_rect(ctx, color, rect):
-   ctx.set_source_rgba(*color)
-   ctx.rectangle(*rect)
-   ctx.fill()
+ctx.set_source_rgba(*color)
+ctx.rectangle(*rect)
+ctx.fill()
 
 def draw_rect(ctx, color, rect):
-   ctx.set_source_rgba(*color)
-   ctx.rectangle(*rect)
-   ctx.stroke()
+ctx.set_source_rgba(*color)
+ctx.rectangle(*rect)
+ctx.stroke()
 
 def draw_legend_box(ctx, label, fill_color, x, y, s):
-   draw_fill_rect(ctx, fill_color, (x, y - s, s, s))
-   draw_rect(ctx, PROC_BORDER_COLOR, (x, y - s, s, s))
-   draw_text(ctx, label, TEXT_COLOR, x + s + 5, y)
+draw_fill_rect(ctx, fill_color, (x, y - s, s, s))
+draw_rect(ctx, PROC_BORDER_COLOR, (x, y - s, s, s))
+draw_text(ctx, label, TEXT_COLOR, x + s + 5, y)
 
 def draw_legend_line(ctx, label, fill_color, x, y, s):
-   draw_fill_rect(ctx, fill_color, (x, y - s/2, s + 1, 3))
-   ctx.arc(x + (s + 1)/2.0, y - (s - 3)/2.0, 2.5, 0, 2.0 * math.pi)
-   ctx.fill()
-   draw_text(ctx, label, TEXT_COLOR, x + s + 5, y)
+draw_fill_rect(ctx, fill_color, (x, y - s/2, s + 1, 3))
+ctx.arc(x + (s + 1)/2.0, y - (s - 3)/2.0, 2.5, 0, 2.0 * math.pi)
+ctx.fill()
+draw_text(ctx, label, TEXT_COLOR, x + s + 5, y)
 
 def draw_label_in_box(ctx, color, label, x, y, w, maxx):
-   label_w = ctx.text_extents(label)[2]
-   label_x = x + w / 2 - label_w / 2
-   if label_w + 10 > w:
-   label_x = x + w + 5
-   if label_x + label_w > maxx:
-   label_x = x - label_w - 5
-   draw_text(ctx, label, color, label_x, y)
+label_w = ctx.text_extents(label)[2]
+label_x = x + w / 2 - label_w / 2
+if label_w + 10 > w:
+label_x = x + w + 5
+if label_x + label_w > maxx:
+label_x = x - label_w - 5
+draw_text(ctx, label, color, label_x, y)
 
 def draw_sec_labels(ctx, options, rect, sec_w, nsecs):
-   ctx.set_font_size(AXIS_FONT_SIZE)
-   prev_x = 0
-   for i in range(0, rect[2] + 1, sec_w):
-   if ((i / sec_w) % nsecs == 0) :
-   if options.app_options.as_minutes :
-   label = "%.1f" % (i / sec_w / 60.0)
-   else :
-   label = "%d" % (i / sec_w)
-  

[OE-core] [PATCH] uboot-sign: Fix u-boot-nodtb symlinks

2019-05-08 Thread Ying-Chun Liu (PaulLiu)
When using u-boot-nodtb, the symlink didn't install correctly to the
${DEPLOYDIR}. This commit fixes this bug.

Signed-off-by: Ying-Chun Liu (PaulLiu) 
---
 meta/classes/uboot-sign.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass
index 6385a06c13..8beafff7c0 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes/uboot-sign.bbclass
@@ -53,8 +53,8 @@ concat_dtb_helper() {
 
if [ -f "${UBOOT_NODTB_BINARY}" ]; then
install ${UBOOT_NODTB_BINARY} ${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
-   ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK}
-   ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY}
+   ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_SYMLINK}
+   ln -sf ${UBOOT_NODTB_IMAGE} ${DEPLOYDIR}/${UBOOT_NODTB_BINARY}
fi
 
# Concatenate U-Boot w/o DTB & DTB with public key
-- 
2.20.1

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


[OE-core] [PATCH] patch: add minver and maxver parameters

2019-05-08 Thread Ross Burton
Add minver/maxver parameters to limit patch application by comparing PV.

Signed-off-by: Ross Burton 
---
 meta/lib/oe/patch.py | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index f43cf047c06..91624e26ddb 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -847,6 +847,7 @@ def src_patches(d, all=False, expand=True):
 
 
 def should_apply(parm, d):
+import bb.utils
 if "mindate" in parm or "maxdate" in parm:
 pn = d.getVar('PN')
 srcdate = d.getVar('SRCDATE_%s' % pn)
@@ -883,5 +884,15 @@ def should_apply(parm, d):
 if srcrev and parm["notrev"] in srcrev:
 return False, "doesn't apply to revision"
 
+if "maxver" in parm:
+pv = d.getVar('PV')
+if bb.utils.vercmp_string_op(pv, parm["maxver"], ">"):
+return False, "applies to earlier version"
+
+if "minver" in parm:
+pv = d.getVar('PV')
+if bb.utils.vercmp_string_op(pv, parm["minver"], "<"):
+return False, "applies to later version"
+
 return True, None
 
-- 
2.11.0

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


[OE-core] [PATCH 5/5] local.conf.sample: enable gtk+ frontend in addition to sdl

2019-05-08 Thread Alexander Kanavin
As SDL was found to be buggy for virgl-based GL passthrough,
gtk+ is enabled to allow that use case.

Signed-off-by: Alexander Kanavin 
---
 meta-poky/conf/local.conf.sample | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta-poky/conf/local.conf.sample b/meta-poky/conf/local.conf.sample
index 9068e567dcd..2775e15d748 100644
--- a/meta-poky/conf/local.conf.sample
+++ b/meta-poky/conf/local.conf.sample
@@ -238,11 +238,12 @@ BB_DISKMON_DIRS ??= "\
 # Qemu configuration
 #
 # By default qemu will build with a builtin VNC server where graphical output 
can be
-# seen. The two lines below enable the SDL backend too. By default 
libsdl2-native will
-# be built, if you want to use your host's libSDL instead of the minimal 
libsdl built
-# by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
-PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+# seen. The two lines below enable the SDL and Gtk UI frontends as well.
+#
+# By default libsdl2-native will be built, if you want to use your host's 
libSDL instead
+# of the minimal libsdl built by libsdl2-native then uncomment the 
ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-system-native = " sdl gtk+"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl gtk+"
 #ASSUME_PROVIDED += "libsdl2-native"
 
 # CONF_VERSION is increased each time build/conf/ changes incompatibly and is 
used to
-- 
2.17.1

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


[OE-core] [PATCH 1/5] bitbake.conf: propagate 'opengl' DISTRO_FEATURE to native/nativesdk from target

2019-05-08 Thread Alexander Kanavin
This will allow better control over native virgl/qemu configurations.

Adjust gtk+3/cairo native configurations to actually ignore opengl
when building for -native: we do not need it, and it would cause build
failures as only a limited subset of mesa-native is currently built.

Drop native/nativesdk overrides from virglrenderer/libepoxy recipes
as opengl feature is now correctly set for those variants.

Signed-off-by: Alexander Kanavin 
---
 meta/conf/bitbake.conf | 4 ++--
 meta/recipes-gnome/gtk+/gtk+3.inc  | 2 ++
 meta/recipes-graphics/cairo/cairo_1.16.0.bb| 2 ++
 meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb   | 2 --
 meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb | 2 --
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 14b0764f222..66a0bf2be10 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -836,8 +836,8 @@ DISTRO_FEATURES_NATIVESDK ?= "x11"
 
 # Normally target distro features will not be applied to native builds:
 # Native distro features on this list will use the target feature value
-DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation"
-DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation"
+DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation opengl"
+DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation opengl"
 
 DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 
gobject-introspection-data ldconfig"
 MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
diff --git a/meta/recipes-gnome/gtk+/gtk+3.inc 
b/meta/recipes-gnome/gtk+/gtk+3.inc
index 77b6c31536b..2f9e05b1cd4 100644
--- a/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -47,6 +47,8 @@ do_compile_prepend() {
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', 
d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 
'glx', '', d)}"
+PACKAGECONFIG_class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', 
d)}"
 
 PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk 
fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender 
libxcomposite libxfixes"
 # this is provided by oe-core patch that removes epoxy/gl dependency from a 
X11 build
diff --git a/meta/recipes-graphics/cairo/cairo_1.16.0.bb 
b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
index c2628ae0ca0..e875180f6e6 100644
--- a/meta/recipes-graphics/cairo/cairo_1.16.0.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.16.0.bb
@@ -41,6 +41,8 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb', 
'', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 
'opengl', '', d)}"
+PACKAGECONFIG_class-native = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 
'x11 xcb', '', d)}"
+PACKAGECONFIG_class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 
'x11', 'x11 xcb', '', d)}"
 
 PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no 
--disable-xlib,${X11DEPENDS}"
 PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb 
b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
index dd706a96063..66e8b476dcc 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
@@ -14,8 +14,6 @@ UPSTREAM_CHECK_URI = 
"https://github.com/anholt/libepoxy/releases;
 inherit meson pkgconfig distro_features_check
 
 REQUIRED_DISTRO_FEATURES = "opengl"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
 
 PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
 PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
diff --git a/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb 
b/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
index 225a0b8b0c9..b1dfb85c49e 100644
--- a/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
+++ b/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
@@ -18,5 +18,3 @@ inherit autotools pkgconfig distro_features_check
 BBCLASSEXTEND = "native nativesdk"
 
 REQUIRED_DISTRO_FEATURES = "opengl"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
-- 
2.17.1

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


[OE-core] [PATCH 4/5] qemu: remove sdl option from PACKAGECONFIG default

2019-05-08 Thread Alexander Kanavin
This removes confusion over where qemu frontends are enabled for
native/nativesdk builds: currently they are also set in local.conf.sample
from poky distro, and with this change that becomes the only place.

Signed-off-by: Alexander Kanavin 
---
 meta/recipes-devtools/qemu/qemu_4.0.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/qemu/qemu_4.0.0.bb 
b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
index 72fdcccbdcc..e101d5f8da5 100644
--- a/meta/recipes-devtools/qemu/qemu_4.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
@@ -18,6 +18,6 @@ PACKAGECONFIG ??= " \
 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
 "
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm \
+PACKAGECONFIG_class-nativesdk ??= "fdt kvm \
 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
 "
-- 
2.17.1

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


[OE-core] [PATCH 2/5] qemu: enable virglrenderer and glx options subject to 'opengl' DISTRO_FEATURE

2019-05-08 Thread Alexander Kanavin
Note that to actually use accelerated GL passthrough, there are two options

1) a suitable frontend need to be also enabled - gtk+ seems to work well,
sdl was found to be buggy.

2) it is also possible to render off-screen with -display egl-headless option,
and see the output with a VNC viewer (for which, qemu needs to be started
with a VNC server):

$ runqemu kvm egl-headless publicvnc

Signed-off-by: Alexander Kanavin 
---
 meta/lib/oeqa/selftest/cases/runtime_test.py  | 15 ++-
 .../qemu/qemu-system-native_4.0.0.bb  |  4 +++-
 meta/recipes-devtools/qemu/qemu_4.0.0.bb  |  5 -
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py 
b/meta/lib/oeqa/selftest/cases/runtime_test.py
index 6c25bb901d1..fca803ffbc5 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -185,13 +185,12 @@ class TestImage(OESelftestTestCase):
 self.skipTest('virgl isn\'t working with Debian 8')
 
 qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
+qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 
'qemu-system-native')
 features = 'INHERIT += "testimage"\n'
 if 'gtk+' not in qemu_packageconfig:
 features += 'PACKAGECONFIG_append_pn-qemu-system-native = " 
gtk+"\n'
-if 'virglrenderer' not in qemu_packageconfig:
-features += 'PACKAGECONFIG_append_pn-qemu-system-native = " 
virglrenderer"\n'
-if 'glx' not in qemu_packageconfig:
-features += 'PACKAGECONFIG_append_pn-qemu-system-native = " glx"\n'
+if 'opengl' not in qemu_distrofeatures:
+features += 'DISTRO_FEATURES_append = " opengl"\n'
 features += 'TEST_SUITES = "ping ssh virgl"\n'
 features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
 features += 'IMAGE_INSTALL_append = " kmscube"\n'
@@ -220,12 +219,10 @@ class TestImage(OESelftestTestCase):
 dripath = subprocess.check_output("pkg-config 
--variable=dridriverdir dri", shell=True)
 except subprocess.CalledProcessError as e:
 self.skipTest("Could not determine the path to dri drivers on the 
host via pkg-config.\nPlease install Mesa development files (particularly, 
dri.pc) on the host machine.")
-qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
+qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 
'qemu-system-native')
 features = 'INHERIT += "testimage"\n'
-if 'virglrenderer' not in qemu_packageconfig:
-features += 'PACKAGECONFIG_append_pn-qemu-system-native = " 
virglrenderer"\n'
-if 'glx' not in qemu_packageconfig:
-features += 'PACKAGECONFIG_append_pn-qemu-system-native = " glx"\n'
+if 'opengl' not in qemu_distrofeatures:
+features += 'DISTRO_FEATURES_append = " opengl"\n'
 features += 'TEST_SUITES = "ping ssh virgl"\n'
 features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
 features += 'IMAGE_INSTALL_append = " kmscube"\n'
diff --git a/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb 
b/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
index 820883df651..5b14559818a 100644
--- a/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
@@ -9,7 +9,9 @@ DEPENDS = "glib-2.0-native zlib-native pixman-native 
qemu-native"
 
 EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
 
-PACKAGECONFIG ??= "fdt alsa kvm"
+PACKAGECONFIG ??= "fdt alsa kvm \
+${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
+"
 
 # Handle distros such as CentOS 5 32-bit that do not have kvm support
 PACKAGECONFIG_remove = "${@'kvm' if not 
os.path.exists('/usr/include/linux/kvm.h') else ''}"
diff --git a/meta/recipes-devtools/qemu/qemu_4.0.0.bb 
b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
index 247e0311edc..52cb3b8f3dc 100644
--- a/meta/recipes-devtools/qemu/qemu_4.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
@@ -16,5 +16,8 @@ do_install_append_class-nativesdk() {
 PACKAGECONFIG ??= " \
 fdt sdl kvm \
 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
+"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm \
+${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
 "
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
-- 
2.17.1

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


[OE-core] [PATCH 3/5] qemu: add a gtk+ frontend to target builds

2019-05-08 Thread Alexander Kanavin
sdl frontend remains enabled and available.

Signed-off-by: Alexander Kanavin 
---
 meta/recipes-devtools/qemu/qemu_4.0.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/qemu/qemu_4.0.0.bb 
b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
index 52cb3b8f3dc..72fdcccbdcc 100644
--- a/meta/recipes-devtools/qemu/qemu_4.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_4.0.0.bb
@@ -14,7 +14,7 @@ do_install_append_class-nativesdk() {
 }
 
 PACKAGECONFIG ??= " \
-fdt sdl kvm \
+fdt sdl gtk+ kvm \
 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '' 
,d)} \
 "
-- 
2.17.1

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


[OE-core] [PATCH] python3: fix do_install fail for parallel buiild

2019-05-08 Thread changqing.li
From: Changqing Li 

When using make -j with the 'install' target, it's possible for altbininstall
(which normally creates BINDIR) and libainstall (which doesn't, though it
installs python-config there) to race, resulting in a failure due to
attempting to install python-config into a nonexistent BINDIR. Ensure it also
exists in the libainstall target.

Signed-off-by: Changqing Li 
---
 ...ix-Issue36464-parallel-build-race-problem.patch | 34 ++
 meta/recipes-devtools/python/python3_3.7.3.bb  |  1 +
 2 files changed, 35 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch

diff --git 
a/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
 
b/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
new file mode 100644
index 000..237645b
--- /dev/null
+++ 
b/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
@@ -0,0 +1,34 @@
+From 840fda32c82550259d02a7a56a78a9c05162b1a1 Mon Sep 17 00:00:00 2001
+From: Changqing Li 
+Date: Wed, 8 May 2019 16:10:29 +0800
+Subject: [PATCH] Makefile: fix Issue36464 (parallel build race problem)
+
+When using make -j with the 'install' target, it's possible for altbininstall
+(which normally creates BINDIR) and libainstall (which doesn't, though it
+installs python-config there) to race, resulting in a failure due to
+attempting to install python-config into a nonexistent BINDIR. Ensure it also
+exists in the libainstall target.
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/13186]
+
+Signed-off-by: Changqing Li 
+---
+ Makefile.pre.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 15f3687..7e9f173 100644
+--- a/Makefile.pre.in
 b/Makefile.pre.in
+@@ -1456,7 +1456,7 @@ LIBPL=   @LIBPL@
+ LIBPC=$(LIBDIR)/pkgconfig
+ 
+ libainstall:  @DEF_MAKE_RULE@ python-config
+-  @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \
++  @for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \
+   do \
+   if test ! -d $(DESTDIR)$$i; then \
+   echo "Creating directory $$i"; \
+-- 
+2.7.4
+
diff --git a/meta/recipes-devtools/python/python3_3.7.3.bb 
b/meta/recipes-devtools/python/python3_3.7.3.bb
index 081ecf4..413d35a 100644
--- a/meta/recipes-devtools/python/python3_3.7.3.bb
+++ b/meta/recipes-devtools/python/python3_3.7.3.bb
@@ -22,6 +22,7 @@ SRC_URI = 
"http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \

file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \

file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
+   
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
"
 
 SRC_URI_append_class-native = " \
-- 
2.7.4

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


[OE-core] [PATCH] openssh/systemd/python/qemu: Fix patch Upstream-Status

2019-05-08 Thread Richard Purdie
Fix some missing or corrupted patch Upstream-Status values.

Signed-off-by: Richard Purdie 
---
 ...1-upstream-Have-progressmeter-force-an-update-at-the-b.patch | 2 +-
 meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch  | 2 +-
 meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch   | 2 +-
 .../systemd/0025-fs-utilh-add-missing-sys-stat-include.patch| 2 ++
 ...1-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch | 2 ++
 ...3-Revert-target-arm-Use-vector-operations-for-saturati.patch | 2 +-
 6 files changed, 8 insertions(+), 4 deletions(-)

diff --git 
a/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
 
b/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
index 2fb57da635a..4c9d574421d 100644
--- 
a/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
+++ 
b/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch
@@ -8,7 +8,7 @@ end of each transfer.  Fixes the problem recently introduces 
where very quick
 transfers do not display the progressmeter at all.  Spotted by naddy@
 
 OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a
-Ustream-Status: Backport
+Upstream-Status: Backport
 Signed-off-by: Anuj Mittal 
 ---
  progressmeter.c | 13 +
diff --git a/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch 
b/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
index e2fc607ff82..c5b3baece99 100644
--- a/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
+++ b/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch
@@ -9,7 +9,7 @@ current directory; based on report/patch from Harry Sintonen
 OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9
 
 CVE: CVE-2018-20685
-Ustream-Status: Backport
+Upstream-Status: Backport
 Signed-off-by: Anuj Mittal 
 ---
  scp.c | 5 +++--
diff --git a/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch 
b/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
index 80cf39b9230..e498da38194 100644
--- a/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
+++ b/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch
@@ -18,7 +18,7 @@ has been in snaps for ~1wk courtesy deraadt@
 OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda
 
 CVE: CVE-2019-6111
-Ustream-Status: Backport
+Upstream-Status: Backport
 Signed-off-by: Anuj Mittal 
 ---
  scp.1 | 12 +++-
diff --git 
a/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
 
b/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
index 1c6a6f50de3..bae9d3eaad4 100644
--- 
a/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
+++ 
b/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
@@ -7,6 +7,8 @@ fix error:
 | error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible 
pointer type [-Werror=incompatible-pointer-types]
 
 Signed-off-by: Andrej Valek 
+
+Upstream-Status: Pending
 ---
  src/basic/fs-util.h | 1 +
  1 file changed, 1 insertion(+)
diff --git 
a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
 
b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
index 06eb2bd35bd..a0ed7cc830e 100644
--- 
a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
+++ 
b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
@@ -10,6 +10,8 @@ PYTHONHOME. Creating another variable OEPYTHON3HOME to allow 
for a way
 to set a different path for python3
 
 Signed-off-by: Jaewon Lee 
+
+Upstream-Status: Inappropriate [OE specific configuration]
 ---
  Modules/main.c | 17 +
  1 file changed, 13 insertions(+), 4 deletions(-)
diff --git 
a/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
 
b/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
index c38b547e2c3..3d018a74d9c 100644
--- 
a/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
+++ 
b/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch
@@ -8,7 +8,7 @@ This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd.
 This fixes QEMU aborts when running the qemuarm machine.
 
 Signed-off-by: Alistair Francis 
-Upstream-status: Pending
+Upstream-Status: Pending
 ---
  target/arm/helper.h|  33 ---
  target/arm/translate-a64.c |  36 
-- 
2.20.1

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org

[OE-core] [PATCH v2 1/1] target-sdk-provides-dummy: resolve sstate conflict

2019-05-08 Thread kai.kang
From: Kai Kang 

It exists a situation that there is a common config file includes
multilib.conf but variable MULTILIBS is not set by default:

  require conf/multilib.conf
  MULTILIBS ?= ""

When build target-sdk-provides-dummy in a build project, it fails with
following steps:

1 $ echo 'MACHINE = "qemux86"' >>conf/local.conf
  $ bitbake target-sdk-provides-dummy
2 $ cat <>conf/local.conf
MACHINE = "qemux86-64"
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "i586"
EOF
  $ bitbake target-sdk-provides-dummy
  $ bitbake lib32-target-sdk-provides-dummy

It fails to build lib32-target-sdk-provides-dummy with error messages:

| ERROR: target-sdk-provides-dummy-1.0-r0 do_packagedata: The recipe 
target-sdk-provides-dummy
|  is trying to install files into a shared area when those files already 
exist. Those files
|  and their manifest location are:
|   .../tmp/pkgdata/qemux86-64/lib32-target-sdk-provides-dummy
| (matched in 
manifest-qemux86_64-lib32-target-sdk-provides-dummy.packagedata)
|   .../tmp/pkgdata/qemux86-64/runtime/lib32-target-sdk-provides-dummy
| (matched in 
manifest-qemux86_64-lib32-target-sdk-provides-dummy.packagedata)
|   ... snip ...
| Please verify which recipe should provide the above files.

Add related directories to SSTATE_DUPWHITELIST to avoid the failures.

Signed-off-by: Kai Kang 
---
 meta/recipes-core/meta/target-sdk-provides-dummy.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-core/meta/target-sdk-provides-dummy.bb 
b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
index 85472a825c..50182decfb 100644
--- a/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -52,3 +52,5 @@ DUMMYPROVIDES = "\
 "
 
 require dummy-sdk-package.inc
+
+SSTATE_DUPWHITELIST += "${PKGDATA_DIR}/${PN} ${PKGDATA_DIR}/runtime/${PN}"
-- 
2.20.0

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


[OE-core] [PATCH v2 0/1] Fix target-sdk-provides-dummy sstate conflict

2019-05-08 Thread kai.kang
From: Kai Kang 


Kai Kang (1):
  target-sdk-provides-dummy: resolve sstate conflict

 meta/recipes-core/meta/target-sdk-provides-dummy.bb | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.20.0

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


Re: [OE-core] [OE-Core][PATCH] bmap-tools: Add RDEPENDS on python3-misc

2019-05-08 Thread Alejandro Enedino Hernandez Samaniego



On 5/3/19 11:32 AM, Alex Kiernan wrote:

On Fri, May 3, 2019 at 6:34 PM Burton, Ross  wrote:

On Fri, 3 May 2019 at 17:48, Alex Kiernan  wrote:

The newer python3 recipe no longer includes python3-misc in target by
default, leading to failures:


This statement isn't true, the python3 package does include 
python3-misc, but the bmap-tools recipe


does not RDEPEND on python3, it RDEPENDS on python3-core (which is not 
the same).




   Traceback (most recent call last):
 File "/usr/bin/bmaptool", line 6, in 
   from pkg_resources import load_entry_point
 File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 42, in 

   import ntpath
   ModuleNotFoundError: No module named 'ntpath'

Looks like ntpath should be in a different package if pkg_resources
won't run without it.


Sorry, should've looked more closely... I'll take a look at it.
Yeah, it might be worth checking if ntpath either belongs on its own 
package or in another one.



  RDEPENDS_${PN} = "python3-core python3-compression python3-mmap python3-setuptools 
python3-fcntl python3-six"
+RDEPENDS_${PN}_append_class-target = " python3-misc"

Why class-target only?


It doesn't exist for native (which was a surprise).


I think you're looking at this incorrectly, the python3-misc package 
does not exists for python3-native (because python3-native isn't split),


but, here, the class override you are using is stating that only 
bmap-tools(target) should RDEPEND on python3-misc, which I don't think


it should be the case, its likely that bmap-tools-native should RDEPEND 
on python3-misc-native, which although it doesn't actually exists


python3-native should be able to RPROVIDE.


Cheers,

Alejandro





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


[OE-core] [PATCH v3] icu: Added armeb support.

2019-05-08 Thread Lei Maohui
Make icu support arm32 BE.

Upstream-Status: Pending

Signed-off-by: Lei Maohui 
---
 .../icu/icu/0001-icu-Added-armeb-support.patch | 30 ++
 meta/recipes-support/icu/icu_64.2.bb   |  1 +
 2 files changed, 31 insertions(+)
 create mode 100644 
meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch

diff --git a/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch 
b/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
new file mode 100644
index 000..299689d
--- /dev/null
+++ b/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch
@@ -0,0 +1,30 @@
+From 500321387ceca48934bb0f323779117cd518bab6 Mon Sep 17 00:00:00 2001
+From: Lei Maohui 
+Date: Wed, 8 May 2019 14:42:30 +0900
+Subject: [PATCH] icu: Added armeb support.
+
+Make icu support arm32 BE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Lei Maohui 
+---
+ i18n/double-conversion-utils.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
+index 1e44fca..e4f2a8b 100644
+--- a/i18n/double-conversion-utils.h
 b/i18n/double-conversion-utils.h
+@@ -92,7 +92,7 @@ int main(int argc, char** argv) {
+ //
+ // If it prints "correct" then the architecture should be here, in the 
"correct" section.
+ #if defined(_M_X64) || defined(__x86_64__) || \
+-defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || 
defined(_M_ARM64) || \
++defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || 
defined(_M_ARM64) || \
+ defined(__hppa__) || defined(__ia64__) || \
+ defined(__mips__) || \
+ defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
+-- 
+2.7.4
+
diff --git a/meta/recipes-support/icu/icu_64.2.bb 
b/meta/recipes-support/icu/icu_64.2.bb
index bbc76d6..10bac7a 100644
--- a/meta/recipes-support/icu/icu_64.2.bb
+++ b/meta/recipes-support/icu/icu_64.2.bb
@@ -17,6 +17,7 @@ SRC_URI = "${BASE_SRC_URI} \
file://icu-pkgdata-large-cmd.patch \
file://fix-install-manx.patch \
file://0001-Fix-big-endian-build.patch \
+   file://0001-icu-Added-armeb-support.patch \
"
 
 SRC_URI_append_class-target = "\
-- 
2.7.4



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


[OE-core] [PATCH 4/4] image_types_wic: add dependency for wic based image installer

2019-05-08 Thread chee . yang . lee
From: Chee Yang Lee 

initramfs and rootfs image are required to build wic based
image installer, add both as dependency for do_image_wic.

initiate default value for LIVE_ROOTFS_TYPE, INITRD_IMAGE_LIVE
and INITRD_LIVE

Signed-off-by: Chee Yang Lee 
---
 meta/classes/image_types_wic.bbclass | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/meta/classes/image_types_wic.bbclass 
b/meta/classes/image_types_wic.bbclass
index 5b40a9e..e4f2b8f 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes/image_types_wic.bbclass
@@ -102,9 +102,15 @@ python () {
 # a variable and let the metadata deal with the deps.
 d.setVar('_WKS_TEMPLATE', body)
 bb.build.addtask('do_write_wks_template', 'do_image_wic', 
None, d)
+d.appendVarFlag('do_image_wic', 'depends', ' %s:do_image_complete' % 
d.getVar('INITRD_IMAGE_LIVE'))
 bb.build.addtask('do_image_wic', 'do_image_complete', None, d)
 }
 
+LIVE_ROOTFS_TYPE ?= "ext4"
+INITRD_IMAGE_LIVE ?= "${MLPREFIX}core-image-minimal-initramfs"
+INITRD_LIVE ?= 
"${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.${INITRAMFS_FSTYPES}"
+IMAGE_TYPEDEP_wic = "${LIVE_ROOTFS_TYPE}"
+
 #
 # Write environment variables used by wic
 # to tmp/sysroots//imgdata/.env
-- 
2.7.4

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


[OE-core] [PATCH 3/4] wic: add new wic-installer.wks for wic based image installer

2019-05-08 Thread chee . yang . lee
From: Chee Yang Lee 

Signed-off-by: Chee Yang Lee 
---
 scripts/lib/wic/canned-wks/wic-installer.wks.in | 7 +++
 1 file changed, 7 insertions(+)
 create mode 100644 scripts/lib/wic/canned-wks/wic-installer.wks.in

diff --git a/scripts/lib/wic/canned-wks/wic-installer.wks.in 
b/scripts/lib/wic/canned-wks/wic-installer.wks.in
new file mode 100644
index 000..a7b018d
--- /dev/null
+++ b/scripts/lib/wic/canned-wks/wic-installer.wks.in
@@ -0,0 +1,7 @@
+# description: Create wic installable image
+
+part /boot --source bootimg-efi 
--sourceparams="loader=systemd-boot,title=install,label=install-efi,initrd=${INITRD_IMAGE_LIVE}-${MACHINE}.${INITRAMFS_FSTYPES}"
 --ondisk sda --label install --active --align 1024 --use-uuid
+
+part / --source installer-partition --ondisk sda --fstype=ext4 --label image 
--use-uuid
+
+bootloader --ptable gpt --timeout=5 --append="rootwait console=ttyS0,115200 
console=tty0"
-- 
2.7.4

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


[OE-core] [PATCH 2/4] wic: bootimg-efi: add label source parameter

2019-05-08 Thread chee . yang . lee
From: Chee Yang Lee 

Add new source parameter label to allow boot.conf/grub.cfg label option
to set as "install-efi", so far it's hardcoded to "Boot".

The label remain to "Boot" for systemd-boot or blank for grub-efi whenever
label are not "install-efi".

when label set to "install-efi" the image can boot into image installation.

Signed-off-by: Chee Yang Lee 
---
 scripts/lib/wic/plugins/source/bootimg-efi.py | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py 
b/scripts/lib/wic/plugins/source/bootimg-efi.py
index 83a7e18..0a0c5bd 100644
--- a/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -86,9 +86,14 @@ class BootimgEFIPlugin(SourcePlugin):
 grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
 
 kernel = "/bzImage"
+label = source_params.get('label')
 
-grubefi_conf += "linux %s root=%s rootwait %s\n" \
-% (kernel, creator.rootdev, bootloader.append)
+if label == "install-efi":
+grubefi_conf += "linux %s LABEL=%s rootwait %s\n" \
+% (kernel, label, bootloader.append)
+else:
+grubefi_conf += "linux %s root=%s rootwait %s\n" \
+% (kernel, creator.rootdev, bootloader.append)
 
 if initrd:
grubefi_conf += "initrd /%s\n" % initrd
@@ -154,12 +159,17 @@ class BootimgEFIPlugin(SourcePlugin):
 # Create systemd-boot configuration using parameters from wks file
 kernel = "/bzImage"
 title = source_params.get('title')
-
+label = source_params.get('label')
 boot_conf = ""
 boot_conf += "title %s\n" % (title if title else "boot")
 boot_conf += "linux %s\n" % kernel
-boot_conf += "options LABEL=Boot root=%s %s\n" % \
- (creator.rootdev, bootloader.append)
+
+if label == "install-efi":
+boot_conf += "options LABEL=%s %s\n" % \
+(label, bootloader.append)
+else:
+boot_conf += "options LABEL=Boot root=%s %s\n" % \
+ (creator.rootdev, bootloader.append)
 
 if initrd:
 boot_conf += "initrd /%s\n" % initrd
-- 
2.7.4

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


[OE-core] [PATCH 0/4] add wic based image installer

2019-05-08 Thread chee . yang . lee
From: Chee Yang Lee 

Existing installable image (hddimg/ISO) has limit of 4GB size, so to build 
larger installable image, we can build it in wic based image.

2 partition needed for installable image
 - first partition build using source plugin bootimg-efi and configure to run 
install
 - second partition build with root.img, systemd-boot and kernel to be install 
on target machine (this partition build using new source plugin 
installer-partition)

These patches:
 - add new source plugin for second partition
 - add new .wks
 - add new wic dependency and set default value for required variable
 - allow source plugin bootimg-efi to configure to install


To build the image, set WKS_FILE="wic-installer.wks.in" in local.conf.


Chee Yang Lee (4):
  wic: add new installer-partition plugin
  wic: bootimg-efi: add label source parameter
  wic: add new wic-installer.wks for wic based image installer
  image_types_wic: add dependency for wic based image installer

 meta/classes/image_types_wic.bbclass   |   6 +
 scripts/lib/wic/canned-wks/wic-installer.wks.in|   7 +
 scripts/lib/wic/plugins/source/bootimg-efi.py  |  20 ++-
 .../lib/wic/plugins/source/installer-partition.py  | 192 +
 4 files changed, 220 insertions(+), 5 deletions(-)
 create mode 100644 scripts/lib/wic/canned-wks/wic-installer.wks.in
 create mode 100644 scripts/lib/wic/plugins/source/installer-partition.py

-- 
2.7.4

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


[OE-core] [PATCH 1/4] wic: add new installer-partition plugin

2019-05-08 Thread chee . yang . lee
From: Chee Yang Lee 

This patch implement 'installer-partition.py' source plugin for wic.
The plugin create an image with systemd-boot and rootfs.
The generated image can be use to create wic based image installer.

Signed-off-by: Chee Yang Lee 
---
 .../lib/wic/plugins/source/installer-partition.py  | 192 +
 1 file changed, 192 insertions(+)
 create mode 100644 scripts/lib/wic/plugins/source/installer-partition.py

diff --git a/scripts/lib/wic/plugins/source/installer-partition.py 
b/scripts/lib/wic/plugins/source/installer-partition.py
new file mode 100644
index 000..4d8343f
--- /dev/null
+++ b/scripts/lib/wic/plugins/source/installer-partition.py
@@ -0,0 +1,192 @@
+# Copyright (c) 2019, Intel Corporation.
+# All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# DESCRIPTION
+# This implements the 'installer-partition' source plugin class for 'wic'
+# This plugin prepare partition with content to be install on target machine.
+#
+# AUTHORS
+# Lee Chee Yang 
+#
+
+import logging
+import os
+
+from wic import WicError
+from wic.engine import get_custom_config
+from wic.pluginbase import SourcePlugin
+from wic.misc import (exec_cmd, exec_native_cmd, get_bitbake_var)
+
+logger = logging.getLogger('wic')
+
+class InstallerImagePlugin(SourcePlugin):
+"""
+Populate content for wic image based installer
+"""
+
+name = 'installer-partition'
+
+@classmethod
+def do_configure_partition(cls, part, source_params, creator, cr_workdir,
+   oe_builddir, bootimg_dir, kernel_dir,
+   native_sysroot):
+"""
+Called before do_prepare_partition(), creates loader-specific config
+"""
+if not kernel_dir:
+kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
+if not kernel_dir:
+raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting")
+staging_kernel_dir = kernel_dir
+
+partition_dir = "%s/%s-%s" % (cr_workdir, part.label, part.lineno)
+
+install_cmd = "install -d %s/EFI/BOOT" % partition_dir
+exec_cmd(install_cmd)
+
+install_cmd = "install -d %s/loader/entries" % partition_dir
+exec_cmd(install_cmd)
+
+bootloader = creator.ks.bootloader
+
+loader_conf = ""
+loader_conf += "default boot\n"
+loader_conf += "timeout %d\n" % bootloader.timeout
+
+initrd = source_params.get('initrd')
+
+if initrd:
+cp_cmd = "cp %s/%s %s" % (kernel_dir, initrd, partition_dir)
+exec_cmd(cp_cmd, True)
+else:
+logger.debug("Ignoring missing initrd")
+
+logger.debug("Writing systemd-boot config "
+ "%s/loader/loader.conf", partition_dir)
+cfg = open("%s/loader/loader.conf" % partition_dir, "w")
+cfg.write(loader_conf)
+cfg.close()
+
+kernel = get_bitbake_var("KERNEL_IMAGETYPE")
+if not kernel:
+kernel = "bzImage"
+
+install_cmd = "install -m 0644 %s/%s %s/%s" % \
+(staging_kernel_dir, kernel, partition_dir, kernel)
+exec_cmd(install_cmd)
+
+configfile = creator.ks.bootloader.configfile
+custom_cfg = None
+if configfile:
+custom_cfg = get_custom_config(configfile)
+if custom_cfg:
+# Use a custom configuration for systemd-boot
+boot_conf = custom_cfg
+logger.debug("Using custom configuration file "
+ "%s for systemd-boots's boot.conf", configfile)
+else:
+raise WicError("configfile is specified but failed to "
+   "get it from %s.", configfile)
+
+if not custom_cfg:
+# Create systemd-boot configuration using parameters from wks file
+title = source_params.get('title')
+
+boot_conf = ""
+boot_conf += "title %s\n" % (title if title else "boot")
+boot_conf += "linux /%s\n" % kernel
+boot_conf += "options LABEL=Boot %s\n" % (bootloader.append)
+
+if initrd:
+boot_conf += "initrd /%s\n" % initrd
+
+for mod in [x for x in os.listdir(kernel_dir) if 
x.startswith("systemd-")]:
+cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod,