Re: [OE-core] [PATCH] kernel-devsrc: copy mmiowb.h and modpost from ${B} of kernel

2019-09-03 Thread Bruce Ashfield
On Tue, Sep 3, 2019 at 9:43 PM Hongzhi.Song  wrote:
>
> There are two errors when compile an out of tree kernel module
> using sdk:
>

This is not universally true. Can you expand on what kernel version
and architectures you are building ? I'm able to build kernel modules
across all the arches I'm currently testing, so I'd like to capture
your exact config in the long log. Neither is the autobuilder showing
any errors.

> 1. "In file included from ./include/linux/seqlock.h:36:0,
>  from ./include/linux/time.h:6,
>  from ./include/linux/stat.h:19,
>  from ./include/linux/module.h:10,
>  from kernel-module/char.c:1:
> ./include/linux/spinlock.h:60:10: fatal error: asm/mmiowb.h: No such
> file or directory"
>
> mmiowb.h is generated to ${B}/arch/${ARCH}/include/generated/asm/.
>
> And there is only generated/ under ${B}/arch/${ARCH}/include/,
> so I copy whole ${B}/arch/${ARCH}/include/ to $kerneldir/build/
> in case of other files under generated/ is needed in the future.
>
> 2. "/bin/sh: scripts/mod/modpost: No such file or directory"
>
> Copy above files or directory to $kerneldir/build/ fix the errors.
>
> Signed-off-by: Hongzhi.Song 
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb 
> b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 3900489..feff9f1 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -80,6 +80,12 @@ do_install() {
>
> cp .config $kerneldir/build
>
> +   if [ -d arch/${ARCH}/include ]; then
> +   cp -a --parents arch/${ARCH}/include $kerneldir/build/
> +   fi

Just copy the files you need, not the entire directory.

> +
> +   cp --parents scripts/mod/modpost $kerneldir/build/

We shouldn't be copying binaries or scripts. They are regenerated on target.

Bruce

> +
> # This scripts copy blow up QA, so for now, we require a more
> # complex 'make scripts' to restore these, versus copying them
> # here. Left as a reference to indicate that we know the scripts must
> --
> 2.8.1
>


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


Re: [OE-core] OEDEM 2019

2019-09-03 Thread akuster808


On 9/3/19 8:37 AM, Ruslan Bilovol wrote:
> Hi Philip,
>
> I can see now this event in the list of ELCE co-located events.
> Is day 2 track track 2 (Yocto Project and OE maintainers meeting)
> restricted to attend to mainatainers only, or regular OE developers
> can also join?
Anyone can signup.  This is related to the Yocto summit email that got
sent out a few weeks ago.

- armin

>
> Thanks,
> Ruslan
>
> On Tue, Jul 30, 2019 at 8:33 PM Philip Balister  wrote:
>> We are working with the Yocto Project on a two day Summit event. This
>> should implement part of the ideas from the the last couple of developer
>> meetings.
>>
>> Philip
>>
>> On 07/30/2019 12:58 PM, Ruslan Bilovol wrote:
>>> Hi all,
>>>
>>> Is there any plan to hold an OpenEmbedded developer meting
>>> in Lyon, France around this year's ELCE 2019 (October 28-30)?
>>>
>>> I see that OEDEM 2019 page isn't created yet and I didn't find
>>> any news in mailing lists yet:
>>> https://www.openembedded.org/wiki/OEDEM_2019
>>>
>>> Thanks,
>>> Ruslan
>>>

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


Re: [OE-core] Summary of M3 status

2019-09-03 Thread akuster808



On 9/3/19 5:39 AM, Bruce Ashfield wrote:
> On Tue, Sep 3, 2019 at 4:10 AM Richard Purdie
>  wrote:
>> I'm going to summarise the current state as it will help people see the
>> set of issues we have. We have three issues blocking the current patch
>> queue and kernel uprev, spread over four machines and five autobuilder
>> targets:
>>
>> qemumips64:
>>
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987
>>
>>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)
>>
>>   Central error: [1.689184] kprobes: failed to populate blacklist: -22
>>   [happens 5.2 kernel only]
> I'll have a look at the kprobes log. Could just be something we need
> to whitelist, but I'll root cause it.
>
>> qemumips:
>>
>>   qemu machine locks up:
>>
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982
>>
>>   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in
>>master. Not sure of the original cause)
>>
>> qemuarm64:
>>
>>   Central error: [1.816386] kprobes: failed to populate blacklist: -22
>>
>>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)
>>
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
>>   [happens 5.2 kernel only]
>>
>> qemuarm:
>>
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
>>   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989
>>
>>   See compile failure for stap.StapTest.test_stap below.
>>   [happens 5.2 kernel only]
> And I can look at this one as well.
>
> If anyone gets to them first, let me know!

There is a patch under test in master-next. I just noticed it. Guess it
means some got to it before either of us.

- armin
>
> Bruce
>
>> The qemumips issue is of particular concern.
>>
>> Also needed to sort out M3 are:
>>
>>  * toolchain tests nrossi is working on
>>  * resolution to the hashserv scaling problem
>>  * bug fixing for the hash equiv code
>>
>> Cheers,
>>
>> Richard
>>
>> stap.StapTest.test_stap failure:
>>
>>
>> WARNING: Kernel function symbol table missing [man warning::symbols]
>> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>>  from /usr/share/systemtap/runtime/runtime.h:26,
>>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
>> /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
>> '__access_process_vm_':
>> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: implicit 
>> declaration of function 'get_task_mm'; did you mean 'get_task_comm'? 
>> [-Werror=implicit-function-declaration]
>>28 |   mm = get_task_mm (tsk);
>>   |^~~
>>   |get_task_comm
>> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
>> assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
>> without a cast [-Werror=int-conversion]
>>28 |   mm = get_task_mm (tsk);
>>   |  ^
>> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: passing 
>> argument 6 of 'get_user_pages_remote' makes pointer from integer without a 
>> cast [-Werror=int-conversion]
>>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
>> , );
>>   | ^
>>   | |
>>   | int
>> In file included from ./include/linux/kallsyms.h:12,
>>  from ./include/linux/ftrace.h:11,
>>  from ./include/linux/kprobes.h:29,
>>  from /usr/share/systemtap/runtime/linux/runtime.h:21,
>>  from /usr/share/systemtap/runtime/runtime.h:26,
>>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
>> ./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument 
>> is of type 'int'
>>  1592 |unsigned int gup_flags, struct page **pages,
>>   |~~^
>> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>>  from /usr/share/systemtap/runtime/runtime.h:26,
>>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
>> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: passing 
>> argument 7 of 'get_user_pages_remote' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
>>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
>> , );
>>   |^
>>   ||
>>   |
>> struct page **
>> In file included from ./include/linux/kallsyms.h:12,
>>  from ./include/linux/ftrace.h:11,
>>  from 

Re: [OE-core] [PATCH 1/2] qemu: Add pkg-config handling for libgcrypt

2019-09-03 Thread He Zhe
Kindly ping.

Zhe

On 8/29/19 9:15 PM, zhe...@windriver.com wrote:
> From: He Zhe 
>
> When PACKAGECONFIG libgcrypt is enabled, we would get the following error.
>
> ERROR: /usr/bin/libgcrypt-config should not be used, use an alternative such 
> as pkg-config
>
> In oe-core, libgcrypt has been turned to be configured with pkg-config instead
> of libgcrypt-config, but qemu configure script does not contain pkg-config
> related part for libgcrypt to handle it.
>
> Signed-off-by: He Zhe 
> ---
>  meta/recipes-devtools/qemu/qemu.inc|  1 +
>  ...ure-Add-pkg-config-handling-for-libgcrypt.patch | 93 
> ++
>  2 files changed, 94 insertions(+)
>  create mode 100644 
> meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc 
> b/meta/recipes-devtools/qemu/qemu.inc
> index d2dd2bc..3eeba6e 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -22,6 +22,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
> file://0007-apic-fixup-fallthrough-to-PIC.patch \
> 
> file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
> file://0009-Fix-webkitgtk-builds.patch \
> +   file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch 
> \
> "
>  UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar"
>  
> diff --git 
> a/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
>  
> b/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
> new file mode 100644
> index 000..a8ab7da
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
> @@ -0,0 +1,93 @@
> +From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001
> +From: He Zhe 
> +Date: Wed, 28 Aug 2019 19:56:28 +0800
> +Subject: [Qemu-devel] [PATCH] configure: Add pkg-config handling for 
> libgcrypt
> +
> +libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
> +handling for libgcrypt.
> +
> +Upstream-Status: Denied 
> [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html]
> +
> +Signed-off-by: He Zhe 
> +---
> + configure | 48 
> + 1 file changed, 40 insertions(+), 8 deletions(-)
> +
> +diff --git a/configure b/configure
> +index e44e454..0f362a7 100755
> +--- a/configure
>  b/configure
> +@@ -2875,6 +2875,30 @@ has_libgcrypt() {
> + return 0
> + }
> + 
> ++has_libgcrypt_pkgconfig() {
> ++if ! has $pkg_config ; then
> ++return 1
> ++fi
> ++
> ++if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then
> ++return 1
> ++fi
> ++
> ++if test -n "$cross_prefix" ; then
> ++host=$($pkg_config --variable=host libgcrypt)
> ++if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then
> ++print_error "host($host) does not match 
> cross_prefix($cross_prefix)"
> ++return 1
> ++fi
> ++fi
> ++
> ++if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then
> ++print_error "libgcrypt version is $($pkg_config --modversion 
> libgcrypt)"
> ++return 1
> ++fi
> ++
> ++return 0
> ++}
> + 
> + if test "$nettle" != "no"; then
> + pass="no"
> +@@ -2902,7 +2926,14 @@ fi
> + 
> + if test "$gcrypt" != "no"; then
> + pass="no"
> +-if has_libgcrypt; then
> ++if has_libgcrypt_pkgconfig; then
> ++gcrypt_cflags=$($pkg_config --cflags libgcrypt)
> ++if test "$static" = "yes" ; then
> ++gcrypt_libs=$($pkg_config --libs --static libgcrypt)
> ++else
> ++gcrypt_libs=$($pkg_config --libs libgcrypt)
> ++fi
> ++elif has_libgcrypt; then
> + gcrypt_cflags=$(libgcrypt-config --cflags)
> + gcrypt_libs=$(libgcrypt-config --libs)
> + # Debian has removed -lgpg-error from libgcrypt-config
> +@@ -2912,15 +2943,16 @@ if test "$gcrypt" != "no"; then
> + then
> + gcrypt_libs="$gcrypt_libs -lgpg-error"
> + fi
> ++fi
> + 
> +-# Link test to make sure the given libraries work (e.g for static).
> +-write_c_skeleton
> +-if compile_prog "" "$gcrypt_libs" ; then
> +-LIBS="$gcrypt_libs $LIBS"
> +-QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
> +-pass="yes"
> +-fi
> ++# Link test to make sure the given libraries work (e.g for static).
> ++write_c_skeleton
> ++if compile_prog "" "$gcrypt_libs" ; then
> ++LIBS="$gcrypt_libs $LIBS"
> ++QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
> ++pass="yes"
> + fi
> ++
> + if test "$pass" = "yes"; then
> + gcrypt="yes"
> + cat > $TMPC << EOF
> +-- 
> +2.7.4
> +

-- 
___
Openembedded-core 

Re: [OE-core] [PATCH v2] meta: add missing descriptions and homepage in bsp

2019-09-03 Thread Khem Raj
Maxime

Thanks for this contribution

On 9/3/19 6:56 PM, Maxime Roussin-Bélanger wrote:
> Signed-off-by: Maxime Roussin-Bélanger 
> ---
> Changes in v2:
>   - Rewrite acpid description to be more meaningful
>   - Change grub-bootconf description
>   
>  meta/recipes-bsp/acpid/acpid.inc  | 6 ++
>  meta/recipes-bsp/formfactor/formfactor_0.0.bb | 3 +++
>  meta/recipes-bsp/grub/grub-bootconf_1.00.bb   | 3 +++
>  meta/recipes-bsp/u-boot/u-boot-common.inc | 4 
>  meta/recipes-bsp/usbinit/usbinit.bb   | 4 
>  5 files changed, 20 insertions(+)
> 
> diff --git a/meta/recipes-bsp/acpid/acpid.inc 
> b/meta/recipes-bsp/acpid/acpid.inc
> index 766ed4f89e..1e43e7a9db 100644
> --- a/meta/recipes-bsp/acpid/acpid.inc
> +++ b/meta/recipes-bsp/acpid/acpid.inc
> @@ -1,4 +1,10 @@
>  SUMMARY = "A daemon for delivering ACPI events"
> +DESCRIPTION = "ACPID is a completely flexible, totally extensible daemon for 
> \
> +delivering ACPI events. It listens on netlink interface (or on the \
> +deprecated file /proc/acpi/event), and when an event occurs, executes 
> programs \
> +to handle the event. The programs it executes are configured through a set 
> of \
> +configuration files, which can be dropped into place by packages or by the \
> +admin."
>  HOMEPAGE = "http://sourceforge.net/projects/acpid2;
>  BUGTRACKER = "http://sourceforge.net/p/acpid2/tickets/?source=navbar;
>  SECTION = "base"
> diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb 
> b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
> index 53cf1cf774..919fb1fbba 100644
> --- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb
> +++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
> @@ -1,4 +1,7 @@
>  SUMMARY = "Device formfactor information"
> +DESCRIPTION = "A formfactor configuration file provides information about 
> the /
> +target hardware for which the image is being built and information that the /

the above two lines should end with backslashes

> +build system cannot obtain from other sources such as the kernel."
>  SECTION = "base"
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = 
> "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb 
> b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
> index 750f8c808a..9d5dab9aa8 100644
> --- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
> +++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
> @@ -1,6 +1,9 @@
>  LICENSE = "MIT"
>  LIC_FILES_CHKSUM = 
> "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>  SUMMARY = "Basic grub.cfg for use in EFI systems"
> +DESCRIPTION = "Grub might require different configuration file for \
> +different machines."
> +HOMEPAGE = 
> "https://www.gnu.org/software/grub/manual/grub/grub.html#Configuration;
>  
>  RPROVIDES_${PN} += "virtual/grub-bootconf"
>  
> diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc 
> b/meta/recipes-bsp/u-boot/u-boot-common.inc
> index ad043dbcde..a056eae8ce 100644
> --- a/meta/recipes-bsp/u-boot/u-boot-common.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
> @@ -1,4 +1,8 @@
>  HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome;
> +DESCRIPTION = "U-Boot, a boot loader for Embedded boards based on PowerPC, \
> +ARM, MIPS and several other processors, which can be installed in a boot \
> +ROM and used to initialize and test the hardware or to download and run \
> +application code."
>  SECTION = "bootloaders"
>  DEPENDS += "flex-native bison-native"
>  
> diff --git a/meta/recipes-bsp/usbinit/usbinit.bb 
> b/meta/recipes-bsp/usbinit/usbinit.bb
> index aba44b4068..c93f5faee5 100644
> --- a/meta/recipes-bsp/usbinit/usbinit.bb
> +++ b/meta/recipes-bsp/usbinit/usbinit.bb
> @@ -1,4 +1,8 @@
>  SUMMARY = "Initscript for enabling USB gadget Ethernet"
> +DESCRIPTION = "This module allows ethernet emulation over USB, allowing for /
> +all sorts of nifty things like SSH and NFS in one go plus charging over the /

same here

> +same wire, at higher speeds than most Wifi connections."
> +HOMEPAGE = "http://linux-sunxi.org/USB_Gadget/Ethernet;
>  
>  LICENSE = "GPLv2"
>  LIC_FILES_CHKSUM = 
> "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
> 


pEpkey.asc
Description: application/pgp-keys
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] meta: add missing descriptions and homepage in bsp

2019-09-03 Thread Maxime Roussin-Bélanger
Signed-off-by: Maxime Roussin-Bélanger 
---
Changes in v2:
- Rewrite acpid description to be more meaningful
- Change grub-bootconf description

 meta/recipes-bsp/acpid/acpid.inc  | 6 ++
 meta/recipes-bsp/formfactor/formfactor_0.0.bb | 3 +++
 meta/recipes-bsp/grub/grub-bootconf_1.00.bb   | 3 +++
 meta/recipes-bsp/u-boot/u-boot-common.inc | 4 
 meta/recipes-bsp/usbinit/usbinit.bb   | 4 
 5 files changed, 20 insertions(+)

diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc
index 766ed4f89e..1e43e7a9db 100644
--- a/meta/recipes-bsp/acpid/acpid.inc
+++ b/meta/recipes-bsp/acpid/acpid.inc
@@ -1,4 +1,10 @@
 SUMMARY = "A daemon for delivering ACPI events"
+DESCRIPTION = "ACPID is a completely flexible, totally extensible daemon for \
+delivering ACPI events. It listens on netlink interface (or on the \
+deprecated file /proc/acpi/event), and when an event occurs, executes programs 
\
+to handle the event. The programs it executes are configured through a set of \
+configuration files, which can be dropped into place by packages or by the \
+admin."
 HOMEPAGE = "http://sourceforge.net/projects/acpid2;
 BUGTRACKER = "http://sourceforge.net/p/acpid2/tickets/?source=navbar;
 SECTION = "base"
diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb 
b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
index 53cf1cf774..919fb1fbba 100644
--- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb
+++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb
@@ -1,4 +1,7 @@
 SUMMARY = "Device formfactor information"
+DESCRIPTION = "A formfactor configuration file provides information about the /
+target hardware for which the image is being built and information that the /
+build system cannot obtain from other sources such as the kernel."
 SECTION = "base"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = 
"file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb 
b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
index 750f8c808a..9d5dab9aa8 100644
--- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
+++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
@@ -1,6 +1,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = 
"file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 SUMMARY = "Basic grub.cfg for use in EFI systems"
+DESCRIPTION = "Grub might require different configuration file for \
+different machines."
+HOMEPAGE = 
"https://www.gnu.org/software/grub/manual/grub/grub.html#Configuration;
 
 RPROVIDES_${PN} += "virtual/grub-bootconf"
 
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc 
b/meta/recipes-bsp/u-boot/u-boot-common.inc
index ad043dbcde..a056eae8ce 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -1,4 +1,8 @@
 HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome;
+DESCRIPTION = "U-Boot, a boot loader for Embedded boards based on PowerPC, \
+ARM, MIPS and several other processors, which can be installed in a boot \
+ROM and used to initialize and test the hardware or to download and run \
+application code."
 SECTION = "bootloaders"
 DEPENDS += "flex-native bison-native"
 
diff --git a/meta/recipes-bsp/usbinit/usbinit.bb 
b/meta/recipes-bsp/usbinit/usbinit.bb
index aba44b4068..c93f5faee5 100644
--- a/meta/recipes-bsp/usbinit/usbinit.bb
+++ b/meta/recipes-bsp/usbinit/usbinit.bb
@@ -1,4 +1,8 @@
 SUMMARY = "Initscript for enabling USB gadget Ethernet"
+DESCRIPTION = "This module allows ethernet emulation over USB, allowing for /
+all sorts of nifty things like SSH and NFS in one go plus charging over the /
+same wire, at higher speeds than most Wifi connections."
+HOMEPAGE = "http://linux-sunxi.org/USB_Gadget/Ethernet;
 
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = 
"file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
-- 
2.20.1

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


Re: [OE-core] [PATCH] meta-environment: make rpm and dnf work in toolchain

2019-09-03 Thread Zheng, Ruoqin
Hi Alex

Thank you for your advice and I have a question.

1:-> This does not seem like the right place to me to adjust the settings.

Well, did you mean that I shouldn’t adjust the settings in meta-environment 
recipe, instead of it, adjust the settings in the nativesdk-meson recipe?


--
Zheng Ruoqin
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)

From: Alexander Kanavin [mailto:alex.kana...@gmail.com]
Sent: Monday, September 02, 2019 4:12 PM
To: Zheng, Ruoqin/郑 若钦 
Cc: OE-core 
Subject: Re: [OE-core] [PATCH] meta-environment: make rpm and dnf work in 
toolchain

On Mon, 2 Sep 2019 at 03:16, Zheng Ruoqin 
mailto:zhengrq.f...@cn.fujitsu.com>> wrote:
We need to configure dnf and rpm to use and make it compatible with package 
architecture from yocto build system.
+
+mkdir -p ${D}/${SDKTARGETSYSROOT}/etc/rpm
+echo "arch_compat: ${MACHINE_ARCH}: ${PACKAGE_ARCHS}" > 
${D}/${SDKTARGETSYSROOT}/etc/rpmrc
+sed -i 's/-nativesdk//g' ${D}/${SDKTARGETSYSROOT}/etc/rpmrc
+sed -i 's/-/_/' ${D}/${SDKTARGETSYSROOT}/etc/rpmrc
+echo "${MACHINE_ARCH}-pc-linux" > ${D}/${SDKTARGETSYSROOT}/etc/rpm/platform
+
+mkdir -p ${D}/${SDKTARGETSYSROOT}/etc/dnf/vars
+echo "${DEFAULTTUNE}:${MACHINE_ARCH}:${TARGET_ARCH}" > 
${D}/${SDKTARGETSYSROOT}/etc/dnf/vars/arch
+sed -i 's/-/_/' ${D}/${SDKTARGETSYSROOT}/etc/dnf/vars/arch

This does not seem like the right place to me to adjust the settings. I think 
(not sure; never tried it) that the right technique is in the nativesdk-meson 
recipe:

install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
install -m 0755 ${WORKDIR}/meson-setup.py 
${D}${SDKPATHNATIVE}/post-relocate-setup.d/

# We need to wrap the real meson with a thin env setup wrapper.
mv ${D}${bindir}/meson ${D}${bindir}/meson.real
install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson

Alex


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


[OE-core] [PATCH] kernel-devsrc: copy mmiowb.h and modpost from ${B} of kernel

2019-09-03 Thread Hongzhi.Song
There are two errors when compile an out of tree kernel module
using sdk:

1. "In file included from ./include/linux/seqlock.h:36:0,
 from ./include/linux/time.h:6,
 from ./include/linux/stat.h:19,
 from ./include/linux/module.h:10,
 from kernel-module/char.c:1:
./include/linux/spinlock.h:60:10: fatal error: asm/mmiowb.h: No such
file or directory"

mmiowb.h is generated to ${B}/arch/${ARCH}/include/generated/asm/.

And there is only generated/ under ${B}/arch/${ARCH}/include/,
so I copy whole ${B}/arch/${ARCH}/include/ to $kerneldir/build/
in case of other files under generated/ is needed in the future.

2. "/bin/sh: scripts/mod/modpost: No such file or directory"

Copy above files or directory to $kerneldir/build/ fix the errors.

Signed-off-by: Hongzhi.Song 
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb 
b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 3900489..feff9f1 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -80,6 +80,12 @@ do_install() {
 
cp .config $kerneldir/build
 
+   if [ -d arch/${ARCH}/include ]; then
+   cp -a --parents arch/${ARCH}/include $kerneldir/build/
+   fi
+
+   cp --parents scripts/mod/modpost $kerneldir/build/
+
# This scripts copy blow up QA, so for now, we require a more
# complex 'make scripts' to restore these, versus copying them
# here. Left as a reference to indicate that we know the scripts must
-- 
2.8.1

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


Re: [OE-core] [PATCH] libgpg-error: Fix build with gawk 5.x

2019-09-03 Thread Khem Raj
Hi Armin

Can we cherry-pick this patch to warrior and thud, please ?

On Sat, Aug 31, 2019 at 7:23 AM Khem Raj  wrote:
>
> Signed-off-by: Khem Raj 
> ---
>  .../libgpg-error-1.36-gawk5-support.patch | 142 ++
>  .../libgpg-error/libgpg-error_1.36.bb |   1 +
>  2 files changed, 143 insertions(+)
>  create mode 100644 
> meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
>
> diff --git 
> a/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
>  
> b/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
> new file mode 100644
> index 00..2db11b2176
> --- /dev/null
> +++ 
> b/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
> @@ -0,0 +1,142 @@
> +From 7865041c77f4f7005282f10f9bb19072fbdf Mon Sep 17 00:00:00 2001
> +From: NIIBE Yutaka 
> +Date: Mon, 15 Apr 2019 15:10:44 +0900
> +Subject: [PATCH] awk: Prepare for Gawk 5.0.
> +
> +* src/Makefile.am: Use pkg_namespace (instead of namespace).
> +* src/mkerrnos.awk: Likewise.
> +* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
> +* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.
> +
> +--
> +
> +In Gawk 5.0, regexp routines are replaced by Gnulib implementation,
> +which only allows escaping specific characters.
> +
> +GnuPG-bug-id: 4459
> +Reported-by: Marius Schamschula
> +Signed-off-by: NIIBE Yutaka 
> +Upstream-Status: Backport [https://dev.gnupg.org/T4459]
> +---
> + lang/cl/mkerrcodes.awk |  2 +-
> + src/Makefile.am|  2 +-
> + src/mkerrcodes.awk |  2 +-
> + src/mkerrcodes1.awk|  2 +-
> + src/mkerrcodes2.awk|  2 +-
> + src/mkerrnos.awk   |  2 +-
> + src/mkstrtable.awk | 10 +-
> + 7 files changed, 11 insertions(+), 11 deletions(-)
> +
> +--- a/lang/cl/mkerrcodes.awk
>  b/lang/cl/mkerrcodes.awk
> +@@ -122,7 +122,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +--- a/src/Makefile.am
>  b/src/Makefile.am
> +@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FO
> +
> + errnos-sym.h: Makefile mkstrtable.awk errnos.in
> +   $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \
> +-  -v prefix=GPG_ERR_ -v namespace=errnos_ \
> ++  -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
> +   $(srcdir)/errnos.in >$@
> +
> +
> +--- a/src/mkerrcodes.awk
>  b/src/mkerrcodes.awk
> +@@ -85,7 +85,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +--- a/src/mkerrcodes1.awk
>  b/src/mkerrcodes1.awk
> +@@ -81,7 +81,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +--- a/src/mkerrcodes2.awk
>  b/src/mkerrcodes2.awk
> +@@ -91,7 +91,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +--- a/src/mkerrnos.awk
>  b/src/mkerrnos.awk
> +@@ -83,7 +83,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +--- a/src/mkstrtable.awk
>  b/src/mkstrtable.awk
> +@@ -77,7 +77,7 @@
> + #
> + # The variable prefix can be used to prepend a string to each message.
> + #
> +-# The variable namespace can be used to prepend a string to each
> ++# The variable pkg_namespace can be used to prepend a string to each
> + # variable and macro name.
> +
> + BEGIN {
> +@@ -102,7 +102,7 @@ header {
> +   print "/* The purpose of this complex string table is to produce";
> +   print "   optimal code with a minimum of relocations.  */";
> +   print "";
> +-  print "static const char " namespace "msgstr[] = ";
> ++  print "static const char " pkg_namespace "msgstr[] = ";
> +   header = 0;
> + }
> +   else
> +@@ -110,7 +110,7 @@ header {
> + }
> +
> + !header {
> +-  sub (/\#.+/, "");
> ++  sub (/#.+/, "");
> +   sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
> +
> +   if (/^$/)
> +@@ -150,7 +150,7 @@ END {
> +   else
> + print "  gettext_noop (\"" last_msgstr "\");";
> +   print "";
> +-  print "static const int " namespace "msgidx[] =";
> ++  print "static const int " pkg_namespace "msgidx[] =";
> +   print "  {";
> +   for (i = 0; i < coded_msgs; i++)
> + print "" pos[i] ",";
> +@@ -158,7 +158,7 @@ END {
> +   print "  };";
> +   print "";
> +   print "static GPG_ERR_INLINE int";
> +-  print namespace "msgidxof (int code)";
> ++  print pkg_namespace "msgidxof (int code)";
> +   print "{";
> +   print "  return (0 ? 0";

[OE-core] [PATCH] musl: Update to latest master

2019-09-03 Thread Khem Raj
sys/user.h related API fixed on ppc/ppc64

Detailed log [1]

https://git.musl-libc.org/cgit/musl/log/?qt=range=29e8737f81ccc9fbadcf61a75318aa3d0516aafa..6ad514e4e278f0c3b18eb2db1d45638c9af1c07f

Signed-off-by: Khem Raj 
---
 meta/recipes-core/musl/musl_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/musl/musl_git.bb 
b/meta/recipes-core/musl/musl_git.bb
index 64aee6c448..9341bf5d58 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
 require musl.inc
 inherit linuxloader
 
-SRCREV = "29e8737f81ccc9fbadcf61a75318aa3d0516aafa"
+SRCREV = "6ad514e4e278f0c3b18eb2db1d45638c9af1c07f"
 
 BASEVER = "1.1.23"
 
-- 
2.23.0

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


[OE-core] [PATCH] runqemu: Fix typo in help text.

2019-09-03 Thread drew . moseley
From: Drew Moseley 

Signed-off-by: Drew Moseley 
---
 scripts/runqemu | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 4079f2b17d..44128b118b 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -83,7 +83,7 @@ of the following environment variables (in any order):
   bootparams= - specify custom kernel parameters during boot
   help, -h, --help: print this text
   -d, --debug: Enable debug output
-  -q, --quite: Hide most output except error messages
+  -q, --quiet: Hide most output except error messages
 
 Examples:
   runqemu
-- 
2.17.1

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


Re: [OE-core] [PATCH] iputils: fix a usrmerge build issue

2019-09-03 Thread Peter Kjellerstedt
> -Original Message-
> From: openembedded-core-boun...@lists.openembedded.org  core-boun...@lists.openembedded.org> On Behalf Of liu.min...@gmail.com
> Sent: den 3 september 2019 11:02
> To: openembedded-core@lists.openembedded.org
> Cc: stefan.ag...@toradex.com; Ming Liu 
> Subject: [OE-core] [PATCH] iputils: fix a usrmerge build issue
> 
> From: Ming Liu 
> 
> Fix a following build issue when usrmerge is enabled:
> | WARNING: iputils-s20190709-r0 do_package: iputils: alternative target
> (/usr/bin/ping or /usr/bin/ping.iputils) does not exist, skipping...
> | WARNING: iputils-s20190709-r0 do_package: iputils: NOT adding
> alternative provide /usr/bin/ping: /usr/bin/ping.iputils does not exist
> | ERROR: iputils-s20190709-r0 do_package: QA Issue: iputils:
> Files/directories were installed but not shipped in any package:
> |  /bin/tracepath
> |  /bin/ping
> |  /bin/arping
> |  /bin/traceroute6
> |  /bin/tftpd
> |  /bin/clockdiff
> |  /sbin/rdisc
> |  /sbin/rarpd
> |  /sbin/ninfod
> 
> Signed-off-by: Ming Liu 
> ---
>  meta/recipes-extended/iputils/iputils_s20190709.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-extended/iputils/iputils_s20190709.bb
> b/meta/recipes-extended/iputils/iputils_s20190709.bb
> index 34a6c68..ea7e6e3 100644
> --- a/meta/recipes-extended/iputils/iputils_s20190709.bb
> +++ b/meta/recipes-extended/iputils/iputils_s20190709.bb
> @@ -28,7 +28,7 @@ PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -
> DBUILD_MANS=true,-DBUILD_HTML_MAN
> 
>  inherit meson update-alternatives
> 
> -EXTRA_OEMESON += "--prefix=/"
> +EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '', 
> '--prefix=/', d)}"

This should be better:

EXTRA_OEMESON += "--prefix=${root_prefix}/"

(and yes, the / after ${root_prefix} is needed in this case or meson 
will complain about --prefix having to be an absolute path in case 
${root_prefix} is empty, which it is when usrmerge is not set.)

>  ALTERNATIVE_PRIORITY = "100"
> 
> --
> 2.7.4

//Peter

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


Re: [OE-core] [PATCH] lttng: babeltrace: Fix negative clock offset

2019-09-03 Thread Jonathan Rajotte-Julien
Hi,

This patch breaks the API of stable-1.5. It is clearly mentioned in the commit 
message:

 It introduces API-breaking changes in the C and Python APIs, since we
 need to be able to return negative time values, which were previously
 used as errors (-1ULL).

You can have it in your layer but it should never be upstreamed to yocto/oe in 
any case for the stable 1.5 branch of babeltrace.

The change you are referencing (61cf588beae752e5ddfc60b6b5310f769ac9e852) is 
queued to be in Babeltrace 2.0.0.

Richard: as part of the lttng/babeltrace team I advice against using this patch 
in OE.

Cheers

- Original Message -
> From: "zhe he" 
> To: "openembedded-core" 
> Sent: Monday, September 2, 2019 11:09:24 PM
> Subject: [OE-core] [PATCH] lttng: babeltrace: Fix negative clock offset

> From: He Zhe 
> 
> Backport a patch to fix negative clock offset with the following errors, when
> when using lttng to view traces.
> [error] ctf_clock_declaration_visit: unexpected unary expression for clock
> offset
> [error] ctf_visitor_construct_metadata: clock declaration error
> [error] Error in CTF metadata constructor -22
> 
> Signed-off-by: He Zhe 
> ---
> meta/recipes-kernel/lttng/babeltrace_1.5.7.bb  |   4 +-
> ...andle-negative-time-and-offset-from-Epoch.patch | 853 +
> 2 files changed, 856 insertions(+), 1 deletion(-)
> create mode 100644
> meta/recipes-kernel/lttng/files/0001-Handle-negative-time-and-offset-from-Epoch.patch
> 
> diff --git a/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
> b/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
> index 05ef6d0..4b9343d 100644
> --- a/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
> +++ b/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
> @@ -7,7 +7,9 @@ LIC_FILES_CHKSUM =
> "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
> 
> DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
> 
> -SRC_URI =
> "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5"
> +SRC_URI =
> "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5 \
> +   file://0001-Handle-negative-time-and-offset-from-Epoch.patch \
> +  "
> SRCREV = "d4014aeef4b89a4aaab1af42d7b0d143d62da0ff"
> UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)$"
> 
> diff --git
> a/meta/recipes-kernel/lttng/files/0001-Handle-negative-time-and-offset-from-Epoch.patch
> b/meta/recipes-kernel/lttng/files/0001-Handle-negative-time-and-offset-from-Epoch.patch
> new file mode 100644
> index 000..f93fea7
> --- /dev/null
> +++
> b/meta/recipes-kernel/lttng/files/0001-Handle-negative-time-and-offset-from-Epoch.patch
> @@ -0,0 +1,853 @@
> +From d6480f9dc6a6f6536da6c3df59006ba67ef0f622 Mon Sep 17 00:00:00 2001
> +From: Mathieu Desnoyers 
> +Date: Wed, 14 Aug 2019 13:24:31 +0800
> +Subject: [PATCH] Handle negative time and offset from Epoch
> +
> +Handle cases where a trace have a negative offset from Epoch.
> +If Epoch is arbitrary (e.g. embedded system starting at 0, without any
> +network access), the "0" can be used as correlation point between
> +various components, and some components could start before the
> +correlation point. Therefore, especially in traces where the time is
> +meant to be shown in nanoseconds or cycles from the correlation point,
> +it also makes sense to have a negative time value.
> +
> +It introduces API-breaking changes in the C and Python APIs, since we
> +need to be able to return negative time values, which were previously
> +used as errors (-1ULL).
> +
> +The --offset and --offset-ns command line parameters can now take
> +negative offset (seconds and nanoseconds) values too.
> +
> +The [sec.ns] format is used as fallback so we don't attempt to pass
> +a negative time value to POSIX time-formatting APIs.
> +
> +This also fixes an inaccurate return value in an error path of
> +bt_ctf_event_populate_event_header().
> +
> +Signed-off-by: Mathieu Desnoyers 
> +
> +Upstream-Status: Backport[61cf588beae752e5ddfc60b6b5310f769ac9e852]
> +
> +Signed-off-by: He Zhe 
> +---
> + converter/babeltrace.c |   4 +-
> + formats/ctf-text/ctf-text.c|   2 +-
> + formats/ctf/ctf.c  | 115 
> +++--
> + formats/ctf/events-private.h   |  11 +-
> + formats/ctf/events.c   |  11 +-
> + .../ctf/metadata/ctf-visitor-generate-io-struct.c  |   2 +-
> + include/babeltrace/babeltrace-internal.h   |   8 +-
> + include/babeltrace/clock-internal.h|   2 +-
> + include/babeltrace/ctf-ir/clock-internal.h |   2 +-
> + include/babeltrace/ctf/events.h|   8 +-
> + include/babeltrace/ctf/types.h |   6 +-
> + include/babeltrace/format.h|  10 +-
> + include/babeltrace/trace-handle-internal.h |   8 +-
> + include/babeltrace/trace-handle.h  |  25 +++--
> + lib/context.c  

[OE-core] Yocto Project Status WW36’19

2019-09-03 Thread Richard Purdie
Current Dev Position: YP 2.8 M4 Feature FreezeNext Deadline: YP 3.0
Final Release 25th Oct
SWAT Team Rotation:SWAT lead is currently: ArminSWAT team rotation:
Armin -> Paul on Sept. 6, 2019SWAT team rotation: Paul -> Ross on Sept.
13, 2019
https://wiki.yoctoproject.org/wiki/Yocto_Build_Failure_Swat_Team
Next Team Meetings:Bug Triage meeting Thursday Sept 5th at 7:30am PDT (
https://zoom.us/j/454367603)Monthly Project Meeting Tuesday Sept. 3rd
at 8am PDT (https://zoom.us/j/990892712) Twitch - Next event is Tuesday
Sept. 10th at 8am PDT (https://www.twitch.tv/yocto_project)
Key Status/Updates:We’re now in feature freeze for 3.0 and working on
bug fixing for final releaseSeveral key 3.0 changes have now merged:5.2
linux-libc-kernel-headers5.2 kernel recipesRemoval of LSB and poky-lsb
and replacement with alt config testingPatches have significantly
reduced the dependency on python2Reproducible builds are now being
tested for core-image-minimalThere are the following changes still
under discussion/testing:Systemd vs. sysvinit defaults (maybe for the
poky alternative configuration tests)Making 5.2 the default kernel for
qemu (has regressions, see below)Hashserv performance issue
resolutionFinal configuration of hash equivalencytoolchain testsuite
patch seriesThe sstate hash equivalency continues to have challenges:we
need to rework the client/server communication to scale to the
autobuilderthere are some bugs in the code the autobuilder continues to
exposewe have cases where its not 100% clear what the correct behaviour
should betest cases are proving to be problematic to write in a
maintainable wayPatch merging is roughly up to date againWe have
several significant problematic bugs that are being worked on:5.2 stap
build issue on qemuarm5.2 kprobes error message (qemuarm64,
qemumips64)qemumips machine hangIf anyone has any status items for the
project they’d like to add to the weekly reports, please email
Richard+Stephen.
Planned Releases for YP 3.0 {2.8}:M3 Release 6th SeptM4 Cutoff 30th
Sept - this will be YP 3.0.YP 3.0 {2.8 (M4)} Final Release 25th Oct
Planned upcoming dot releases:YP 2.7.2 (Warrior) is planned for after
YP 3.0 release.YP 2.6.4 (Thud) is planned for after YP 2.7.2  release.
Tracking Metrics:WDD 2413 (last week 2485) (
https://wiki.yoctoproject.org/charts/combo.html)Poky Patch
Metrics  Total patches found: 1470 (last week 1474)Patches in the
Pending State: 611 (42%) [last week 613 (41%)]
Key Status Links for YP:
https://wiki.yoctoproject.org/wiki/Yocto_Project_v2.8_Statushttps://wiki.yoctoproject.org/wiki/Yocto_2.8_Schedulehttps://wiki.yoctoproject.org/wiki/Yocto_2.8_Features
The Yocto Project’s technical governance is through its Technical
Steering Committee, more information is available at:
https://wiki.yoctoproject.org/wiki/TSC
The Status reports are now stored on the wiki at: 
https://wiki.yoctoproject.org/wiki/Weekly_Status
[If anyone has suggestions for other information you’d like to see on
this weekly status update, let us know!]


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


Re: [OE-core] [PATCH] lttng: babeltrace: Fix negative clock offset

2019-09-03 Thread richard . purdie
On Tue, 2019-09-03 at 16:53 -0400, Jonathan Rajotte-Julien wrote:
> Hi,
> 
> This patch breaks the API of stable-1.5. It is clearly mentioned in
> the commit message:
> 
>  It introduces API-breaking changes in the C and Python APIs, since
> we
>  need to be able to return negative time values, which were
> previously
>  used as errors (-1ULL).
> 
> You can have it in your layer but it should never be upstreamed to
> yocto/oe in any case for the stable 1.5 branch of babeltrace.
> 
> The change you are referencing
> (61cf588beae752e5ddfc60b6b5310f769ac9e852) is queued to be in
> Babeltrace 2.0.0.
> 
> Richard: as part of the lttng/babeltrace team I advice against using
> this patch in OE.

Thanks, it was in master-next but its now been removed locally and will
propagate. I appreciate the advice.

Cheers,

Richard

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


Re: [OE-core] [PATCH 6/6] xz: Remove GPLv3 license checksum

2019-09-03 Thread Wes Lindauer
Mark,

In reference to "It typically does NOT include the license of things used
to build the software (such as makefiles, autoconf fragments, etc)".
Since the only file that is licensed under GPLv3 is a M4 macro, does that
mean the current patch is still valid? Shouldn't the GPLv3 license be
removed from this recipe?

Wes L

On Tue, Aug 27, 2019 at 2:28 PM Mark Hatle  wrote:

> On 8/27/19 1:04 PM, Adrian Bunk wrote:
> > On Fri, Aug 16, 2019 at 01:50:14PM -0700, Khem Raj wrote:
> >> On Fri, Aug 16, 2019 at 12:46 PM Wes Lindauer <
> wesley.linda...@gmail.com> wrote:
> >>>
> >>> Although xz has some files that are GPLv3 licensed, none of them get
> >>> packaged up, and therefore none of it ends up in the final rootfs.
> Since
> >>> there is no GPLv3 code in the final image, we don't want to include it
> >>> when we collect licenses, as that would give the incorrect impression
> >>> that the image contains GPLv3 code.
> >>
> >> We will be distributing this in src packages though. Maybe these files
> >> should be deleted before the build even starts.
> >
> > OE does licence tracking on binary packages, not on source packages.
>
> It tracks -both-.  Since MOST recipes and binary packages agree, people
> don't
> often know this.
>
> LICENSE is the -recipe source license-.  Nothing more nothing less.  It
> typically does NOT include the license of things used to build the software
> (such as makefiles, autoconf fragments, etc), but must include the license
> of
> any sources that are or may be used to construct binaries.
>
> LICENSE_ is automatically defined as LICENSE.  If a binary
> package has
> a difference license (which must ALWAYS be a subset of the recipe
> LICENSE), then
> it can be specified independently.
>
> See sysfsutils as an example:
>
> LICENSE = "GPLv2 & LGPLv2.1"
> LICENSE_${PN} = "GPLv2"
> LICENSE_libsysfs = "LGPLv2.1"
>
> recipe is made of of source code consisting of GPLv2 and LGPLv2.1.
>
> The LICENSE_${PN} is expected to be GPLv2, while the LICENSE_libsysfs is
> expected to be LGPLv2.1.
>
>
> The LIC_FILES_CHKSUM is supposed to represent the -recipe- source
> license.  If
> the component is used to build the binaries, then it needs to be listed
> (but
> only has to be listed once).
>
> If the component MIGHT be used, it needs to be listed.
>
> If the component will NOT be used, then it should not be listed (and it's
> advised to remove it from the source to avoid accidental usage...)
>
> --Mark
>
>
> > There are recipes that build binary packages with different licences
> > from the same sources.
> >
> > cu
> > Adrian
> >
>
> --
> ___
> 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] [AUH] kmscube: upgrading to f632b23a528ed6b4e1fddd774db005c30ab65568 SUCCEEDED

2019-09-03 Thread Carlos Rafael Giani

Hi,

FYI: I have updated kmscube to perform run-time checks that replace the 
existing build-time gbm_bo_map() check (which is what the patch in the 
kmscube folder is about), since upstream prefers run-time checks via 
weak functions. The commit is here: 
https://gitlab.freedesktop.org/dv1/kmscube/commit/99264af7f2b820f7464ff3036a49aff3dd7fd8cf


Unfortunately, I have no platform with a Mali GPU, so I cannot test-run 
these changes. I have asked the authors mentioned in the patch for help. 
If anybody else here can also test-run this on a Mali-enabled platform, 
it would be very helpful. Once I get an OK from test-runs, I'll update 
the recipes to use this instead of the existing patch.


On 17.08.19 19:49, a...@auh.yoctoproject.org wrote:

Hello,

You are receiving this email because you are the maintainer
of *kmscube* recipe and this is to let you know that the automatic attempt
to upgrade the recipe to *f632b23a528ed6b4e1fddd774db005c30ab65568* has 
Succeeded.

Next steps:
 - apply the patch: git am 0001-kmscube-upgrade-to-latest-revision.patch
 - check the changes to upstream patches and summarize them in the commit 
message,
 - compile an image that contains the package
 - perform some basic sanity tests
 - amend the patch and sign it off: git commit -s --reset-author --amend
 - send it to the appropriate mailing list

Alternatively, if you believe the recipe should not be upgraded at this time,
you can fill RECIPE_NO_UPDATE_REASON in respective recipe file so that
automatic upgrades would no longer be attempted.

Please review the attached files for further information and build/update 
failures.
Any problem please file a bug at 
https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Automated%20Update%20Handler

Regards,
The Upgrade Helper

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


Re: [OE-core] [PATCH] meta: add missing descriptions and homepage in bsp

2019-09-03 Thread Randy MacLeod

On 9/3/19 11:00 AM, Ross Burton wrote:

On 30/08/2019 02:08, Maxime Roussin-Bélanger wrote:
+DESCRIPTION = "In recent linux kernels, the /proc/acpi/event 
interface has \
+been deprecated. The same information (and more) is available via 
netlink \
+(a way for the kernel to communicate with userspace that is usually 
used \
+for networking) and the input layer (mouse, keyboard, power button, 
etc...). \

+This version of acpid supports netlink and the input layer."


This is not a meaningful description of acpid.


Hi Maxime,

Thanks for staring on this work.


People often just copy info from another distro as a starting or even 
ending point.


From my ubu-19.04 system is below (1).


You can also look the package info for several distros using:

  https://pkgs.org/download/acpid

I think the Debian-based distro and SUSE distros tend to have good short 
and long


summaries but I've only looked briefly at the acpid one.


Please take a look, let us know if you have any questions and send a v2 
if not.


Thanks,

../Randy


[1]

$ apt show acpid
Package: acpid
Version: 1:2.0.31-1ubuntu2
Priority: optional
Section: admin
Origin: Ubuntu
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian Acpi Team 


Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 145 kB
Depends: libc6 (>= 2.27), lsb-base (>= 3.2-14), kmod
Homepage: http://sourceforge.net/projects/acpid2/
Task: ubuntu-desktop-minimal, ubuntu-desktop, kubuntu-desktop, 
xubuntu-core, xubuntu-desktop, lubuntu-desktop, 
ubuntustudio-desktop-core, ubuntustudio-desktop, ubuntukylin-desktop, 
ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop

Supported: 9m
Download-Size: 37.3 kB
APT-Manual-Installed: no
APT-Sources: http://ca.archive.ubuntu.com/ubuntu disco/main amd64 Packages
Description: Advanced Configuration and Power Interface event daemon
 Modern computers support the Advanced Configuration and Power 
Interface (ACPI)
 to allow intelligent power management on your system and to query 
battery and

 configuration status.
 .
 ACPID is a completely flexible, totally extensible daemon for delivering
 ACPI events. It listens on netlink interface (or on the deprecated file
 /proc/acpi/event), and when an event occurs, executes programs to 
handle the
 event. The programs it executes are configured through a set of 
configuration

 files, which can be dropped into place by packages or by the admin.




+DESCRIPTION = "The grub.cfg file contains Bash-like code and a list 
of installed \
+kernels in an array ordered by sequence of installation. For 
example, if you \
+have four installed kernels, the most recent kernel will be at index 
0, the \
+previous kernel will be at index 1, and the oldest kernel will be 
index 3."


This reads more as documentation than description.

Ross



--
# Randy MacLeod
# Wind River Linux

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


[OE-core] [PATCH v2 07/12] oeqa/core/tests: Fix test_data module tests

2019-09-03 Thread Nathan Rossi
These two tests relied on the context containing the results information.
This was moved into the OETestResults class.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- New
---
 meta/lib/oeqa/core/tests/test_data.py | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/core/tests/test_data.py 
b/meta/lib/oeqa/core/tests/test_data.py
index 50811bb381..ac74098b78 100755
--- a/meta/lib/oeqa/core/tests/test_data.py
+++ b/meta/lib/oeqa/core/tests/test_data.py
@@ -22,8 +22,9 @@ class TestData(TestBase):
 expectedException = "oeqa.core.exception.OEQAMissingVariable"
 
 tc = self._testLoader(modules=self.modules)
-self.assertEqual(False, tc.runTests().wasSuccessful())
-for test, data in tc.errors:
+results = tc.runTests()
+self.assertFalse(results.wasSuccessful())
+for test, data in results.errors:
 expect = False
 if expectedException in data:
 expect = True
@@ -35,8 +36,9 @@ class TestData(TestBase):
 d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'}
 
 tc = self._testLoader(d=d, modules=self.modules)
-self.assertEqual(False, tc.runTests().wasSuccessful())
-for test, data in tc.failures:
+results = tc.runTests()
+self.assertFalse(results.wasSuccessful())
+for test, data in results.failures:
 expect = False
 if expectedError in data:
 expect = True
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 09/12] oeqa/selftest: Add test run filtering based on test tags

2019-09-03 Thread Nathan Rossi
Add '--run-only-tags' for running tests which match any of the provided
tags, and '--run-exclude-tags' for running all tests except those that
have any of the provided tags.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- New
---
 meta/lib/oeqa/selftest/context.py | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index d279994ddf..47de08e3f2 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -61,6 +61,12 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 group.add_argument('-r', '--run-tests', required=False, action='store',
 nargs='+', dest="run_tests", default=None,
 help='Select what tests to run (modules, classes or test 
methods). Format should be: ..')
+group.add_argument('-t', '--run-only-tags', action='store',
+nargs='+', dest="run_only_tags", default=None,
+help='Run all (unhidden) tests which match any of the 
specified tags.')
+group.add_argument('-T', '--run-exclude-tags', action='store',
+nargs='+', dest="run_exclude_tags", default=None,
+help='Run all (unhidden) tests excluding any that match any of 
the specified tags.')
 
 group.add_argument('-m', '--list-modules', required=False,
 action="store_true", default=False,
@@ -149,6 +155,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], 
 self.tc_kwargs['init']['config_paths']['bblayers_backup'])
 
+if args.run_only_tags:
+self.tc_kwargs['load']['tags_filter'] = lambda tags: not tags or 
not any(tag in args.run_only_tags for tag in tags)
+if args.run_exclude_tags:
+self.tc_kwargs['load']['tags_filter'] = lambda tags: any(tag in 
args.run_exclude_tags for tag in tags)
+
 self.tc_kwargs['run']['skips'] = args.skips
 self.tc_kwargs['run']['processes'] = args.processes
 
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 12/12] oeqa/selftest/glibc: Create selftest case for glibc test suite

2019-09-03 Thread Nathan Rossi
Create a oeqa selftest test case to execute the glibc test suite and
report the results. The results are populated into the extraresults
variable of the test case which are written to testresults.json for
resulttool to analyse.

An additional subclass is created to separate the execution with qemu
linux-user and qemu system. The GlibcSelfTestSystemEmulated test case
handles setup of the target image, setup of and NFS server as well as
execution with runqemu.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- Populate test results as ptestresults
- Rename BUILD_TEST_* to TOOLCHAIN_TEST_*
- Mark tests with 'machine' tag
---
 meta/lib/oeqa/selftest/cases/glibc.py | 97 +++
 1 file changed, 97 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/glibc.py

diff --git a/meta/lib/oeqa/selftest/cases/glibc.py 
b/meta/lib/oeqa/selftest/cases/glibc.py
new file mode 100644
index 00..f836367094
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/glibc.py
@@ -0,0 +1,97 @@
+# SPDX-License-Identifier: MIT
+import os
+import contextlib
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, 
Command
+from oeqa.utils.nfs import unfs_server
+
+def parse_values(content):
+for i in content:
+for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", 
"UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+if i.startswith(v + ": "):
+yield i[len(v) + 2:].strip(), v
+break
+
+@OETestTag("machine")
+class GlibcSelfTest(OESelftestTestCase):
+@classmethod
+def setUpClass(cls):
+super().setUpClass()
+if not hasattr(cls.tc, "extraresults"):
+cls.tc.extraresults = {}
+
+if "ptestresult.sections" not in cls.tc.extraresults:
+cls.tc.extraresults["ptestresult.sections"] = {}
+
+def test_glibc(self):
+self.glibc_run_check()
+
+def glibc_run_check(self, ssh = None):
+# configure ssh target
+features = []
+if ssh is not None:
+features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+# force single threaded test execution
+features.append('EGLIBCPARALLELISM_task-check_pn-glibc-testsuite = 
"PARALLELMFLAGS="-j1""')
+self.write_config("\n".join(features))
+
+bitbake("glibc-testsuite -c check")
+
+builddir = get_bb_var("B", "glibc-testsuite")
+
+failed = 0
+self.tc.extraresults["ptestresult.sections"]["glibc"] = {}
+with open(os.path.join(builddir, "tests.sum"), "r") as f:
+for test, result in parse_values(f):
+self.tc.extraresults["ptestresult.glibc.{}".format(test)] = 
{"status" : result}
+if result == "FAIL":
+self.logger.info("failed: '{}'".format(test))
+failed += 1
+self.assertEqual(failed, 0)
+
+class GlibcSelfTestSystemEmulated(GlibcSelfTest):
+default_installed_packages = [
+"glibc-charmaps",
+"libgcc",
+"libstdc++",
+"libatomic",
+"libgomp",
+"python3",
+"python3-pexpect",
+"nfs-utils",
+]
+
+def glibc_run_check(self):
+with contextlib.ExitStack() as s:
+# use the base work dir, as the nfs mount, since the recipe 
directory may not exist
+tmpdir = get_bb_var("BASE_WORKDIR")
+nfsport, mountport = s.enter_context(unfs_server(tmpdir))
+
+# build core-image-minimal with required packages
+features = []
+features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" 
".join(self.default_installed_packages)))
+self.write_config("\n".join(features))
+bitbake("core-image-minimal")
+
+# start runqemu
+qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams 
= "nographic"))
+
+# validate that SSH is working
+status, _ = qemu.run("uname")
+self.assertEqual(status, 0)
+
+# setup nfs mount
+if qemu.run("mkdir -p \"{0}\"".format(tmpdir))[0] != 0:
+raise Exception("Failed to setup NFS mount directory on 
target")
+mountcmd = "mount -o noac,nfsvers=3,port={0},udp,mountport={1} 
\"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir)
+status, output = qemu.run(mountcmd)
+if status != 0:
+raise Exception("Failed to setup NFS mount on target 
({})".format(repr(output)))
+
+super().glibc_run_check(ssh = qemu.ip)
+
---
2.23.0.rc1
-- 

[OE-core] [PATCH v2 11/12] oeqa/selftest/gcc: Create selftest case for gcc test suite

2019-09-03 Thread Nathan Rossi
Create a oeqa selftest test case to execute the gcc test suites and
report the results. The results are populated into the extraresults
variable of the test case which are written to testresults.json for
resulttool to analyse.

An additional subclass is created to separate the execution with qemu
linux-user and qemu system. The GccSelfTestSystemEmulated test case
handles setup of the target image as well as execution with runqemu.

Signed-off-by: Nathan Rossi 
---
Changed in v2:
- Change to using only gcc-runtime recipe and associated check targets
- Remove gxx/g++ testcase, this is part of the "check-gcc" target
- Populate test results as ptestresults
- Rename BUILD_TEST_* to TOOLCHAIN_TEST_*
- Mark tests with 'machine' tag
---
 meta/lib/oeqa/selftest/cases/gcc.py | 111 
 1 file changed, 111 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/gcc.py

diff --git a/meta/lib/oeqa/selftest/cases/gcc.py 
b/meta/lib/oeqa/selftest/cases/gcc.py
new file mode 100644
index 00..0ad6e21d6b
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/gcc.py
@@ -0,0 +1,111 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, 
Command
+
+def parse_values(content):
+for i in content:
+for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", 
"UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+if i.startswith(v + ": "):
+yield i[len(v) + 2:].strip(), v
+break
+
+@OETestTag("machine")
+class GccSelfTest(OESelftestTestCase):
+@classmethod
+def setUpClass(cls):
+super().setUpClass()
+if not hasattr(cls.tc, "extraresults"):
+cls.tc.extraresults = {}
+
+if "ptestresult.sections" not in cls.tc.extraresults:
+cls.tc.extraresults["ptestresult.sections"] = {}
+
+def gcc_runtime_check_skip(self, suite):
+targets = get_bb_var("RUNTIMETARGET", "gcc-runtime").split()
+if suite not in targets:
+self.skipTest("Target does not use {0}".format(suite))
+
+def test_cross_gcc(self):
+self.gcc_run_check("gcc", "g++")
+
+def test_libatomic(self):
+self.gcc_run_check("libatomic")
+
+def test_libgomp(self):
+self.gcc_run_check("libgomp")
+
+def test_libstdcxx(self):
+self.gcc_run_check("libstdc++-v3")
+
+def test_libssp(self):
+self.gcc_runtime_check_skip("libssp")
+self.gcc_run_check("libssp")
+
+def test_libitm(self):
+self.gcc_runtime_check_skip("libitm")
+self.gcc_run_check("libitm")
+
+def gcc_run_check(self, *suites, ssh = None):
+targets = set()
+for s in suites:
+if s in ["gcc", "g++"]:
+targets.add("check-gcc")
+else:
+targets.add("check-target-{}".format(s))
+
+# configure ssh target
+features = []
+features.append('MAKE_CHECK_TARGETS = "{0}"'.format(" ".join(targets)))
+if ssh is not None:
+features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+self.write_config("\n".join(features))
+
+recipe = "gcc-runtime"
+bitbake("{} -c check".format(recipe))
+
+bb_vars = get_bb_vars(["B", "TARGET_SYS"], recipe)
+builddir, target_sys = bb_vars["B"], bb_vars["TARGET_SYS"]
+
+failed = 0
+for suite in suites:
+sumspath = os.path.join(builddir, "gcc", "testsuite", suite, 
"{0}.sum".format(suite))
+if not os.path.exists(sumspath): # check in target dirs
+sumspath = os.path.join(builddir, target_sys, suite, 
"testsuite", "{0}.sum".format(suite))
+if not os.path.exists(sumspath): # handle libstdc++-v3 -> libstdc++
+sumspath = os.path.join(builddir, target_sys, suite, 
"testsuite", "{0}.sum".format(suite.split("-")[0]))
+
+ptestsuite = "gcc-{}".format(suite) if suite != "gcc" else suite
+self.tc.extraresults["ptestresult.sections"][ptestsuite] = {}
+with open(sumspath, "r") as f:
+for test, result in parse_values(f):
+
self.tc.extraresults["ptestresult.{}.{}".format(ptestsuite, test)] = {"status" 
: result}
+if result == "FAIL":
+self.logger.info("failed: '{}'".format(test))
+failed += 1
+
+self.assertEqual(failed, 0)
+
+class GccSelfTestSystemEmulated(GccSelfTest):
+default_installed_packages = ["libgcc", "libstdc++", "libatomic", 
"libgomp"]
+
+def gcc_run_check(self, *args, **kwargs):
+# build core-image-minimal with required 

[OE-core] [PATCH v2 10/12] oeqa/selftest/binutils: Create selftest case for binutils test suite

2019-09-03 Thread Nathan Rossi
Create a oeqa selftest test case to execute the binutils test suites and
report the results. The results are populated into the extraresults
variable of the test case which are written to testresults.json for
resulttool to analyse.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- Update to use binutils-cross-testsuite and CHECK_TARGETS
- Drop gold and libiberty test cases (and result parsing code)
- Populate test results as ptestresults
- Mark tests with 'machine' tag
---
 meta/lib/oeqa/selftest/cases/binutils.py | 64 
 1 file changed, 64 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/binutils.py

diff --git a/meta/lib/oeqa/selftest/cases/binutils.py 
b/meta/lib/oeqa/selftest/cases/binutils.py
new file mode 100644
index 00..4edee09390
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/binutils.py
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: MIT
+import os
+import sys
+import re
+import logging
+from oeqa.core.decorator import OETestTag
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars
+
+def parse_values(content):
+for i in content:
+for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", 
"UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+if i.startswith(v + ": "):
+yield i[len(v) + 2:].strip(), v
+break
+
+@OETestTag("machine")
+class BinutilsCrossSelfTest(OESelftestTestCase):
+@classmethod
+def setUpClass(cls):
+super().setUpClass()
+if not hasattr(cls.tc, "extraresults"):
+cls.tc.extraresults = {}
+
+if "ptestresult.sections" not in cls.tc.extraresults:
+cls.tc.extraresults["ptestresult.sections"] = {}
+
+def test_binutils(self):
+self.run_binutils("binutils")
+
+def test_gas(self):
+self.run_binutils("gas")
+
+def test_ld(self):
+self.run_binutils("ld")
+
+def run_binutils(self, suite):
+features = []
+features.append('CHECK_TARGETS = "{0}"'.format(suite))
+self.write_config("\n".join(features))
+
+recipe = "binutils-cross-testsuite"
+bb_vars = get_bb_vars(["B", "TARGET_SYS", "T"], recipe)
+builddir, target_sys, tdir = bb_vars["B"], bb_vars["TARGET_SYS"], 
bb_vars["T"]
+
+bitbake("{0} -c check".format(recipe))
+
+ptestsuite = "binutils-{}".format(suite) if suite != "binutils" else 
suite
+self.tc.extraresults["ptestresult.sections"][ptestsuite] = {}
+
+sumspath = os.path.join(builddir, suite, "{0}.sum".format(suite))
+if not os.path.exists(sumspath):
+sumspath = os.path.join(builddir, suite, "testsuite", 
"{0}.sum".format(suite))
+
+failed = 0
+with open(sumspath, "r") as f:
+for test, result in parse_values(f):
+self.tc.extraresults["ptestresult.{}.{}".format(ptestsuite, 
test)] = {"status" : result}
+if result == "FAIL":
+self.logger.info("failed: '{}'".format(test))
+failed += 1
+
+self.assertEqual(failed, 0)
+
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 08/12] oeqa/core: Rework OETestTag and remove unused OETestFilter

2019-09-03 Thread Nathan Rossi
Rework OETestTag so that it does not rely on the existing decorator code
base and instead inserts the tags into an attribute on the decorated
target (e.g. class/type or method). This allows the use of OETestTag on
classes and method.

In order to filter tagged tests rework the loaders filtering code,
removing the generic-ness (with validation and attributes/etc.) and
replace it with a "tags_filter" parameter which is a function that
filters a test based on the tags it has. This allows the loader user to
filter on tags in more specific ways (e.g. include all untagged tests
and any tests tagged with foo). Plumb all this through the context code
and testing code.

Update the associated tests to pass correctly with the changes.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- New
---
 meta/lib/oeqa/core/context.py   |  4 +-
 meta/lib/oeqa/core/decorator/__init__.py| 20 +---
 meta/lib/oeqa/core/decorator/oetag.py   | 27 --
 meta/lib/oeqa/core/loader.py| 61 +++
 meta/lib/oeqa/core/tests/cases/data.py  |  2 +-
 meta/lib/oeqa/core/tests/cases/oetag.py | 21 +++-
 meta/lib/oeqa/core/tests/common.py  |  4 +-
 meta/lib/oeqa/core/tests/test_decorators.py | 77 +++--
 meta/lib/oeqa/core/tests/test_loader.py | 25 --
 9 files changed, 103 insertions(+), 138 deletions(-)
 delete mode 100644 meta/lib/oeqa/core/decorator/oetag.py

diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
index 68819cc338..14fc6a54f4 100644
--- a/meta/lib/oeqa/core/context.py
+++ b/meta/lib/oeqa/core/context.py
@@ -64,12 +64,12 @@ class OETestContext(object):
 setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the 
command line argument "%s"' % skip))
 
 def loadTests(self, module_paths, modules=[], tests=[],
-modules_manifest="", modules_required=[], filters={}):
+modules_manifest="", modules_required=[], **kwargs):
 if modules_manifest:
 modules = self._read_modules_from_manifest(modules_manifest)
 
 self.loader = self.loaderClass(self, module_paths, modules, tests,
-modules_required, filters)
+modules_required, **kwargs)
 self.suites = self.loader.discover()
 
 def runTests(self, processes=None, skips=[]):
diff --git a/meta/lib/oeqa/core/decorator/__init__.py 
b/meta/lib/oeqa/core/decorator/__init__.py
index 923b218266..1a5ac40134 100644
--- a/meta/lib/oeqa/core/decorator/__init__.py
+++ b/meta/lib/oeqa/core/decorator/__init__.py
@@ -6,6 +6,7 @@
 
 from functools import wraps
 from abc import abstractmethod, ABCMeta
+from oeqa.core.utils.misc import strToList
 
 decoratorClasses = set()
 
@@ -63,12 +64,15 @@ class OETestDiscover(OETestDecorator):
 def discover(registry):
 return registry['cases']
 
-class OETestFilter(OETestDecorator):
+def OETestTag(*tags):
+expandedtags = []
+for tag in tags:
+expandedtags += strToList(tag)
+def decorator(item):
+if hasattr(item, "__oeqa_testtags"):
+item.__oeqa_testtags += expandedtags
+else:
+item.__oeqa_testtags = expandedtags
+return item
+return decorator
 
-# OETestLoader call it while loading the tests
-# in loadTestsFromTestCase method, it needs to
-# return a bool, True if needs to be filtered.
-# This method must consume the filter used.
-@abstractmethod
-def filtrate(self, filters):
-return False
diff --git a/meta/lib/oeqa/core/decorator/oetag.py 
b/meta/lib/oeqa/core/decorator/oetag.py
deleted file mode 100644
index 8c31138dac..00
--- a/meta/lib/oeqa/core/decorator/oetag.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2016 Intel Corporation
-#
-# SPDX-License-Identifier: MIT
-#
-
-from . import OETestFilter, registerDecorator
-from oeqa.core.utils.misc import strToList
-
-def _tagFilter(tags, filters):
-return False if set(tags) & set(filters) else True
-
-@registerDecorator
-class OETestTag(OETestFilter):
-attrs = ('oetag',)
-
-def bind(self, registry, case):
-super(OETestTag, self).bind(registry, case)
-self.oetag = strToList(self.oetag, 'oetag')
-
-def filtrate(self, filters):
-if filters.get('oetag'):
-filterx = strToList(filters['oetag'], 'oetag')
-del filters['oetag']
-if _tagFilter(self.oetag, filterx):
-return True
-return False
diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py
index 7fea0585c7..0d7970d49e 100644
--- a/meta/lib/oeqa/core/loader.py
+++ b/meta/lib/oeqa/core/loader.py
@@ -16,7 +16,7 @@ from oeqa.core.utils.test import getSuiteModules, getCaseID
 from oeqa.core.exception import OEQATestNotFound
 from oeqa.core.case import OETestCase
 from oeqa.core.decorator import decoratorClasses, OETestDecorator, \
-OETestFilter, OETestDiscover
+OETestDiscover
 
 

[OE-core] [PATCH v2 00/12] Add gnu testsuite execution for OEQA

2019-09-03 Thread Nathan Rossi
This series adds support to execute the gnu test suites for binutils,
gcc and glibc. With the intention for enabling automated test running of
these test suites within the OEQA framework such that they can be
executed by the Yocto Autobuilder.

The test suites covered need significant resources or build artifacts
such that running them on the target is undesirable which rules out the
use of ptest. Because of this the test suites can be run on the build
host and call out to the target for execution (via ssh or using qemu
usermode).

The following implementation adds a do_check task to gcc-runtime, and
creates recipes for binutils and glibc in order to execute the test
suite on the build host. For binutils the reason for a separate recipe
is due to test suite dependence on target libraries (libgcc, glibc) and
the issues associated with a -cross recipe depending on target
libraries. For glibc the reason for a recipe is due to the dependency
chain (libgcc -> glibc -> libgcc-initial) and the test suite dependence
on libgcc.

Target execution is another important issue specifically since target
execution is slow to extremely slow depending on the physical or
emulated target performance. In order to provide faster execution
performance qemu linux-user is implemented alongside qemu system
emulation (via ssh+nfs). In initial testing qemu linux user vs qemu
system emulation provided performance gains of between 10x to 60x whilst
initially having small pass/fail differences. Further work as covered in
this series reduces the pass/fail differences for gcc/gcc-runtime close
to 0, which can be further reduced by marking known failures with test
result filtering.

However glibc is more strict with its expectations of CPU implementation
as well as syscall behaviour. Additionally glibc expects to be able to
execute OS tools such as 'sh' and 'echo' of which is not easy to provide
in the recipe-sysroot (bindir is not populated into the sysroot). As
such correct test results for glibc rely on execution with qemu system
emulation or on a physical target. This series however still includes
qemu user execution for glibc which can be useful (especially on slow
targets) assuming the known failing tests are excluded.

This series also introduces some OEQA test cases which cover running the
test suites. The test cases are split into binutils, gcc and glibc.
Individual test cases provide execution of the sub-suites of tests
within each target. For example binutils has binutils, gas and ld and
suites which can each be executed independently.

The test cases populate the individual test suite test cases into
testresults similar to ptestresults so that resulttool can analyse them.
Filtering of the failed test cases where expected failures occur is not
included in this series.

The OEQA test cases implement execution on qemu linux user by default.
Subclasses implement qemu system emulation setup and configuration for
running the tests.

Changes in v2:
- Dropped merged patches from series:
  - scripts/lib/resulttool/report.py: Add more result types
  - oeqa/utils/nfs: Add unfs_server function to setup a userspace NFS server
  - binutils: Fix mips patch which changes default emulation
- Added dejagnu recipe to oe-core, imported from meta-oe
- Changes from binutils-cross to binutils-cross-testsuite recipe
- Dropped gold and libiberty test suite execution
- Changes from gcc-cross to only gcc-runtime for gcc/g++ tests
- BUILD_TEST_* to TOOLCHAIN_TEST_*
- New changes to oeqa/core for tagging tests, and patches to fix up
  broken tests in the oeqa/core testsuite
- New changes to oeqa/selftest for '--run-only-tags' and
  '--run-exclude-tags'
- Changes to new selftest tests to populate results like ptestresults
- Mark new selftest tests with 'machine' tag
---

Nathan Rossi (12):
  dejagnu: Add dejagnu for binutils/gcc test suites
  binutils-cross-testsuite: Create recipe for test suite execution
  gcc-runtime: Add do_check task for executing gcc test suites
  gcc-common.inc: Process staging fixme with correct target/native
sysroot
  glibc-testsuite: Create a recipe to implement glibc test suite
  oeqa/core/tests: Skip test_fail_duplicated_module
  oeqa/core/tests: Fix test_data module tests
  oeqa/core: Rework OETestTag and remove unused OETestFilter
  oeqa/selftest: Add test run filtering based on test tags
  oeqa/selftest/binutils: Create selftest case for binutils test suite
  oeqa/selftest/gcc: Create selftest case for gcc test suite
  oeqa/selftest/glibc: Create selftest case for glibc test suite

 meta/lib/oeqa/core/context.py |   4 +-
 meta/lib/oeqa/core/decorator/__init__.py  |  20 ++--
 meta/lib/oeqa/core/decorator/oetag.py |  27 -
 meta/lib/oeqa/core/loader.py  |  61 +++---
 meta/lib/oeqa/core/tests/cases/data.py|   2 +-
 meta/lib/oeqa/core/tests/cases/oetag.py   |  21 +++-
 meta/lib/oeqa/core/tests/common.py|   4 +-
 meta/lib/oeqa/core/tests/test_data.py   

[OE-core] [PATCH v2 04/12] gcc-common.inc: Process staging fixme with correct target/native sysroot

2019-09-03 Thread Nathan Rossi
Correct the 'staging_processfixme' call so that target sysroot and
native sysroot paths are corrected when extracting the stashed build
directory. This is required for 'make check' to work correctly due paths
used in configuration and scripts which point at the native sysroot.

Signed-off-by: Nathan Rossi 
---
 meta/recipes-devtools/gcc/gcc-common.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/gcc/gcc-common.inc 
b/meta/recipes-devtools/gcc/gcc-common.inc
index 89273a7745..44cba287f3 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -17,7 +17,7 @@ python extract_stashed_builddir () {
 src = 
d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
 dest = d.getVar("B")
 oe.path.copyhardlinktree(src, dest)
-staging_processfixme([src + "/fixmepath"], dest, dest, dest, d)
+staging_processfixme([src + "/fixmepath"], dest, 
d.getVar("RECIPE_SYSROOT"), d.getVar("RECIPE_SYSROOT_NATIVE"), d)
 }
 
 def get_gcc_float_setting(bb, d):
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 05/12] glibc-testsuite: Create a recipe to implement glibc test suite

2019-09-03 Thread Nathan Rossi
A recipe needs to be created for the test suite due to the dependency
chain between libgcc -> glibc -> libgcc-initial, and the requirements of
the test suite to have libgcc for compilation and execution.

The glibc test suite does not use dejagnu like the gcc test suites do.
Instead a test wrapper script is used along with the assumed dependency
of having the same filesystem available on build host and target. For
qemu linux-user the same filesystem is inherently available, for remote
targets NFS is used. Separate test wrapper scripts are created for qemu
linux-user or ssh targets, with the same TOOLCHAIN_TEST_* variables used for
configuration.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- Renamed BUILD_TEST_* to TOOLCHAIN_TEST_*
---
 meta/recipes-core/glibc/glibc-testsuite_2.30.bb  | 51 +
 meta/recipes-core/glibc/glibc/check-test-wrapper | 71 
 2 files changed, 122 insertions(+)
 create mode 100644 meta/recipes-core/glibc/glibc-testsuite_2.30.bb
 create mode 100644 meta/recipes-core/glibc/glibc/check-test-wrapper

diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.30.bb 
b/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
new file mode 100644
index 00..88764d9e2b
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
@@ -0,0 +1,51 @@
+require glibc_${PV}.bb
+
+# handle PN differences
+FILESEXTRAPATHS_prepend := "${THISDIR}/glibc:"
+
+# strip provides
+PROVIDES = ""
+# setup depends
+INHIBIT_DEFAULT_DEPS = ""
+
+DEPENDS += "glibc-locale libgcc gcc-runtime"
+
+# remove the initial depends
+DEPENDS_remove = "libgcc-initial"
+
+inherit qemu
+
+SRC_URI += "file://check-test-wrapper"
+
+DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' 
else ''}"
+
+TOOLCHAIN_TEST_TARGET ??= "user"
+TOOLCHAIN_TEST_HOST ??= "localhost"
+TOOLCHAIN_TEST_HOST_USER ??= "root"
+TOOLCHAIN_TEST_HOST_PORT ??= ""
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+chmod 0755 ${WORKDIR}/check-test-wrapper
+
+# clean out previous test results
+oe_runmake tests-clean
+# makefiles don't clean entirely (and also sometimes fails due to too many 
args)
+find ${B} -type f -name "*.out" -delete
+find ${B} -type f -name "*.test-result" -delete
+find ${B}/catgets -name "*.cat" -delete
+find ${B}/conform -name "symlist-*" -delete
+[ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata
+
+oe_runmake -i \
+QEMU_SYSROOT="${RECIPE_SYSROOT}" \
+QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \
+SSH_HOST="${TOOLCHAIN_TEST_HOST}" \
+SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \
+SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \
+test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \
+check
+}
+addtask do_check after do_compile
+
diff --git a/meta/recipes-core/glibc/glibc/check-test-wrapper 
b/meta/recipes-core/glibc/glibc/check-test-wrapper
new file mode 100644
index 00..f8e04e02d2
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/check-test-wrapper
@@ -0,0 +1,71 @@
+#!/usr/bin/env python3
+import sys
+import os
+import subprocess
+
+env = os.environ.copy()
+args = sys.argv[1:]
+targettype = args.pop(0)
+
+if targettype == "user":
+qemuargs = os.environ.get("QEMU_OPTIONS", "").split()
+if not os.path.exists(qemuargs[0]):
+# ensure qemu args has a valid absolute path
+for i in os.environ.get("PATH", "").split(":"):
+if os.path.exists(os.path.join(i, qemuargs[0])):
+qemuargs[0] = os.path.join(i, qemuargs[0])
+break
+sysroot = os.environ.get("QEMU_SYSROOT", None)
+if not sysroot:
+sys.exit(-1)
+libpaths = [sysroot + "/usr/lib", sysroot + "/lib"]
+
+if args[0] == "env":
+args.pop(0)
+if len(args) == 0:
+args = ["env"]
+else:
+# process options
+while args[0].startswith("-"):
+opt = args.pop(0).lstrip("-")
+if "i" in opt:
+env.clear()
+# process environment vars
+while "=" in args[0]:
+key, val = args.pop(0).split("=", 1)
+if key == "LD_LIBRARY_PATH":
+libpaths += val.split(":")
+else:
+env[key] = val
+if args[0] == "cp":
+# ignore copies, the filesystem is the same
+sys.exit(0)
+
+qemuargs += ["-L", sysroot]
+qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))]
+command = qemuargs + args
+elif targettype == "ssh":
+host = os.environ.get("SSH_HOST", None)
+user = os.environ.get("SSH_HOST_USER", None)
+port = os.environ.get("SSH_HOST_PORT", None)
+
+command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", 
"StrictHostKeyChecking=no"]
+if port:
+command += ["-p", str(port)]
+if not host:
+sys.exit(-1)
+command 

[OE-core] [PATCH v2 03/12] gcc-runtime: Add do_check task for executing gcc test suites

2019-09-03 Thread Nathan Rossi
Add a do_check task to implement execution of the gcc component test
suites. The component test suites require execution of compiled programs
on the target.

The implementation provided allows for execution testing against a host
via SSH or within the local build environment using qemu linux-user
execution. The selection of execution is done via the
TOOLCHAIN_TEST_TARGET variable, and configuration of the remote host is
done with the TOOLCHAIN_TEST_HOST, TOOLCHAIN_TEST_HOST_USER and
TOOLCHAIN_TEST_HOST_PORT variables.

By default the do_check task will execute all check targets, this can be
changed by setting MAKE_CHECK_TARGETS to the desired test suite target
(e.g. check-gcc or check-target-libatomic).

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- Dropped gcc-cross changes, all execution from gcc-runtime. Resolves
  potential issues with -cross depending on target libraries/etc.
- Due to merge, running gcc and g++ test suites separately is no longer
  supported through MAKE_CHECK_TARGETS.
- Changed BUILD_TEST_ to TOOLCHAIN_TEST_
- Added workaround for issue with configargs.h being modified by
  builddir extraction which causes issues with plugins.
---
 meta/recipes-devtools/gcc/gcc-runtime.inc   |  42 +++
 meta/recipes-devtools/gcc/gcc-testsuite.inc | 106 
 2 files changed, 148 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-testsuite.inc

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc 
b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 22c1d78dd1..2da3c02ef0 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -277,3 +277,45 @@ FILES_libitm-dev = "\
 SUMMARY_libitm-dev = "GNU transactional memory support library - development 
files"
 FILES_libitm-staticdev = "${libdir}/libitm.a"
 SUMMARY_libitm-staticdev = "GNU transactional memory support library - static 
development files"
+
+require gcc-testsuite.inc
+
+EXTRA_OEMAKE_prepend_task-check = "${PARALLEL_MAKE} "
+
+MAKE_CHECK_TARGETS ??= "check-gcc ${@" ".join("check-target-" + i for i in 
d.getVar("RUNTIMETARGET").split())}"
+# prettyprinters and xmethods require gdb tooling
+MAKE_CHECK_IGNORE ??= "prettyprinters.exp xmethods.exp"
+MAKE_CHECK_RUNTESTFLAGS ??= "${MAKE_CHECK_BOARDARGS} --ignore 
'${MAKE_CHECK_IGNORE}'"
+
+# specific host and target dependencies required for test suite running
+do_check[depends] += "dejagnu-native:do_populate_sysroot 
expect-native:do_populate_sysroot"
+do_check[depends] += "virtual/libc:do_populate_sysroot"
+# only depend on qemu if targeting linux user execution
+do_check[depends] += "${@'qemu-native:do_populate_sysroot' if "user" in 
d.getVar('TOOLCHAIN_TEST_TARGET') else ''}"
+# extend the recipe sysroot to include the built libraries (for qemu usermode)
+do_check[prefuncs] += "extend_recipe_sysroot"
+do_check[prefuncs] += "check_prepare"
+do_check[dirs] = "${WORKDIR}/dejagnu ${B}"
+do_check[nostamp] = "1"
+do_check() {
+export DEJAGNU="${WORKDIR}/dejagnu/site.exp"
+
+# HACK: this works around the configure setting CXX with -nostd* args
+sed -i 's/-nostdinc++ -nostdlib++//g' $(find ${B} -name testsuite_flags | 
head -1)
+# HACK: this works around the de-stashing changes to configargs.h, as well 
as recipe-sysroot changing the content
+sed -i '/static const char configuration_arguments/d' ${B}/gcc/configargs.h
+${CC} -v 2>&1 | grep "^Configured with:" | \
+sed 's/Configured with: \(.*\)/static const char 
configuration_arguments[] = "\1";/g' >> ${B}/gcc/configargs.h
+
+if [ "${TOOLCHAIN_TEST_TARGET}" = "user" ]; then
+# qemu user has issues allocating large amounts of memory
+export G_SLICE=always-malloc
+# no test should need more that 10G of memory, this prevents tests 
like pthread7-rope from leaking memory
+ulimit -m 4194304
+ulimit -v 10485760
+fi
+
+oe_runmake -i ${MAKE_CHECK_TARGETS} 
RUNTESTFLAGS="${MAKE_CHECK_RUNTESTFLAGS}"
+}
+addtask check after do_compile do_populate_sysroot
+
diff --git a/meta/recipes-devtools/gcc/gcc-testsuite.inc 
b/meta/recipes-devtools/gcc/gcc-testsuite.inc
new file mode 100644
index 00..b383a358d8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-testsuite.inc
@@ -0,0 +1,106 @@
+inherit qemu
+
+TOOLCHAIN_TEST_TARGET ??= "user"
+TOOLCHAIN_TEST_HOST ??= "localhost"
+TOOLCHAIN_TEST_HOST_USER ??= "root"
+TOOLCHAIN_TEST_HOST_PORT ??= ""
+
+MAKE_CHECK_BOARDFLAGS ??= ""
+MAKE_CHECK_BOARDARGS ??= 
"--target_board=${TOOLCHAIN_TEST_TARGET}${MAKE_CHECK_BOARDFLAGS}"
+
+python () {
+# Provide the targets compiler args via targets options. This allows 
dejagnu to
+# correctly mark incompatible tests as UNSUPPORTED (e.g. needs soft-float
+# but running on hard-float target).
+#
+# These options are called "multilib_flags" within the gcc test suite. Most
+# architectures handle these options in a sensible way such that tests that
+# are incompatible with the 

[OE-core] [PATCH v2 06/12] oeqa/core/tests: Skip test_fail_duplicated_module

2019-09-03 Thread Nathan Rossi
At some point the modules in tests/cases/loader/invalid/ were removed,
this test relied on having tests/cases/loader/invalid/oetag.py to
trigger a ImportError in the loader module. Skip this test.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- New
---
 meta/lib/oeqa/core/tests/test_loader.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/lib/oeqa/core/tests/test_loader.py 
b/meta/lib/oeqa/core/tests/test_loader.py
index 519ba96091..e73c91b141 100755
--- a/meta/lib/oeqa/core/tests/test_loader.py
+++ b/meta/lib/oeqa/core/tests/test_loader.py
@@ -40,6 +40,7 @@ class TestLoader(TestBase):
 result = True if expect in str(e) else False
 self.assertTrue(result, msg=msg)
 
+@unittest.skip("invalid directory is missing oetag.py")
 def test_fail_duplicated_module(self):
 cases_path = self.cases_path
 invalid_path = os.path.join(cases_path, 'loader', 'invalid')
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 01/12] dejagnu: Add dejagnu for binutils/gcc test suites

2019-09-03 Thread Nathan Rossi
The binutils and gcc test suites use dejagnu for execution. Copy the
dejagnu recipe from meta-oe, and update it to 1.6.2.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- New
---
 meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb | 15 +++
 1 file changed, 15 insertions(+)
 create mode 100644 meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb

diff --git a/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb 
b/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
new file mode 100644
index 00..7dc4e417f6
--- /dev/null
+++ b/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "devel"
+
+DEPENDS += "expect-native"
+
+inherit autotools
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "e1b07516533f351b3aba3423fafeffd6"
+SRC_URI[sha256sum] = 
"0d0671e1b45189c5fc8ade4b3b01635fb9eeab45cf54f57db23e4c4c1a17d261"
+
+BBCLASSEXTEND = "native"
---
2.23.0.rc1
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2 02/12] binutils-cross-testsuite: Create recipe for test suite execution

2019-09-03 Thread Nathan Rossi
Create the do_check task in a new recipe 'binutils-cross-testsuite'.
This recipe is built within a target recipe (not -cross) to ensure
correct testing against target specific libraries/etc. The do_check task
is used to execute the binutils test suite for the cross target
binutils. By default this executes tests for binutils, gas and ld. This
can however be changed by setting CHECK_TARGETS to the desired test
suite target (e.g. 'gas').

The binutils test suites do not require any target execution, as such
the check task can be run without QEMU or a target device. However
since the binutils tests do rely on a C compiler there is dependence on
both gcc and libc in order to run the tests.

Signed-off-by: Nathan Rossi 
---
Changes in v2:
- Moved implementation of do_check from binutils-cross to
  binutils-cross-testsuite. This is to fix issues with target dependency
  from a cross recipe.
- Execute dejagnu directly instead of running via make
- Drop support for executing the gold and libiberty testsuites, the gold
  suite was not executing correctly and the -cross variant of libiberty
  is not used by target or -native
- No longer dependent on build directory tools, using as,ld,* from
  sysroot
- (mips64) Hack/workaround gas defaulting to n32 despite ld defaulting
  to 64
---
 .../binutils/binutils-cross-testsuite_2.32.bb  | 83 ++
 1 file changed, 83 insertions(+)
 create mode 100644 
meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb

diff --git a/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb 
b/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
new file mode 100644
index 00..e62e64e8ae
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
@@ -0,0 +1,83 @@
+require binutils.inc
+require binutils-${PV}.inc
+
+BPN = "binutils"
+
+DEPENDS += "dejagnu-native expect-native"
+DEPENDS += "binutils-native"
+
+deltask do_compile
+deltask do_install
+
+do_configure[dirs] += "${B}/ld ${B}/bfd"
+do_configure() {
+# create config.h, oe enables initfini-array by default
+echo "#define HAVE_INITFINI_ARRAY" > ${B}/ld/config.h
+# use the bfd_stdint.h from binutils-native, this is the same of the one
+# generated by binutils-cross
+cp ${RECIPE_SYSROOT_NATIVE}/usr/include/bfd_stdint.h ${B}/bfd/
+}
+
+# target depends
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}gcc"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs"
+DEPENDS += "virtual/${MLPREFIX}libc"
+
+python check_prepare() {
+def suffix_sys(sys):
+if sys.endswith("-linux"):
+return sys + "-gnu"
+return sys
+
+def generate_site_exp(d, suite):
+content = []
+content.append('set srcdir "{0}/{1}"'.format(d.getVar("S"), suite))
+content.append('set objdir "{0}/{1}"'.format(d.getVar("B"), suite))
+content.append('set build_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+content.append('set build_triplet {0}'.format(d.getVar("BUILD_SYS")))
+# use BUILD here since HOST=TARGET
+content.append('set host_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+content.append('set host_triplet {0}'.format(d.getVar("BUILD_SYS")))
+content.append('set target_alias "{0}"'.format(d.getVar("TARGET_SYS")))
+content.append('set target_triplet 
{0}'.format(suffix_sys(d.getVar("TARGET_SYS"
+content.append("set development true")
+content.append("set experimental false")
+
+content.append(d.expand('set CXXFILT "${TARGET_PREFIX}c++filt"'))
+content.append(d.expand('set CC "${TARGET_PREFIX}gcc 
--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+content.append(d.expand('set CXX "${TARGET_PREFIX}g++ 
--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+content.append(d.expand('set CFLAGS_FOR_TARGET 
"--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+
+if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64":
+# oe patches binutils to have the default mips64 abi as 64bit, but
+# skips gas causing issues with the ld test suite (which uses gas)
+content.append('set ASFLAGS "-64"')
+
+return "\n".join(content)
+
+for i in ["binutils", "gas", "ld"]:
+builddir = os.path.join(d.getVar("B"), i)
+if not os.path.isdir(builddir):
+os.makedirs(builddir)
+with open(os.path.join(builddir, "site.exp"), "w") as f:
+f.write(generate_site_exp(d, i))
+}
+
+CHECK_TARGETS ??= "binutils gas ld"
+
+do_check[dirs] = "${B} ${B}/binutils ${B}/gas ${B}/ld"
+do_check[prefuncs] += "check_prepare"
+do_check[nostamp] = "1"
+do_check() {
+export LC_ALL=C
+for i in ${CHECK_TARGETS}; do
+(cd ${B}/$i; runtest \
+--tool $i \
+--srcdir ${S}/$i/testsuite \
+--ignore 'plugin.exp' \
+|| true)
+done
+}
+addtask check after 

[OE-core] [PATCH] package.bbclass: allow shell-style wildcards in PRIVATE_LIBS

2019-09-03 Thread Alexander Kanavin
PRIVATE_LIBS is used to exclude 'private' libraries from getting added to
automatic runtime dependency resolution. This variable currently has to list
all libraries by name, which becomes a maintenance issue if the list
of such libraries frequently changes, or is very large.

This change allows using shell-style wildcards in the variable, similar
to how FILES lists what gets packaged.

Signed-off-by: Alexander Kanavin 
---
 meta/classes/package.bbclass | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 114d6559f5e..aa8451ffe8b 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1646,7 +1646,8 @@ python package_do_shlibs() {
 prov = (this_soname, ldir, pkgver)
 if not prov in sonames:
 # if library is private (only used by package) then do not 
build shlib for it
-if not private_libs or this_soname not in private_libs:
+import fnmatch
+if not private_libs or len([i for i in private_libs if 
fnmatch.fnmatch(this_soname, i)]) == 0:
 sonames.add(prov)
 if libdir_re.match(os.path.dirname(file)):
 needs_ldconfig = True
@@ -1829,7 +1830,8 @@ python package_do_shlibs() {
 # /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on 
system library libfoo.so.1
 # but skipping it is still better alternative than providing own
 # version and then adding runtime dependency for the same system 
library
-if private_libs and n[0] in private_libs:
+import fnmatch
+if private_libs and len([i for i in private_libs if 
fnmatch.fnmatch(n[0], i)]) > 0:
 bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % 
(pkg, n[0]))
 continue
 if n[0] in shlib_provider.keys():
-- 
2.17.1

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


Re: [OE-core] [PATCH] package.bbclass: add PRIVATE_LIBS_ALL

2019-09-03 Thread Alexander Kanavin
On Tue, 3 Sep 2019 at 17:29, Alexander Kanavin 
wrote:

> PRIVATE_LIBS is used to exclude 'private' libraries from getting added to
> automatic runtime dependency resolution. That variable has to list
> all libraries by name which becomes a maintenance issue if the list
> of such libraries frequently changes, or is very large.
>
> PRIVATE_LIBS_ALL allows declaring all libraries private, either
> for a specific target package (e.g. -ptest), or for all packages
> produced by a recipe.
>

Please discard this, we can use fnmatch.fnmatch(*filename*, *pattern*) to
simply allow wildcards in PRIVATE_LIBS. I will make another patch.

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


Re: [OE-core] Summary of M3 status

2019-09-03 Thread akuster808



On 9/3/19 8:36 AM, Bruce Ashfield wrote:
> On Tue, Sep 3, 2019 at 11:15 AM Bruce Ashfield  
> wrote:
>> On Tue, Sep 3, 2019 at 11:09 AM akuster808  wrote:
>>>
>>>
>>> On 9/3/19 1:10 AM, Richard Purdie wrote:
 I'm going to summarise the current state as it will help people see the
 set of issues we have. We have three issues blocking the current patch
 queue and kernel uprev, spread over four machines and five autobuilder
 targets:

 qemumips64:

   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987

   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)

   Central error: [1.689184] kprobes: failed to populate blacklist: -22
   [happens 5.2 kernel only]

 qemumips:

   qemu machine locks up:

   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982

   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in
master. Not sure of the original cause)

 qemuarm64:

   Central error: [1.816386] kprobes: failed to populate blacklist: -22

   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)

   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
   [happens 5.2 kernel only]

 qemuarm:

   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989

   See compile failure for stap.StapTest.test_stap below.
   [happens 5.2 kernel only]
>>> there are about 3  5.2 kernel patches sitting on systemtap master.
>>>
>>> I will give it a shot
>> Sounds good.  If possible, can you send them to the linux-yocto
>> mailing list as kernel patches (if they work) .. versus doing a
>> linux-yocto_5.2 SRC_URI update with patches, since it is harder for me
>> to integrate them to the tree itself if they are sent that way.
> .. that is of course if they are kernel patches. I haven't had enough
> coffee yet today.
me neither. I should have said systemtap has 3 patches on master to
address issues with the 5.2 kernel.

-armin
>
> Bruce
>
>> Bruce
>>
>>> - armin
 The qemumips issue is of particular concern.

 Also needed to sort out M3 are:

  * toolchain tests nrossi is working on
  * resolution to the hashserv scaling problem
  * bug fixing for the hash equiv code

 Cheers,

 Richard

 stap.StapTest.test_stap failure:


 WARNING: Kernel function symbol table missing [man warning::symbols]
 In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
  from /usr/share/systemtap/runtime/runtime.h:26,
  from /tmp/stapgYOLtD/stap_19208_src.c:26:
 /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
 '__access_process_vm_':
 /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: 
 implicit declaration of function 'get_task_mm'; did you mean 
 'get_task_comm'? [-Werror=implicit-function-declaration]
28 |   mm = get_task_mm (tsk);
   |^~~
   |get_task_comm
 /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
 assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
 without a cast [-Werror=int-conversion]
28 |   mm = get_task_mm (tsk);
   |  ^
 /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: 
 passing argument 6 of 'get_user_pages_remote' makes pointer from integer 
 without a cast [-Werror=int-conversion]
51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
 , );
   | ^
   | |
   | int
 In file included from ./include/linux/kallsyms.h:12,
  from ./include/linux/ftrace.h:11,
  from ./include/linux/kprobes.h:29,
  from /usr/share/systemtap/runtime/linux/runtime.h:21,
  from /usr/share/systemtap/runtime/runtime.h:26,
  from /tmp/stapgYOLtD/stap_19208_src.c:26:
 ./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument 
 is of type 'int'
  1592 |unsigned int gup_flags, struct page **pages,
   |~~^
 In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
  from /usr/share/systemtap/runtime/runtime.h:26,
  from /tmp/stapgYOLtD/stap_19208_src.c:26:
 /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: 
 passing argument 7 

Re: [OE-core] OEDEM 2019

2019-09-03 Thread Ruslan Bilovol
Hi Philip,

I can see now this event in the list of ELCE co-located events.
Is day 2 track track 2 (Yocto Project and OE maintainers meeting)
restricted to attend to mainatainers only, or regular OE developers
can also join?

Thanks,
Ruslan

On Tue, Jul 30, 2019 at 8:33 PM Philip Balister  wrote:
>
> We are working with the Yocto Project on a two day Summit event. This
> should implement part of the ideas from the the last couple of developer
> meetings.
>
> Philip
>
> On 07/30/2019 12:58 PM, Ruslan Bilovol wrote:
> > Hi all,
> >
> > Is there any plan to hold an OpenEmbedded developer meting
> > in Lyon, France around this year's ELCE 2019 (October 28-30)?
> >
> > I see that OEDEM 2019 page isn't created yet and I didn't find
> > any news in mailing lists yet:
> > https://www.openembedded.org/wiki/OEDEM_2019
> >
> > Thanks,
> > Ruslan
> >
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] Summary of M3 status

2019-09-03 Thread Bruce Ashfield
On Tue, Sep 3, 2019 at 11:15 AM Bruce Ashfield  wrote:
>
> On Tue, Sep 3, 2019 at 11:09 AM akuster808  wrote:
> >
> >
> >
> > On 9/3/19 1:10 AM, Richard Purdie wrote:
> > > I'm going to summarise the current state as it will help people see the
> > > set of issues we have. We have three issues blocking the current patch
> > > queue and kernel uprev, spread over four machines and five autobuilder
> > > targets:
> > >
> > > qemumips64:
> > >
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987
> > >
> > >   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)
> > >
> > >   Central error: [1.689184] kprobes: failed to populate blacklist: -22
> > >   [happens 5.2 kernel only]
> > >
> > > qemumips:
> > >
> > >   qemu machine locks up:
> > >
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982
> > >
> > >   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in
> > >master. Not sure of the original cause)
> > >
> > > qemuarm64:
> > >
> > >   Central error: [1.816386] kprobes: failed to populate blacklist: -22
> > >
> > >   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)
> > >
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
> > >   [happens 5.2 kernel only]
> > >
> > > qemuarm:
> > >
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
> > >   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989
> > >
> > >   See compile failure for stap.StapTest.test_stap below.
> > >   [happens 5.2 kernel only]
> >
> > there are about 3  5.2 kernel patches sitting on systemtap master.
> >
> > I will give it a shot
>
> Sounds good.  If possible, can you send them to the linux-yocto
> mailing list as kernel patches (if they work) .. versus doing a
> linux-yocto_5.2 SRC_URI update with patches, since it is harder for me
> to integrate them to the tree itself if they are sent that way.

.. that is of course if they are kernel patches. I haven't had enough
coffee yet today.

Bruce

>
> Bruce
>
> > - armin
> > >
> > > The qemumips issue is of particular concern.
> > >
> > > Also needed to sort out M3 are:
> > >
> > >  * toolchain tests nrossi is working on
> > >  * resolution to the hashserv scaling problem
> > >  * bug fixing for the hash equiv code
> > >
> > > Cheers,
> > >
> > > Richard
> > >
> > > stap.StapTest.test_stap failure:
> > >
> > >
> > > WARNING: Kernel function symbol table missing [man warning::symbols]
> > > In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
> > >  from /usr/share/systemtap/runtime/runtime.h:26,
> > >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > > /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
> > > '__access_process_vm_':
> > > /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: 
> > > implicit declaration of function 'get_task_mm'; did you mean 
> > > 'get_task_comm'? [-Werror=implicit-function-declaration]
> > >28 |   mm = get_task_mm (tsk);
> > >   |^~~
> > >   |get_task_comm
> > > /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
> > > assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
> > > without a cast [-Werror=int-conversion]
> > >28 |   mm = get_task_mm (tsk);
> > >   |  ^
> > > /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: 
> > > passing argument 6 of 'get_user_pages_remote' makes pointer from integer 
> > > without a cast [-Werror=int-conversion]
> > >51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
> > > , );
> > >   | ^
> > >   | |
> > >   | int
> > > In file included from ./include/linux/kallsyms.h:12,
> > >  from ./include/linux/ftrace.h:11,
> > >  from ./include/linux/kprobes.h:29,
> > >  from /usr/share/systemtap/runtime/linux/runtime.h:21,
> > >  from /usr/share/systemtap/runtime/runtime.h:26,
> > >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > > ./include/linux/mm.h:1592:46: note: expected 'struct page **' but 
> > > argument is of type 'int'
> > >  1592 |unsigned int gup_flags, struct page **pages,
> > >   |~~^
> > > In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
> > >  from /usr/share/systemtap/runtime/runtime.h:26,
> > >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > > /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: 
> > > passing argument 7 of 'get_user_pages_remote' from incompatible pointer 
> > > 

[OE-core] [PATCH] package.bbclass: add PRIVATE_LIBS_ALL

2019-09-03 Thread Alexander Kanavin
PRIVATE_LIBS is used to exclude 'private' libraries from getting added to
automatic runtime dependency resolution. That variable has to list
all libraries by name which becomes a maintenance issue if the list
of such libraries frequently changes, or is very large.

PRIVATE_LIBS_ALL allows declaring all libraries private, either
for a specific target package (e.g. -ptest), or for all packages
produced by a recipe.

Signed-off-by: Alexander Kanavin 
---
 meta/classes/package.bbclass | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 114d6559f5e..f6ccd908b4a 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1646,7 +1646,7 @@ python package_do_shlibs() {
 prov = (this_soname, ldir, pkgver)
 if not prov in sonames:
 # if library is private (only used by package) then do not 
build shlib for it
-if not private_libs or this_soname not in private_libs:
+if (not private_libs or this_soname not in private_libs) 
and not private_libs_all:
 sonames.add(prov)
 if libdir_re.match(os.path.dirname(file)):
 needs_ldconfig = True
@@ -1739,6 +1739,7 @@ python package_do_shlibs() {
 for pkg in shlib_pkgs:
 private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or 
d.getVar('PRIVATE_LIBS') or ""
 private_libs = private_libs.split()
+private_libs_all = d.getVar('PRIVATE_LIBS_ALL_' + pkg) or 
d.getVar('PRIVATE_LIBS_ALL')
 needs_ldconfig = False
 bb.debug(2, "calculating shlib provides for %s" % pkg)
 
@@ -1821,6 +1822,7 @@ python package_do_shlibs() {
 
 private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or 
d.getVar('PRIVATE_LIBS') or ""
 private_libs = private_libs.split()
+private_libs_all = d.getVar('PRIVATE_LIBS_ALL_' + pkg) or 
d.getVar('PRIVATE_LIBS_ALL')
 
 deps = list()
 for n in needed[pkg]:
@@ -1829,8 +1831,8 @@ python package_do_shlibs() {
 # /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on 
system library libfoo.so.1
 # but skipping it is still better alternative than providing own
 # version and then adding runtime dependency for the same system 
library
-if private_libs and n[0] in private_libs:
-bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % 
(pkg, n[0]))
+if (private_libs and n[0] in private_libs) or private_libs_all:
+bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS or 
PRIVATE_LIBS_ALL' % (pkg, n[0]))
 continue
 if n[0] in shlib_provider.keys():
 shlib_provider_path = []
@@ -2113,7 +2115,7 @@ python package_depchains() {
 
 # Since bitbake can't determine which variables are accessed during package
 # iteration, we need to list them here:
-PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS 
RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm 
pkg_postinst_ontarget INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME 
ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES 
SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM 
SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS"
+PACKAGEVARS = "FILES RDEPENDS RRECOMMENDS SUMMARY DESCRIPTION RSUGGESTS 
RPROVIDES RCONFLICTS PKG ALLOW_EMPTY pkg_postinst pkg_postrm 
pkg_postinst_ontarget INITSCRIPT_NAME INITSCRIPT_PARAMS DEBIAN_NOAUTONAME 
ALTERNATIVE PKGE PKGV PKGR USERADD_PARAM GROUPADD_PARAM CONFFILES 
SYSTEMD_SERVICE LICENSE SECTION pkg_preinst pkg_prerm RREPLACES GROUPMEMS_PARAM 
SYSTEMD_AUTO_ENABLE SKIP_FILEDEPS PRIVATE_LIBS PRIVATE_LIBS_ALL"
 
 def gen_packagevar(d):
 ret = []
-- 
2.17.1

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


Re: [OE-core] boost 1.69 -> 1.71 upgrade for 3.0?

2019-09-03 Thread Ross Burton

On 22/08/2019 20:19, Randy MacLeod wrote:

I'm checking if you have done any work on upgrading the
boost recipe? Trevor will work on it if you haven't started.
He's relatively new to YP so depending on how easy the
update is he might bail or need help or take a while.


I know I'm late to this thread, but as a warning to anyone else: Boost 
is *not a simple recipe*.  Boost has a custom build system that is - to 
put it politely - quite challenging to use.  I recommend browsing the 
recipe and observing at what point the original author of the recipe 
started to go mad.


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


Re: [OE-core] Summary of M3 status

2019-09-03 Thread Bruce Ashfield
On Tue, Sep 3, 2019 at 11:09 AM akuster808  wrote:
>
>
>
> On 9/3/19 1:10 AM, Richard Purdie wrote:
> > I'm going to summarise the current state as it will help people see the
> > set of issues we have. We have three issues blocking the current patch
> > queue and kernel uprev, spread over four machines and five autobuilder
> > targets:
> >
> > qemumips64:
> >
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987
> >
> >   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)
> >
> >   Central error: [1.689184] kprobes: failed to populate blacklist: -22
> >   [happens 5.2 kernel only]
> >
> > qemumips:
> >
> >   qemu machine locks up:
> >
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982
> >
> >   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in
> >master. Not sure of the original cause)
> >
> > qemuarm64:
> >
> >   Central error: [1.816386] kprobes: failed to populate blacklist: -22
> >
> >   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)
> >
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
> >   [happens 5.2 kernel only]
> >
> > qemuarm:
> >
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
> >   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989
> >
> >   See compile failure for stap.StapTest.test_stap below.
> >   [happens 5.2 kernel only]
>
> there are about 3  5.2 kernel patches sitting on systemtap master.
>
> I will give it a shot

Sounds good.  If possible, can you send them to the linux-yocto
mailing list as kernel patches (if they work) .. versus doing a
linux-yocto_5.2 SRC_URI update with patches, since it is harder for me
to integrate them to the tree itself if they are sent that way.

Bruce

> - armin
> >
> > The qemumips issue is of particular concern.
> >
> > Also needed to sort out M3 are:
> >
> >  * toolchain tests nrossi is working on
> >  * resolution to the hashserv scaling problem
> >  * bug fixing for the hash equiv code
> >
> > Cheers,
> >
> > Richard
> >
> > stap.StapTest.test_stap failure:
> >
> >
> > WARNING: Kernel function symbol table missing [man warning::symbols]
> > In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
> >  from /usr/share/systemtap/runtime/runtime.h:26,
> >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
> > '__access_process_vm_':
> > /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: 
> > implicit declaration of function 'get_task_mm'; did you mean 
> > 'get_task_comm'? [-Werror=implicit-function-declaration]
> >28 |   mm = get_task_mm (tsk);
> >   |^~~
> >   |get_task_comm
> > /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
> > assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
> > without a cast [-Werror=int-conversion]
> >28 |   mm = get_task_mm (tsk);
> >   |  ^
> > /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: 
> > passing argument 6 of 'get_user_pages_remote' makes pointer from integer 
> > without a cast [-Werror=int-conversion]
> >51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
> > , );
> >   | ^
> >   | |
> >   | int
> > In file included from ./include/linux/kallsyms.h:12,
> >  from ./include/linux/ftrace.h:11,
> >  from ./include/linux/kprobes.h:29,
> >  from /usr/share/systemtap/runtime/linux/runtime.h:21,
> >  from /usr/share/systemtap/runtime/runtime.h:26,
> >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > ./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument 
> > is of type 'int'
> >  1592 |unsigned int gup_flags, struct page **pages,
> >   |~~^
> > In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
> >  from /usr/share/systemtap/runtime/runtime.h:26,
> >  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> > /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: 
> > passing argument 7 of 'get_user_pages_remote' from incompatible pointer 
> > type [-Werror=incompatible-pointer-types]
> >51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, 
> > , );
> >   |^
> >   ||
> >   |
> > struct page **
> 

Re: [OE-core] Summary of M3 status

2019-09-03 Thread akuster808


On 9/3/19 1:10 AM, Richard Purdie wrote:
> I'm going to summarise the current state as it will help people see the
> set of issues we have. We have three issues blocking the current patch
> queue and kernel uprev, spread over four machines and five autobuilder
> targets:
>
> qemumips64:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987
>
>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)
>
>   Central error: [1.689184] kprobes: failed to populate blacklist: -22
>   [happens 5.2 kernel only]
>
> qemumips:
>
>   qemu machine locks up:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982
>
>   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in 
>master. Not sure of the original cause)
>
> qemuarm64:
>
>   Central error: [1.816386] kprobes: failed to populate blacklist: -22
>
>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
>   [happens 5.2 kernel only]
>
> qemuarm:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989
>
>   See compile failure for stap.StapTest.test_stap below.
>   [happens 5.2 kernel only]

there are about 3  5.2 kernel patches sitting on systemtap master.

I will give it a shot
- armin
>
> The qemumips issue is of particular concern.
>
> Also needed to sort out M3 are:
>
>  * toolchain tests nrossi is working on
>  * resolution to the hashserv scaling problem
>  * bug fixing for the hash equiv code
>
> Cheers,
>
> Richard
>
> stap.StapTest.test_stap failure:
>
>
> WARNING: Kernel function symbol table missing [man warning::symbols]
> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
> '__access_process_vm_':
> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: implicit 
> declaration of function 'get_task_mm'; did you mean 'get_task_comm'? 
> [-Werror=implicit-function-declaration]
>28 |   mm = get_task_mm (tsk);
>   |^~~
>   |get_task_comm
> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
> assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
> without a cast [-Werror=int-conversion]
>28 |   mm = get_task_mm (tsk);
>   |  ^
> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: passing 
> argument 6 of 'get_user_pages_remote' makes pointer from integer without a 
> cast [-Werror=int-conversion]
>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
> );
>   | ^
>   | |
>   | int
> In file included from ./include/linux/kallsyms.h:12,
>  from ./include/linux/ftrace.h:11,
>  from ./include/linux/kprobes.h:29,
>  from /usr/share/systemtap/runtime/linux/runtime.h:21,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> ./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument is 
> of type 'int'
>  1592 |unsigned int gup_flags, struct page **pages,
>   |~~^
> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: passing 
> argument 7 of 'get_user_pages_remote' from incompatible pointer type 
> [-Werror=incompatible-pointer-types]
>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
> );
>   |^
>   ||
>   |struct 
> page **
> In file included from ./include/linux/kallsyms.h:12,
>  from ./include/linux/ftrace.h:11,
>  from ./include/linux/kprobes.h:29,
>  from /usr/share/systemtap/runtime/linux/runtime.h:21,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> ./include/linux/mm.h:1593:32: note: expected 'struct vm_area_struct **' but 
> argument is of type 'struct page **'
>  1593 |struct vm_area_struct **vmas, int *locked);
> 

Re: [OE-core] [PATCH] meta: add missing descriptions and homepage in bsp

2019-09-03 Thread Ross Burton

On 30/08/2019 02:08, Maxime Roussin-Bélanger wrote:

+DESCRIPTION = "In recent linux kernels, the /proc/acpi/event interface has \
+been deprecated. The same information (and more) is available via netlink \
+(a way for the kernel to communicate with userspace that is usually used \
+for networking) and the input layer (mouse, keyboard, power button, etc...). \
+This version of acpid supports netlink and the input layer."


This is not a meaningful description of acpid.


+DESCRIPTION = "The grub.cfg file contains Bash-like code and a list of 
installed \
+kernels in an array ordered by sequence of installation. For example, if you \
+have four installed kernels, the most recent kernel will be at index 0, the \
+previous kernel will be at index 1, and the oldest kernel will be index 3."


This reads more as documentation than description.

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


[OE-core] [PATCHv2 5/6] oe-git-proxy: NO_PROXY suffix matching without wildcard for match_host

2019-09-03 Thread Henning Schild
From: Henning Schild 

NO_PROXY can also contain just suffixes that do not start with a "*". We
failed to match those so far. Just add an extra "*" to also match those
suffixes. If one was there we get "**" which does not hurt.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 9eeef45dcf..2cb995f43c 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -107,7 +107,7 @@ match_host() {
HOST=$1
GLOB=$2
 
-   if [ -z "${HOST%%$GLOB}" ]; then
+   if [ -z "${HOST%%*$GLOB}" ]; then
return 0
fi
 
-- 
2.21.0

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


[OE-core] [PATCHv2 0/6] solve several issues in oe-git-proxy

2019-09-03 Thread Henning Schild
From: Henning Schild 

Change to v1:
 - fix comment in p4
 - move "set -f" all the way up in p4, that was the intention in the
   first place

Henning Schild (6):
  oe-git-proxy: allow setting SOCAT from outside
  oeqa: add case for oe-git-proxy
  Revert "oe-git-proxy: Avoid resolving NO_PROXY against local files"
  oe-git-proxy: disable shell pathname expansion for the whole script
  oe-git-proxy: NO_PROXY suffix matching without wildcard for match_host
  oe-git-proxy: fix dash "Bad substitution"

 meta/lib/oeqa/selftest/cases/oescripts.py | 58 +++
 scripts/oe-git-proxy  | 21 
 2 files changed, 71 insertions(+), 8 deletions(-)

-- 
2.21.0

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


[OE-core] [PATCHv2 4/6] oe-git-proxy: disable shell pathname expansion for the whole script

2019-09-03 Thread Henning Schild
From: Henning Schild 

This truly fixes the issue that cbc148d5d93d5f3531434fee7b234a16196b3088
wanted to solve, without breaking the iteration over multiple entries.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 10e6560da4..9eeef45dcf 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -19,6 +19,9 @@
 # AUTHORS
 # Darren Hart 
 
+# disable pathname expansion, NO_PROXY fields could start with "*" or be it
+set -f
+
 if [ $# -lt 2 -o "$1" = '--help' -o "$1" = '-h' ] ; then
 echo 'oe-git-proxy: error: the following arguments are required: host port'
 echo 'Usage: oe-git-proxy host port'
-- 
2.21.0

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


[OE-core] [PATCHv2 6/6] oe-git-proxy: fix dash "Bad substitution"

2019-09-03 Thread Henning Schild
From: Henning Schild 

The script claims it works with dash, make sure that is actually the
case.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 2cb995f43c..aa9b9dc9a9 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -64,7 +64,7 @@ ipv4_val() {
IP="$1"
SHIFT=24
VAL=0
-   for B in ${IP//./ }; do
+   for B in $( echo "$IP" | tr '.' ' ' ); do
VAL=$(($VAL+$(($B<<$SHIFT
SHIFT=$(($SHIFT-8))
done
@@ -137,7 +137,7 @@ if [ -z "$ALL_PROXY" ]; then
 fi
 
 # Connect directly to hosts in NO_PROXY
-for H in ${NO_PROXY//,/ }; do
+for H in $( echo "$NO_PROXY" | tr ',' ' ' ); do
if match_host $1 $H; then
exec $SOCAT STDIO $METHOD
fi
-- 
2.21.0

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


[OE-core] [PATCHv2 1/6] oe-git-proxy: allow setting SOCAT from outside

2019-09-03 Thread Henning Schild
From: Henning Schild 

This allows to write selftests where we can mock the real socat.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index bb2ed2a46e..8499a99a71 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -41,10 +41,12 @@ if [ $# -lt 2 -o "$1" = '--help' -o "$1" = '-h' ] ; then
 fi
 
 # Locate the netcat binary
-SOCAT=$(which socat 2>/dev/null)
-if [ $? -ne 0 ]; then
-   echo "ERROR: socat binary not in PATH" 1>&2
-   exit 1
+if [ -z "$SOCAT" ]; then
+   SOCAT=$(which socat 2>/dev/null)
+   if [ $? -ne 0 ]; then
+   echo "ERROR: socat binary not in PATH" 1>&2
+   exit 1
+   fi
 fi
 METHOD=""
 
-- 
2.21.0

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


[OE-core] [PATCHv2 2/6] oeqa: add case for oe-git-proxy

2019-09-03 Thread Henning Schild
From: Henning Schild 

The escaping, splitting and matching of NO_PROXY in oe-git-proxy
deserves its own testcase, add it.

Signed-off-by: Henning Schild 
---
 meta/lib/oeqa/selftest/cases/oescripts.py | 58 +++
 1 file changed, 58 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py 
b/meta/lib/oeqa/selftest/cases/oescripts.py
index 7770b66a26..c169885cf3 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -3,10 +3,12 @@
 #
 
 import os
+import shutil
 import unittest
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.selftest.cases.buildhistory import BuildhistoryBase
 from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, 
get_test_layer
+from oeqa.utils import CommandError
 
 class BuildhistoryDiffTests(BuildhistoryBase):
 
@@ -63,3 +65,59 @@ class OEPybootchartguyTests(OEScriptTests):
 runCmd('%s/pybootchartgui/pybootchartgui.py  %s -o %s/charts -f pdf' % 
(self.scripts_dir, self.buildstats, self.tmpdir))
 self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
 
+class OEGitproxyTests(OESelftestTestCase):
+
+scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
+
+def test_oegitproxy_help(self):
+try:
+res = runCmd('%s/oe-git-proxy  --help' % self.scripts_dir, 
assert_error=False)
+self.assertTrue(False)
+except CommandError as e:
+self.assertEqual(2, e.retcode)
+
+def run_oegitproxy(self, custom_shell=None):
+os.environ['SOCAT'] = shutil.which("echo")
+os.environ['ALL_PROXY'] = "https://proxy.example.com:3128;
+os.environ['NO_PROXY'] = 
"*.example.com,.no-proxy.org,192.168.42.0/24,127.*.*.*"
+
+if custom_shell is None:
+prefix = ''
+else:
+prefix = custom_shell + ' '
+
+# outside, use the proxy
+res = runCmd('%s%s/oe-git-proxy host.outside-example.com 9418' %
+ (prefix,self.scripts_dir))
+self.assertIn('PROXY:', res.output)
+# match with wildcard suffix
+res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match just suffix
+res = runCmd('%s%s/oe-git-proxy host.no-proxy.org 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match IP subnet
+res = runCmd('%s%s/oe-git-proxy 192.168.42.42 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match IP wildcard
+res = runCmd('%s%s/oe-git-proxy 127.1.2.3 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+
+# test that * globbering is off
+os.environ['NO_PROXY'] = "*"
+res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+
+def test_oegitproxy_proxy(self):
+self.run_oegitproxy()
+
+def test_oegitproxy_proxy_dash(self):
+dash = shutil.which("dash")
+if dash is None:
+self.skipTest("No \"dash\" found on test system.")
+self.run_oegitproxy(custom_shell=dash)
-- 
2.21.0

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


[OE-core] [PATCHv2 3/6] Revert "oe-git-proxy: Avoid resolving NO_PROXY against local files"

2019-09-03 Thread Henning Schild
From: Henning Schild 

This reverts commit cbc148d5d93d5f3531434fee7b234a16196b3088.

The quoting causes H to be one string with spaces, so looping over
multiple entries does not work anymore.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 8499a99a71..10e6560da4 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -134,8 +134,8 @@ if [ -z "$ALL_PROXY" ]; then
 fi
 
 # Connect directly to hosts in NO_PROXY
-for H in "${NO_PROXY//,/ }"; do
-   if match_host $1 "$H"; then
+for H in ${NO_PROXY//,/ }; do
+   if match_host $1 $H; then
exec $SOCAT STDIO $METHOD
fi
 done
-- 
2.21.0

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


Re: [OE-core] Summary of M3 status

2019-09-03 Thread Bruce Ashfield
On Tue, Sep 3, 2019 at 4:10 AM Richard Purdie
 wrote:
>
> I'm going to summarise the current state as it will help people see the
> set of issues we have. We have three issues blocking the current patch
> queue and kernel uprev, spread over four machines and five autobuilder
> targets:
>
> qemumips64:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987
>
>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)
>
>   Central error: [1.689184] kprobes: failed to populate blacklist: -22
>   [happens 5.2 kernel only]

I'll have a look at the kprobes log. Could just be something we need
to whitelist, but I'll root cause it.

>
> qemumips:
>
>   qemu machine locks up:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982
>
>   (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in
>master. Not sure of the original cause)
>
> qemuarm64:
>
>   Central error: [1.816386] kprobes: failed to populate blacklist: -22
>
>   RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
>   [happens 5.2 kernel only]
>
> qemuarm:
>
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
>   https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989
>
>   See compile failure for stap.StapTest.test_stap below.
>   [happens 5.2 kernel only]

And I can look at this one as well.

If anyone gets to them first, let me know!

Bruce

>
> The qemumips issue is of particular concern.
>
> Also needed to sort out M3 are:
>
>  * toolchain tests nrossi is working on
>  * resolution to the hashserv scaling problem
>  * bug fixing for the hash equiv code
>
> Cheers,
>
> Richard
>
> stap.StapTest.test_stap failure:
>
>
> WARNING: Kernel function symbol table missing [man warning::symbols]
> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> /usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
> '__access_process_vm_':
> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: implicit 
> declaration of function 'get_task_mm'; did you mean 'get_task_comm'? 
> [-Werror=implicit-function-declaration]
>28 |   mm = get_task_mm (tsk);
>   |^~~
>   |get_task_comm
> /usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: 
> assignment to 'struct mm_struct *' from 'int' makes pointer from integer 
> without a cast [-Werror=int-conversion]
>28 |   mm = get_task_mm (tsk);
>   |  ^
> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: passing 
> argument 6 of 'get_user_pages_remote' makes pointer from integer without a 
> cast [-Werror=int-conversion]
>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
> );
>   | ^
>   | |
>   | int
> In file included from ./include/linux/kallsyms.h:12,
>  from ./include/linux/ftrace.h:11,
>  from ./include/linux/kprobes.h:29,
>  from /usr/share/systemtap/runtime/linux/runtime.h:21,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> ./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument is 
> of type 'int'
>  1592 |unsigned int gup_flags, struct page **pages,
>   |~~^
> In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> /usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: passing 
> argument 7 of 'get_user_pages_remote' from incompatible pointer type 
> [-Werror=incompatible-pointer-types]
>51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
> );
>   |^
>   ||
>   |struct 
> page **
> In file included from ./include/linux/kallsyms.h:12,
>  from ./include/linux/ftrace.h:11,
>  from ./include/linux/kprobes.h:29,
>  from /usr/share/systemtap/runtime/linux/runtime.h:21,
>  from /usr/share/systemtap/runtime/runtime.h:26,
>  from /tmp/stapgYOLtD/stap_19208_src.c:26:
> ./include/linux/mm.h:1593:32: note: expected 'struct vm_area_struct 

Re: [OE-core] [PATCH 4/6] oe-git-proxy: disable shell pathname expansion for the whole script

2019-09-03 Thread Jan Kiszka

On 03.09.19 14:22, Henning Schild wrote:

From: Henning Schild 

This truly fixes the issue that cbc148d5d93d5f3531434fee7b234a16196b3088
wanted to solve, without breaking the iteration over multiple entries.

Signed-off-by: Henning Schild 
---
  scripts/oe-git-proxy | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 10e6560da4..2f65f0c482 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -133,6 +133,9 @@ if [ -z "$ALL_PROXY" ]; then
exec $SOCAT STDIO $METHOD
  fi
  
+# disable pathname expansion, NO_PROXY fielnd could start with "*" or be it


field


+set -f


Ah, that's much better than any (mis-)quoting.

Jan


+
  # Connect directly to hosts in NO_PROXY
  for H in ${NO_PROXY//,/ }; do
if match_host $1 $H; then



--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/6] oe-git-proxy: allow setting SOCAT from outside

2019-09-03 Thread Henning Schild
This series fixes several issues in oe-git-proxy, mostly related to
matching NO_PROXY entries.

Patch 2 introduces a test that will actually fail until all other
patches are applied. If that is a problem and every commit should be
testable, Patch2 needs to be moved to then end.

Let me know what you think

Henning

Am Tue, 3 Sep 2019 14:22:19 +0200
schrieb Henning Schild :

> From: Henning Schild 
> 
> This allows to write selftests where we can mock the real socat.
> 
> Signed-off-by: Henning Schild 
> ---
>  scripts/oe-git-proxy | 10 ++
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
> index bb2ed2a46e..8499a99a71 100755
> --- a/scripts/oe-git-proxy
> +++ b/scripts/oe-git-proxy
> @@ -41,10 +41,12 @@ if [ $# -lt 2 -o "$1" = '--help' -o "$1" =
> '-h' ] ; then fi
>  
>  # Locate the netcat binary
> -SOCAT=$(which socat 2>/dev/null)
> -if [ $? -ne 0 ]; then
> - echo "ERROR: socat binary not in PATH" 1>&2
> - exit 1
> +if [ -z "$SOCAT" ]; then
> + SOCAT=$(which socat 2>/dev/null)
> + if [ $? -ne 0 ]; then
> + echo "ERROR: socat binary not in PATH" 1>&2
> + exit 1
> + fi
>  fi
>  METHOD=""
>  

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


[OE-core] [PATCH 2/6] oeqa: add case for oe-git-proxy

2019-09-03 Thread Henning Schild
From: Henning Schild 

The escaping, splitting and matching of NO_PROXY in oe-git-proxy
deserves its own testcase, add it.

Signed-off-by: Henning Schild 
---
 meta/lib/oeqa/selftest/cases/oescripts.py | 58 +++
 1 file changed, 58 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py 
b/meta/lib/oeqa/selftest/cases/oescripts.py
index 7770b66a26..c169885cf3 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -3,10 +3,12 @@
 #
 
 import os
+import shutil
 import unittest
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.selftest.cases.buildhistory import BuildhistoryBase
 from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, 
get_test_layer
+from oeqa.utils import CommandError
 
 class BuildhistoryDiffTests(BuildhistoryBase):
 
@@ -63,3 +65,59 @@ class OEPybootchartguyTests(OEScriptTests):
 runCmd('%s/pybootchartgui/pybootchartgui.py  %s -o %s/charts -f pdf' % 
(self.scripts_dir, self.buildstats, self.tmpdir))
 self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
 
+class OEGitproxyTests(OESelftestTestCase):
+
+scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
+
+def test_oegitproxy_help(self):
+try:
+res = runCmd('%s/oe-git-proxy  --help' % self.scripts_dir, 
assert_error=False)
+self.assertTrue(False)
+except CommandError as e:
+self.assertEqual(2, e.retcode)
+
+def run_oegitproxy(self, custom_shell=None):
+os.environ['SOCAT'] = shutil.which("echo")
+os.environ['ALL_PROXY'] = "https://proxy.example.com:3128;
+os.environ['NO_PROXY'] = 
"*.example.com,.no-proxy.org,192.168.42.0/24,127.*.*.*"
+
+if custom_shell is None:
+prefix = ''
+else:
+prefix = custom_shell + ' '
+
+# outside, use the proxy
+res = runCmd('%s%s/oe-git-proxy host.outside-example.com 9418' %
+ (prefix,self.scripts_dir))
+self.assertIn('PROXY:', res.output)
+# match with wildcard suffix
+res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match just suffix
+res = runCmd('%s%s/oe-git-proxy host.no-proxy.org 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match IP subnet
+res = runCmd('%s%s/oe-git-proxy 192.168.42.42 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+# match IP wildcard
+res = runCmd('%s%s/oe-git-proxy 127.1.2.3 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+
+# test that * globbering is off
+os.environ['NO_PROXY'] = "*"
+res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+self.assertIn('TCP:', res.output)
+
+def test_oegitproxy_proxy(self):
+self.run_oegitproxy()
+
+def test_oegitproxy_proxy_dash(self):
+dash = shutil.which("dash")
+if dash is None:
+self.skipTest("No \"dash\" found on test system.")
+self.run_oegitproxy(custom_shell=dash)
-- 
2.21.0

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


[OE-core] [PATCH 3/6] Revert "oe-git-proxy: Avoid resolving NO_PROXY against local files"

2019-09-03 Thread Henning Schild
From: Henning Schild 

This reverts commit cbc148d5d93d5f3531434fee7b234a16196b3088.

The quoting causes H to be one string with spaces, so looping over
multiple entries does not work anymore.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 8499a99a71..10e6560da4 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -134,8 +134,8 @@ if [ -z "$ALL_PROXY" ]; then
 fi
 
 # Connect directly to hosts in NO_PROXY
-for H in "${NO_PROXY//,/ }"; do
-   if match_host $1 "$H"; then
+for H in ${NO_PROXY//,/ }; do
+   if match_host $1 $H; then
exec $SOCAT STDIO $METHOD
fi
 done
-- 
2.21.0

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


[OE-core] [PATCH 4/6] oe-git-proxy: disable shell pathname expansion for the whole script

2019-09-03 Thread Henning Schild
From: Henning Schild 

This truly fixes the issue that cbc148d5d93d5f3531434fee7b234a16196b3088
wanted to solve, without breaking the iteration over multiple entries.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 10e6560da4..2f65f0c482 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -133,6 +133,9 @@ if [ -z "$ALL_PROXY" ]; then
exec $SOCAT STDIO $METHOD
 fi
 
+# disable pathname expansion, NO_PROXY fielnd could start with "*" or be it
+set -f
+
 # Connect directly to hosts in NO_PROXY
 for H in ${NO_PROXY//,/ }; do
if match_host $1 $H; then
-- 
2.21.0

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


[OE-core] [PATCH 5/6] oe-git-proxy: NO_PROXY suffix matching without wildcard for match_host

2019-09-03 Thread Henning Schild
From: Henning Schild 

NO_PROXY can also contain just suffixes that do not start with a "*". We
failed to match those so far. Just add an extra "*" to also match those
suffixes. If one was there we get "**" which does not hurt.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 2f65f0c482..8f7b26c15e 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -104,7 +104,7 @@ match_host() {
HOST=$1
GLOB=$2
 
-   if [ -z "${HOST%%$GLOB}" ]; then
+   if [ -z "${HOST%%*$GLOB}" ]; then
return 0
fi
 
-- 
2.21.0

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


[OE-core] [PATCH 6/6] oe-git-proxy: fix dash "Bad substitution"

2019-09-03 Thread Henning Schild
From: Henning Schild 

The script claims it works with dash, make sure that is actually the
case.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 8f7b26c15e..2792020467 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -61,7 +61,7 @@ ipv4_val() {
IP="$1"
SHIFT=24
VAL=0
-   for B in ${IP//./ }; do
+   for B in $( echo "$IP" | tr '.' ' ' ); do
VAL=$(($VAL+$(($B<<$SHIFT
SHIFT=$(($SHIFT-8))
done
@@ -136,8 +136,9 @@ fi
 # disable pathname expansion, NO_PROXY fielnd could start with "*" or be it
 set -f
 
+
 # Connect directly to hosts in NO_PROXY
-for H in ${NO_PROXY//,/ }; do
+for H in $( echo "$NO_PROXY" | tr ',' ' ' ); do
if match_host $1 $H; then
exec $SOCAT STDIO $METHOD
fi
-- 
2.21.0

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


[OE-core] [PATCH 1/6] oe-git-proxy: allow setting SOCAT from outside

2019-09-03 Thread Henning Schild
From: Henning Schild 

This allows to write selftests where we can mock the real socat.

Signed-off-by: Henning Schild 
---
 scripts/oe-git-proxy | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index bb2ed2a46e..8499a99a71 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -41,10 +41,12 @@ if [ $# -lt 2 -o "$1" = '--help' -o "$1" = '-h' ] ; then
 fi
 
 # Locate the netcat binary
-SOCAT=$(which socat 2>/dev/null)
-if [ $? -ne 0 ]; then
-   echo "ERROR: socat binary not in PATH" 1>&2
-   exit 1
+if [ -z "$SOCAT" ]; then
+   SOCAT=$(which socat 2>/dev/null)
+   if [ $? -ne 0 ]; then
+   echo "ERROR: socat binary not in PATH" 1>&2
+   exit 1
+   fi
 fi
 METHOD=""
 
-- 
2.21.0

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


[OE-core] ✗ patchtest: failure for libnl: don't patch libnl-3.0.pc

2019-09-03 Thread Patchwork
== Series Details ==

Series: libnl: don't patch libnl-3.0.pc
Revision: 1
URL   : https://patchwork.openembedded.org/series/19665/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue Series does not apply on top of target branch 
[test_series_merge_on_head] 
  Suggested fixRebase your series on top of targeted branch
  Targeted branch  master (currently at aa36510ebe)



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines: 
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe

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


[OE-core] [PATCH] libnl: don't patch libnl-3.0.pc

2019-09-03 Thread Ross Burton
This patch originally came from oe-classic in 2010 with the comment "fix pc file
so that it actually links to the support libraries".  If an application wants to
link to the support libraries then it should be using the relevant .pc files to
do so.

oe-core builds successfully with this patch removed and other distributions
don't carry it, so drop the patch.

Signed-off-by: Ross Burton 
---
 .../libnl/libnl/fix-pc-file.patch   | 17 -
 meta/recipes-support/libnl/libnl_3.5.0.bb   |  9 +++--
 2 files changed, 3 insertions(+), 23 deletions(-)
 delete mode 100644 meta/recipes-support/libnl/libnl/fix-pc-file.patch

diff --git a/meta/recipes-support/libnl/libnl/fix-pc-file.patch 
b/meta/recipes-support/libnl/libnl/fix-pc-file.patch
deleted file mode 100644
index fe8b833a1ce..000
--- a/meta/recipes-support/libnl/libnl/fix-pc-file.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Some packages are asking only for libnl-2.0, but expects to get also
-libnl-genl, libnl-nf libnl-route, easiest way to fix them is here.
-
-Signed-off-by: Martin Jansa 
-Index: libnl-3.2.14/libnl-3.0.pc.in
-===
 libnl-3.2.14.orig/libnl-3.0.pc.in
-+++ libnl-3.2.14/libnl-3.0.pc.in
-@@ -6,5 +6,5 @@ includedir=@includedir@
- Name: libnl
- Description: Convenience library for netlink sockets
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lnl-@MAJ_VERSION@
-+Libs: -L${libdir} -lnl-@MAJ_VERSION@ -lnl-genl-@MAJ_VERSION@ 
-lnl-nf-@MAJ_VERSION@ -lnl-route-@MAJ_VERSION@
- Cflags: -I${includedir}/libnl@MAJ_VERSION@
diff --git a/meta/recipes-support/libnl/libnl_3.5.0.bb 
b/meta/recipes-support/libnl/libnl_3.5.0.bb
index e6a225af525..c0609c4d900 100644
--- a/meta/recipes-support/libnl/libnl_3.5.0.bb
+++ b/meta/recipes-support/libnl/libnl_3.5.0.bb
@@ -9,15 +9,12 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
 DEPENDS = "flex-native bison-native"
 
-SRC_URI = 
"https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz
 \
-   file://fix-pc-file.patch \
-"
-
-UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases;
-
+SRC_URI = 
"https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz"
 SRC_URI[md5sum] = "74ba57b1b1d6f9f92268aa8141d8e8e4"
 SRC_URI[sha256sum] = 
"352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa"
 
+UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases;
+
 inherit autotools pkgconfig
 
 FILES_${PN} = "${libdir}/libnl-3.so.* \
-- 
2.20.1

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


[OE-core] [PATCH] libnl: upgrade to 3.5.0

2019-09-03 Thread Ross Burton
Drop the musl workaround, as upstream has solved this correctly now.

Signed-off-by: Ross Burton 
---
 ...fix-libnl-3.4.0-musl-compile-problem.patch | 38 ---
 .../libnl/{libnl_3.4.0.bb => libnl_3.5.0.bb}  |  5 +--
 2 files changed, 2 insertions(+), 41 deletions(-)
 delete mode 100644 
meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
 rename meta/recipes-support/libnl/{libnl_3.4.0.bb => libnl_3.5.0.bb} (87%)

diff --git 
a/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
 
b/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
deleted file mode 100644
index b20a2996234..000
--- 
a/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Subject: [PATCH] fix libnl-3.4.0 musl compile problem  
-Avoid in6_addr redefinition
-
-Upstream-Status: Pending
-
-Signed-off-by: Huang Qiyu 

- include/linux-private/linux/if_bridge.h | 1 -
- include/linux-private/linux/ipv6.h  | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/include/linux-private/linux/if_bridge.h 
b/include/linux-private/linux/if_bridge.h
-index f24050b..8f7490c 100644
 a/include/linux-private/linux/if_bridge.h
-+++ b/include/linux-private/linux/if_bridge.h
-@@ -15,7 +15,6 @@
- 
- #include 
- #include 
--#include 
- 
- #define SYSFS_BRIDGE_ATTR "bridge"
- #define SYSFS_BRIDGE_FDB  "brforward"
-diff --git a/include/linux-private/linux/ipv6.h 
b/include/linux-private/linux/ipv6.h
-index e05e684..f16349d 100644
 a/include/linux-private/linux/ipv6.h
-+++ b/include/linux-private/linux/ipv6.h
-@@ -2,7 +2,6 @@
- #define _IPV6_H
- 
- #include 
--#include 
- 
- /* The latest drafts declared increase in minimal mtu up to 1280. */
- 
--- 
-2.7.4
-
diff --git a/meta/recipes-support/libnl/libnl_3.4.0.bb 
b/meta/recipes-support/libnl/libnl_3.5.0.bb
similarity index 87%
rename from meta/recipes-support/libnl/libnl_3.4.0.bb
rename to meta/recipes-support/libnl/libnl_3.5.0.bb
index 90dc644be4a..e6a225af525 100644
--- a/meta/recipes-support/libnl/libnl_3.4.0.bb
+++ b/meta/recipes-support/libnl/libnl_3.5.0.bb
@@ -11,13 +11,12 @@ DEPENDS = "flex-native bison-native"
 
 SRC_URI = 
"https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz
 \
file://fix-pc-file.patch \
-   file://0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch \
 "
 
 UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases;
 
-SRC_URI[md5sum] = "8f71910c03db363b41e2ea62057a4311"
-SRC_URI[sha256sum] = 
"b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf"
+SRC_URI[md5sum] = "74ba57b1b1d6f9f92268aa8141d8e8e4"
+SRC_URI[sha256sum] = 
"352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa"
 
 inherit autotools pkgconfig
 
-- 
2.20.1

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


Re: [OE-core] FETCHCMD drop breaks build when append is used (from patch b259bd31eb)

2019-09-03 Thread Ross Burton

On 31/08/2019 21:45, Andre McCurdy wrote:

It looks like the User-Agent workaround for libedit might not be
needed any more anyway...

   wget http://thrysoee.dk/editline/libedit-20190324-3.1.tar.gz

works fine for me ( User-Agent: Wget/1.17.1 (linux-gnu) )


Verified here, patch sent.

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


[OE-core] [PATCH] libedit: remove FETCHCMD append

2019-09-03 Thread Ross Burton
This dates from when upstream was for some reason refusing the wget user agent,
but this isn't the case anymore:

$ wget http://www.thrysoee.dk/editline/libedit-20190324-3.1.tar.gz
...
HTTP request sent, awaiting response... 200 OK
Length: 521999 (510K) [application/x-gzip]
Saving to: ‘libedit-20190324-3.1.tar.gz’
2019-09-03 11:53:20 (1.22 MB/s) - ‘libedit-20190324-3.1.tar.gz’ saved 
[521999/521999]

Signed-off-by: Ross Burton 
---
 meta/recipes-devtools/libedit/libedit_20190324-3.1.bb | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb 
b/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb
index 85855411868..25667ccce7c 100644
--- a/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb
+++ b/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb
@@ -10,8 +10,6 @@ DEPENDS = "ncurses"
 
 inherit autotools
 
-# upstream site does not allow wget's User-Agent
-FETCHCMD_wget += "-U bitbake"
 SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
file://stdc-predef.patch \
file://0001-readline.c-fix-cannot-get-history.patch \
-- 
2.20.1

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


Re: [OE-core] [PATCH] libnl: update musl patch header to reflect upstream status

2019-09-03 Thread Ross Burton

Retracting this, upgrade incoming.

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


[OE-core] [PATCH] libnl: update musl patch header to reflect upstream status

2019-09-03 Thread Ross Burton
Signed-off-by: Ross Burton 
---
 .../0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch| 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
 
b/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
index b20a2996234..a14b9b125e5 100644
--- 
a/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
+++ 
b/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
@@ -1,8 +1,9 @@
+Band-aid fix, superceded upstream by https://github.com/thom311/libnl/pull/222.
+
 Subject: [PATCH] fix libnl-3.4.0 musl compile problem  
 Avoid in6_addr redefinition
 
-Upstream-Status: Pending
-
+Upstream-Status: Inappropriate [https://github.com/thom311/libnl/pull/222]
 Signed-off-by: Huang Qiyu 
 ---
  include/linux-private/linux/if_bridge.h | 1 -
-- 
2.20.1

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


Re: [OE-core] [warrior][PATCH] kernel-uboot: compress arm64 kernels

2019-09-03 Thread Bedel, Alban
On Wed, 2019-07-31 at 13:53 +, Bedel, Alban wrote:
> AArch64 images are not self-decompressing, thus usually much larger.
> Boot times can be reduced by compressing them in FIT and uImages.
> 
> This commit is a backport of commit a725d188b5 (kernel-uboot:
> compress
> arm64 kernels) and commit 60bc7e180e (kernel-uboot: remove useless
> special casing of arm64 Image) from master. Both commit were melted
> into one to avoid some useless churn.

Was this patch overlooked, or is there a reason it is not considered in
the next round of update for warrior? Without this patch kernel images
are too large to fit in the flash of the system I'm using. Furthermore
it is not trivial to fix this in my own layer.

Alban

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


Re: [OE-core] [PATCH] nfs-utils: fix nfsidmap compile error with gcc9 when enable PACKAGECONFIG[nfsv4]

2019-09-03 Thread Ross Burton

On 30/08/2019 10:33, Yi Zhao wrote:

Fixes:
nfsidmap.c:404:4: error: format not a string literal, argument types not 
checked [-Werror=format-nonliteral]
   404 |xlog_warn(usage, progname);
   |^


These options are not enabled by default, presumably this is a Wind 
River tweak?



+Upstream-Status: Pending


Upstream isn't dead so please try to push these upstream.


-FILES_${PN} += "${systemd_unitdir}"
+FILES_${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/"


This isn't related to the commit message.

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


Re: [OE-core] [OE-Core][warrior][PATCH] rng-tools: start rngd early in the boot process again

2019-09-03 Thread Bedel, Alban
On Fri, 2019-08-23 at 13:41 -0300, Fabio Berton wrote:

> Without this change, images with systemd hang on shutdown/reboot.

I already submitted a patch[1] to fix this which is currently under
review. It is the very same patch with a slightly different log
message as the changes from commit edf7606822 (rng-tools: fix rngd
blocks system shutdown) was not applied on warrior.

Alban

[1]: https://patchwork.openembedded.org/patch/163540/

> On Fri, Aug 23, 2019 at 1:39 PM Fabio Berton
>  wrote:
> > From: "Bedel, Alban" 
> > 
> > It do make sense to start rngd early in the boot process because
> > otherwise we would need to track every service that might need
> > entropy
> > and explicitly configure it to start after rngd.
> > 
> > When used with systemd rngd blocked the shutdown process because it
> > simply missed the proper unit configuration. As the systemd
> > documentation explains, when using DefaultDependencies=no one also
> > have to explicitly configure the unit to properly stop at some
> > point.
> > This is normaly achieved by having Before=shutdown.target and
> > Conflicts=shutdown.target set for the unit.
> > 
> > To have rngd started early again we reverte the changes done to
> > rngd.service in commit edf7606822 (rng-tools: fix rngd blocks
> > system
> > shutdown). To have it properly stopped on shutdown we also add
> > Before=shutdown.target and Conflicts=shutdown.target.
> > 
> > Signed-off-by: Alban Bedel 
> > Signed-off-by: Richard Purdie 
> > (cherry picked from commit
> > a74e7df33e2c8ab2152e3217c0a5df3f65971713)
> > ---
> >  meta/recipes-support/rng-tools/rng-tools/rngd.service | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-support/rng-tools/rng-tools/rngd.service
> > b/meta/recipes-support/rng-tools/rng-tools/rngd.service
> > index f0355db14fc..5c8253b5fba 100644
> > --- a/meta/recipes-support/rng-tools/rng-tools/rngd.service
> > +++ b/meta/recipes-support/rng-tools/rng-tools/rngd.service
> > @@ -2,7 +2,8 @@
> >  Description=Hardware RNG Entropy Gatherer Daemon
> >  DefaultDependencies=no
> >  After=systemd-udev-settle.service
> > -Before=sysinit.target
> > +Before=sysinit.target shutdown.target
> > +Conflicts=shutdown.target
> > 
> >  [Service]
> >  ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng
> > --
> > 2.20.1
> > 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches

2019-09-03 Thread zhe.he
From: He Zhe 

Backport a patch to fix the following failure.
rt_sigtimedwait011  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
(.../sigwaitinfo01.c: 148): Unexpected failure:
TEST_ERRNO=EINVAL(22): Invalid argument

Signed-off-by: He Zhe 
---
v2: Rebase

 ...sigtimedwait01-Fix-wrong-sigset-length-fo.patch | 46 ++
 meta/recipes-extended/ltp/ltp_20190517.bb  |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 
meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch

diff --git 
a/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
 
b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
new file mode 100644
index 000..0e56c08
--- /dev/null
+++ 
b/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
@@ -0,0 +1,46 @@
+From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
+From: He Zhe 
+Date: Thu, 29 Aug 2019 21:09:46 +0800
+Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for MIPS
+
+rt_sigtimedwait01 fails as follow on MIPS arches
+rt_sigtimedwait011  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
+(.../sigwaitinfo01.c: 148): Unexpected failure:
+TEST_ERRNO=EINVAL(22): Invalid argument
+
+As this case purposely bypasses glibc, it should align with the size of kernel
+definition of sigset_t which is different from other arches.
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
+
+This patch turns to use _NSIG which is always right for all arches.
+
+Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
+
+Suggested-by: Jan Stancek 
+Acked-by: Jan Stancek 
+Acked-by: Cyril Hrubis 
+Signed-off-by: He Zhe 
+Signed-off-by: Petr Vorel 
+---
+ testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c 
b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
+index 5a32ce1..6a30c27 100644
+--- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
 b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
+@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set, siginfo_t 
* info,
+ static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
+ struct timespec *timeout)
+ {
+-
+-  /* The last argument is (number_of_signals)/(bits_per_byte), which are 
64 and 8, resp. */
+-  return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
++  /* _NSIG is always the right number of bits of signal map for all 
arches */
++  return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, _NSIG/8);
+ }
+ #endif
+ 
+-- 
+2.7.4
+
diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb 
b/meta/recipes-extended/ltp/ltp_20190517.bb
index 69d75d5..e9a588f 100644
--- a/meta/recipes-extended/ltp/ltp_20190517.bb
+++ b/meta/recipes-extended/ltp/ltp_20190517.bb
@@ -47,6 +47,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \

file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
+   
file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
"
 
 S = "${WORKDIR}/git"
-- 
2.7.4

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


Re: [OE-core] [oe-core] [PATCH] ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches

2019-09-03 Thread He Zhe



On 9/3/19 5:16 PM, Ross Burton wrote:
> On 03/09/2019 08:55, He Zhe wrote:
>> Kindly ping.
>
> This doesn't apply to current master, can you please rebase?

Oops, v2 is sent.

Thanks,
Zhe

>
> Ross
>

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


Re: [OE-core] [oe-core] [PATCH] ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches

2019-09-03 Thread Ross Burton

On 03/09/2019 08:55, He Zhe wrote:

Kindly ping.


This doesn't apply to current master, can you please rebase?

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


[OE-core] [PATCH] iputils: fix a usrmerge build issue

2019-09-03 Thread liu . ming50
From: Ming Liu 

Fix a following build issue when usrmerge is enabled:
| WARNING: iputils-s20190709-r0 do_package: iputils: alternative target 
(/usr/bin/ping or /usr/bin/ping.iputils) does not exist, skipping...
| WARNING: iputils-s20190709-r0 do_package: iputils: NOT adding alternative 
provide /usr/bin/ping: /usr/bin/ping.iputils does not exist
| ERROR: iputils-s20190709-r0 do_package: QA Issue: iputils: Files/directories 
were installed but not shipped in any package:
|  /bin/tracepath
|  /bin/ping
|  /bin/arping
|  /bin/traceroute6
|  /bin/tftpd
|  /bin/clockdiff
|  /sbin/rdisc
|  /sbin/rarpd
|  /sbin/ninfod

Signed-off-by: Ming Liu 
---
 meta/recipes-extended/iputils/iputils_s20190709.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-extended/iputils/iputils_s20190709.bb 
b/meta/recipes-extended/iputils/iputils_s20190709.bb
index 34a6c68..ea7e6e3 100644
--- a/meta/recipes-extended/iputils/iputils_s20190709.bb
+++ b/meta/recipes-extended/iputils/iputils_s20190709.bb
@@ -28,7 +28,7 @@ PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true 
-DBUILD_MANS=true,-DBUILD_HTML_MAN
 
 inherit meson update-alternatives
 
-EXTRA_OEMESON += "--prefix=/"
+EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '', 
'--prefix=/', d)}"
 
 ALTERNATIVE_PRIORITY = "100"
 
-- 
2.7.4

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


[OE-core] Summary of M3 status

2019-09-03 Thread Richard Purdie
I'm going to summarise the current state as it will help people see the
set of issues we have. We have three issues blocking the current patch
queue and kernel uprev, spread over four machines and five autobuilder
targets:

qemumips64:

  https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/987

  RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.97s)

  Central error: [1.689184] kprobes: failed to populate blacklist: -22
  [happens 5.2 kernel only]

qemumips:

  qemu machine locks up:

  https://autobuilder.yoctoproject.org/typhoon/#/builders/60/builds/982

  (happens with 5.0 and 5.2 kernels and qemu 4.0 and 4.1 and is in 
   master. Not sure of the original cause)

qemuarm64:

  Central error: [1.816386] kprobes: failed to populate blacklist: -22

  RESULTS - parselogs.ParseLogsTest.test_parselogs: FAILED (1.11s)

  https://autobuilder.yoctoproject.org/typhoon/#/builders/97/builds/329
  https://autobuilder.yoctoproject.org/typhoon/#/builders/42/builds/985
  [happens 5.2 kernel only]

qemuarm:

  https://autobuilder.yoctoproject.org/typhoon/#/builders/38/builds/990
  https://autobuilder.yoctoproject.org/typhoon/#/builders/53/builds/989

  See compile failure for stap.StapTest.test_stap below.
  [happens 5.2 kernel only]

The qemumips issue is of particular concern.

Also needed to sort out M3 are:

 * toolchain tests nrossi is working on
 * resolution to the hashserv scaling problem
 * bug fixing for the hash equiv code

Cheers,

Richard

stap.StapTest.test_stap failure:


WARNING: Kernel function symbol table missing [man warning::symbols]
In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
 from /usr/share/systemtap/runtime/runtime.h:26,
 from /tmp/stapgYOLtD/stap_19208_src.c:26:
/usr/share/systemtap/runtime/linux/access_process_vm.h: In function 
'__access_process_vm_':
/usr/share/systemtap/runtime/linux/access_process_vm.h:28:8: error: implicit 
declaration of function 'get_task_mm'; did you mean 'get_task_comm'? 
[-Werror=implicit-function-declaration]
   28 |   mm = get_task_mm (tsk);
  |^~~
  |get_task_comm
/usr/share/systemtap/runtime/linux/access_process_vm.h:28:6: error: assignment 
to 'struct mm_struct *' from 'int' makes pointer from integer without a cast 
[-Werror=int-conversion]
   28 |   mm = get_task_mm (tsk);
  |  ^
/usr/share/systemtap/runtime/linux/access_process_vm.h:51:61: error: passing 
argument 6 of 'get_user_pages_remote' makes pointer from integer without a cast 
[-Werror=int-conversion]
   51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
);
  | ^
  | |
  | int
In file included from ./include/linux/kallsyms.h:12,
 from ./include/linux/ftrace.h:11,
 from ./include/linux/kprobes.h:29,
 from /usr/share/systemtap/runtime/linux/runtime.h:21,
 from /usr/share/systemtap/runtime/runtime.h:26,
 from /tmp/stapgYOLtD/stap_19208_src.c:26:
./include/linux/mm.h:1592:46: note: expected 'struct page **' but argument is 
of type 'int'
 1592 |unsigned int gup_flags, struct page **pages,
  |~~^
In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
 from /usr/share/systemtap/runtime/runtime.h:26,
 from /tmp/stapgYOLtD/stap_19208_src.c:26:
/usr/share/systemtap/runtime/linux/access_process_vm.h:51:64: error: passing 
argument 7 of 'get_user_pages_remote' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
   51 |   ret = get_user_pages_remote (tsk, mm, addr, 1, write, 1, , 
);
  |^
  ||
  |struct 
page **
In file included from ./include/linux/kallsyms.h:12,
 from ./include/linux/ftrace.h:11,
 from ./include/linux/kprobes.h:29,
 from /usr/share/systemtap/runtime/linux/runtime.h:21,
 from /usr/share/systemtap/runtime/runtime.h:26,
 from /tmp/stapgYOLtD/stap_19208_src.c:26:
./include/linux/mm.h:1593:32: note: expected 'struct vm_area_struct **' but 
argument is of type 'struct page **'
 1593 |struct vm_area_struct **vmas, int *locked);
  |^~~~
In file included from /usr/share/systemtap/runtime/linux/runtime.h:214,
 from /usr/share/systemtap/runtime/runtime.h:26,
 from /tmp/stapgYOLtD/stap_19208_src.c:26:
/usr/share/systemtap/runtime/linux/access_process_vm.h:51:71: error: passing 
argument 8 of 

Re: [OE-core] [oe-core] [PATCH] ltp: syscalls: rt_sigwaitinfo01: Fix failure for MIPS arches

2019-09-03 Thread He Zhe
Kindly ping.

Zhe

On 8/23/19 3:26 PM, zhe...@windriver.com wrote:
> From: He Zhe 
>
> Add a patch to fix the following failure.
> rt_sigtimedwait011  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
> (.../sigwaitinfo01.c: 148): Unexpected failure:
> TEST_ERRNO=EINVAL(22): Invalid argument
>
> Signed-off-by: He Zhe 
> ---
>  ..._sigwaitinfo01-Fix-failure-for-MIPS-arche.patch | 49 
> ++
>  meta/recipes-extended/ltp/ltp_20190517.bb  |  1 +
>  2 files changed, 50 insertions(+)
>  create mode 100644 
> meta/recipes-extended/ltp/ltp/0001-syscalls-rt_sigwaitinfo01-Fix-failure-for-MIPS-arche.patch
>
> diff --git 
> a/meta/recipes-extended/ltp/ltp/0001-syscalls-rt_sigwaitinfo01-Fix-failure-for-MIPS-arche.patch
>  
> b/meta/recipes-extended/ltp/ltp/0001-syscalls-rt_sigwaitinfo01-Fix-failure-for-MIPS-arche.patch
> new file mode 100644
> index 000..9a0df74
> --- /dev/null
> +++ 
> b/meta/recipes-extended/ltp/ltp/0001-syscalls-rt_sigwaitinfo01-Fix-failure-for-MIPS-arche.patch
> @@ -0,0 +1,49 @@
> +From b4193bc3fdeb278abc54944b4773ffa45ee432af Mon Sep 17 00:00:00 2001
> +From: He Zhe 
> +Date: Fri, 23 Aug 2019 14:34:43 +0800
> +Subject: [LTP] [PATCH] syscalls: rt_sigwaitinfo01: Fix failure for MIPS 
> arches
> +
> +rt_sigtimedwait01 fails as follow on MIPS arches
> +rt_sigtimedwait011  TFAIL  :  .../sigwaitinfo01.c:58: test_empty_set
> +(.../sigwaitinfo01.c: 148): Unexpected failure:
> +TEST_ERRNO=EINVAL(22): Invalid argument
> +
> +As this case purposely bypasses glibc, it should align with the size of 
> kernel
> +definition of sigset_t which is different from other arches.
> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
> +
> +This patch adds specific case for MIPS.
> +
> +Upstream-Status: Submitted 
> [http://lists.linux.it/pipermail/ltp/2019-August/013313.html]
> +Signed-off-by: He Zhe 
> +---
> + testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 13 ++---
> + 1 file changed, 10 insertions(+), 3 deletions(-)
> +
> +diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c 
> b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> +index 5a32ce1..5c2fa99 100644
> +--- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
>  b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
> +@@ -128,9 +128,16 @@ static int my_sigtimedwait(const sigset_t * set, 
> siginfo_t * info,
> + static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
> +   struct timespec *timeout)
> + {
> +-
> +-/* The last argument is (number_of_signals)/(bits_per_byte), which are 
> 64 and 8, resp. */
> +-return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
> ++/* The last argument is (number_of_signals)/(bits_per_byte), which are 
> 64 and 8, resp,
> ++ * except for MIPS which are 128 and 8, resp.
> ++ */
> ++return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout,
> ++#ifdef __mips__
> ++16
> ++#else
> ++8
> ++#endif
> ++);
> + }
> + #endif
> + 
> +-- 
> +2.7.4
> +
> diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb 
> b/meta/recipes-extended/ltp/ltp_20190517.bb
> index b0e2f96..14c1219 100644
> --- a/meta/recipes-extended/ltp/ltp_20190517.bb
> +++ b/meta/recipes-extended/ltp/ltp_20190517.bb
> @@ -45,6 +45,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
> file://0002-check-for-RES_USE_INET6-during-configure.patch \
> 
> file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
> file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
> +   
> file://0001-syscalls-rt_sigwaitinfo01-Fix-failure-for-MIPS-arche.patch \
> "
>  
>  S = "${WORKDIR}/git"

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