Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread richard . purdie
On Thu, 2018-09-20 at 09:45 +0800, Hongxu Jia wrote:
> I will fix it as my top priority today.
> 
> Reproduce steps:
> 
> - Build core-image-sato-sdk on qemuarm64
> - Run qemu
> - Log over ssh (openssh) failed
> 

I did have a little bit of a look at this. It seems to hang during key
generation before starting the server during boot.

I had a suspicion that the problem could be a lack of entropy. We're
supposed to have the virtio entropy generation being passed through
from the host to avoid problems with entropy starvation but I'm not
sure its running for arm64.

I noticed the .config shows CONFIG_CRYPTO_DEV_VIRTIO=m but setting that
to =y didn't help. The virtio rng connects via pci bus iirc and
CONFIG_PCI isn't set so I'm now looking into that...

To update, adding this config to the kernel:

CONFIG_CRYPTO_DEV_VIRTIO=y
CONFIG_PCI=y
CONFIG_PCI_HOST_GENERIC=y

appears to solve the problem and lets my simple tests work. I'll have
to run some better tests but I think this is the problem, lack pci
support in the kernel meaning the rng virtio passthrough doesn't work.

Cheers,

Richard






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


Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread richard . purdie
On Thu, 2018-09-20 at 09:45 +0800, Hongxu Jia wrote:
> On 2018年09月20日 09:07, richard.pur...@linuxfoundation.org wrote:
> > On Wed, 2018-09-19 at 19:59 +0800, Hongxu Jia wrote:
> > Thanks for this. Unfortunately I think we still have some kind of a
> > problem on qemuarm64 since with this patch, we cannot log into
> > core-
> > image-sato-sdk over ssh. Other images like core-image-sato work but
> > they use dropbear which suggests this is an openssh or openssl
> > problem.
> 
> Hi RP,
> 
> I will fix it as my top priority today.
> 
> Reproduce steps:
> 
> - Build core-image-sato-sdk on qemuarm64
> - Run qemu
> - Log over ssh (openssh) failed

Thanks, yes, this is correct.

You can also reproduce with core-image-sato after setting:

IMAGE_FEATURES += "ssh-server-openssh"

The symptoms we're seeing is that "bitbake core-image-sato-sdk -c
testimage" fails and that seems to be because the ssh server never
starts or responds, its hard to say what is happening at this point...

Cheers,

Richard


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


[OE-core] [PATCH 1/2] linuxloader.bbclass: Refactor to have seprate functions for musl/glibc loader

2018-09-19 Thread Khem Raj
this makes it possible to use this for musl where we are trying to
create a glibc compat package

Add missing aarch64 loader definition for glibc function

Signed-off-by: Khem Raj 
---
 meta/classes/linuxloader.bbclass | 85 ++--
 1 file changed, 49 insertions(+), 36 deletions(-)

diff --git a/meta/classes/linuxloader.bbclass b/meta/classes/linuxloader.bbclass
index e1364a4e55..b4c413494a 100644
--- a/meta/classes/linuxloader.bbclass
+++ b/meta/classes/linuxloader.bbclass
@@ -1,48 +1,61 @@
-def get_linuxloader(d):
+def get_musl_loader(d):
+import re
+dynamic_loader = None
+
+targetarch = d.getVar("TARGET_ARCH")
+if targetarch.startswith("microblaze"):
+dynamic_loader = 
"${base_libdir}/ld-musl-microblaze${@bb.utils.contains('TUNE_FEATURES', 
'bigendian', '', 'el' ,d)}.so.1"
+elif targetarch.startswith("mips"):
+dynamic_loader = 
"${base_libdir}/ld-musl-mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['',
 '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1"
+elif targetarch == "powerpc":
+dynamic_loader = "${base_libdir}/ld-musl-powerpc${@['', 
'-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1"
+elif targetarch == "powerpc64":
+dynamic_loader = "${base_libdir}/ld-musl-powerpc64.so.1"
+elif targetarch == "x86_64":
+dynamic_loader = "${base_libdir}/ld-musl-x86_64.so.1"
+elif re.search("i.86", targetarch):
+dynamic_loader = "${base_libdir}/ld-musl-i386.so.1"
+elif targetarch.startswith("arm"):
+dynamic_loader = 
"${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1"
+elif targetarch.startswith("aarch64"):
+dynamic_loader = 
"${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
+return dynamic_loader
+
+def get_glibc_loader(d):
 import re
 
+dynamic_loader = None
 targetarch = d.getVar("TARGET_ARCH")
+if targetarch in ["powerpc", "microblaze"]:
+dynamic_loader = "${base_libdir}/ld.so.1"
+elif targetarch in ["mipsisa32r6el", "mipsisa32r6", "mipsisa64r6el", 
"mipsisa64r6"]:
+dynamic_loader = "${base_libdir}/ld-linux-mipsn8.so.1"
+elif targetarch.startswith("mips"):
+dynamic_loader = "${base_libdir}/ld.so.1"
+elif targetarch == "powerpc64":
+dynamic_loader = "${base_libdir}/ld64.so.1"
+elif targetarch == "x86_64":
+dynamic_loader = "${base_libdir}/ld-linux-x86-64.so.2"
+elif re.search("i.86", targetarch):
+dynamic_loader = "${base_libdir}/ld-linux.so.2"
+elif targetarch == "arm":
+dynamic_loader = "${base_libdir}/ld-linux.so.3"
+elif targetarch.startswith("aarch64"):
+dynamic_loader = 
"${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
+return dynamic_loader
+
+def get_linuxloader(d):
 overrides = d.getVar("OVERRIDES").split(":")
 
-# No loader for baremetal
 if "libc-baremetal" in overrides:
 return None
 
-dynamic_loader = None
 if "libc-musl" in overrides:
-if targetarch.startswith("microblaze"):
-dynamic_loader = 
"${base_libdir}/ld-musl-microblaze${@bb.utils.contains('TUNE_FEATURES', 
'bigendian', '', 'el' ,d)}.so.1"
-elif targetarch.startswith("mips"):
-dynamic_loader = 
"${base_libdir}/ld-musl-mips${ABIEXTENSION}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}${@['',
 '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1"
-elif targetarch == "powerpc":
-dynamic_loader = "${base_libdir}/ld-musl-powerpc${@['', 
'-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1"
-elif targetarch == "powerpc64":
-dynamic_loader = "${base_libdir}/ld-musl-powerpc64.so.1"
-elif targetarch == "x86_64":
-dynamic_loader = "${base_libdir}/ld-musl-x86_64.so.1"
-elif re.search("i.86", targetarch):
-dynamic_loader = "${base_libdir}/ld-musl-i386.so.1"
-elif targetarch.startswith("arm"):
-dynamic_loader = 
"${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1"
-elif targetarch.startswith("aarch64"):
-dynamic_loader = 
"${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
+dynamic_loader = get_musl_loader(d)
 else:
-# glibc
-if targetarch in ["powerpc", "microblaze"]:
-dynamic_loader = "${base_libdir}/ld.so.1"
-elif targetarch in ["mipsisa32r6el", "mipsisa32r6", "mipsisa64r6el", 
"mipsisa64r6"]:
-dynamic_loader = "${base_libdir}/ld-linux-mipsn8.so.1"
-elif targetarch.startswith("mips"):
-dynamic_loader = "${base_libdir}/ld.so.1"
-elif targetarch == "powerpc64":
-dynamic_loader = "${base_libdir}/ld64.so.1"
-elif targetarch == "x86_64":
-dynamic_loader = "${base_libdir}/ld-linux-x86-64.so.2"
-elif re.search("i.86", targetarch):
-dynamic_loader = "${base_libdir}/ld-linux.so.2"
-elif targetarch == 

[OE-core] [PATCH V3 2/2] musl: Add aliases for glibc provided libraries

2018-09-19 Thread Khem Raj
This is a step towards running pebuilt applications for glibc  on musl
There are many realworld applications which are not always built from
source, especially provided by third party

Package the glibc symlinks into new package musl-glibc-compat

Signed-off-by: Khem Raj 
---
V3: Inherit linuxloader for glibc ldso

 meta/recipes-core/musl/musl_git.bb | 16 
 1 file changed, 16 insertions(+)

diff --git a/meta/recipes-core/musl/musl_git.bb 
b/meta/recipes-core/musl/musl_git.bb
index be31718e3a..f0556533b5 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -2,6 +2,7 @@
 # Released under the MIT license (see COPYING.MIT for the terms)
 
 require musl.inc
+inherit linuxloader
 
 SRCREV = "0fa1e638e87cf257e9f96b4019b2076afd674a19"
 
@@ -26,6 +27,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
bsd-headers \
libssp-nonshared \
   "
+GLIBC_LDSO = "${@get_glibc_loader(d)}"
 
 export CROSS_COMPILE="${TARGET_PREFIX}"
 
@@ -62,12 +64,26 @@ do_install() {
install -d ${D}${bindir}
rm -f ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
+   lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet
do
ln -sf libc.so ${D}${libdir}/lib$l.so
done
+   for i in libc.so.6 libcrypt.so.1 libdl.so.2 libm.so.6 libpthread.so.0 
libresolv.so.2 librt.so.1 libutil.so.1; do
+   ln -sf libc.so ${D}${libdir}/$i
+   done
 }
 
+PACKAGES =+ "${PN}-glibc-compat"
+
+FILES_${PN}-glibc-compat += "\
+${libdir}/libc.so.6 ${libdir}/libcrypt.so.1 \
+${libdir}/libdl.so.2 ${libdir}/libm.so.6 \
+${libdir}/libpthread.so.0 ${libdir}/libresolv.so.2 \
+${libdir}/librt.so.1 ${libdir}/libutil.so.1 \
+${GLIBC_LDSO} \
+"
+
 RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev 
libssp-nonshared-staticdev"
 RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
-- 
2.19.0

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


[OE-core] [PATCH V2] dbus-test: fix ptest failed problem when multilib is enabled

2018-09-19 Thread changqing.li
From: Changqing Li 

Fix some failed info like:
| ./test/test-bus: relocation error: ./test/test-bus: symbol
| _dbus_threads_init_debug, version LIBDBUS_PRIVATE_1.10.10 not defined
| in file libdbus-1.so.3 with link time reference
| FAIL: test/test-bus

In run-ptest, LD_LIBRARY_PATH is set to /usr/lib, but when multilib
is enabled, /usr/lib64 will be used. fix by replace with correct path.

Signed-off-by: Changqing Li 
---
 meta/recipes-core/dbus/dbus-test_1.12.10.bb | 1 +
 meta/recipes-core/dbus/dbus/run-ptest   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/dbus/dbus-test_1.12.10.bb 
b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
index e3ee608..25b9395 100644
--- a/meta/recipes-core/dbus/dbus-test_1.12.10.bb
+++ b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
@@ -75,6 +75,7 @@ do_install_ptest() {
sed -i \
 -e 's:${B}:${PTEST_PATH}:g' \
 {} +
+sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g'  ${D}${PTEST_PATH}/run-ptest
 }
 
 RDEPENDS_${PN}-ptest += "bash"
diff --git a/meta/recipes-core/dbus/dbus/run-ptest 
b/meta/recipes-core/dbus/dbus/run-ptest
index 8a8970e..353ba1e 100755
--- a/meta/recipes-core/dbus/dbus/run-ptest
+++ b/meta/recipes-core/dbus/dbus/run-ptest
@@ -12,7 +12,7 @@ output() {
 
 export DBUS_TEST_HOMEDIR=./test
 export XDG_RUNTIME_DIR=./test
-export LD_LIBRARY_PATH=/usr/lib/dbus-test/ptest/test/.libs
+export LD_LIBRARY_PATH=@PTEST_PATH@/test/.libs
 
 files=`ls test/test-*`
 
-- 
2.7.4

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


Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread Hongxu Jia

On 2018年09月20日 09:07, richard.pur...@linuxfoundation.org wrote:

On Wed, 2018-09-19 at 19:59 +0800, Hongxu Jia wrote:

- Convert from tarball to git repository which support
   openssl 1.1.x

- There is no specific minor version that contains the
   openssl fix (it was merged to master a few days agao),
   rename recipe version to `7.8p1+git'

- Fix regression test binaries missing
   In commit `1f7aaf7 openssh: build regression test binaries', it
build
   regression test binaries, since upstream add two binaries in
commits
   `c59aca8 Create control sockets in clean temp directories' and
   `1acc058 Disable tests where fs perms are incorrect', we should
update
   do_compile_ptest.

Thanks for this. Unfortunately I think we still have some kind of a
problem on qemuarm64 since with this patch, we cannot log into core-
image-sato-sdk over ssh. Other images like core-image-sato work but
they use dropbear which suggests this is an openssh or openssl problem.

Hi RP,

I will fix it as my top priority today.

Reproduce steps:

- Build core-image-sato-sdk on qemuarm64
- Run qemu
- Log over ssh (openssh) failed

//Hongxu


We're going to have to start to narrow down where the issue is. This
unfortunately means 2.6M3 continues to be blocked :(.

Cheers,

Richard



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


Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread richard . purdie
On Wed, 2018-09-19 at 19:59 +0800, Hongxu Jia wrote:
> - Convert from tarball to git repository which support
>   openssl 1.1.x
> 
> - There is no specific minor version that contains the
>   openssl fix (it was merged to master a few days agao),
>   rename recipe version to `7.8p1+git'
> 
> - Fix regression test binaries missing
>   In commit `1f7aaf7 openssh: build regression test binaries', it
> build
>   regression test binaries, since upstream add two binaries in
> commits
>   `c59aca8 Create control sockets in clean temp directories' and
>   `1acc058 Disable tests where fs perms are incorrect', we should
> update
>   do_compile_ptest.

Thanks for this. Unfortunately I think we still have some kind of a
problem on qemuarm64 since with this patch, we cannot log into core-
image-sato-sdk over ssh. Other images like core-image-sato work but
they use dropbear which suggests this is an openssh or openssl problem.

We're going to have to start to narrow down where the issue is. This
unfortunately means 2.6M3 continues to be blocked :(.

Cheers,

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


Re: [OE-core] [PATCH] dbus-test: fix ptest failed problem when multilib is enabled

2018-09-19 Thread Changqing Li



On 09/19/2018 05:59 PM, Burton, Ross wrote:

Surely a better/safer replacement would be to change run-ptest to:

-export LD_LIBRARY_PATH=/usr/lib/dbus-test/ptest/test/.libs
+export LD_LIBRARY_PATH=@PTEST_PATH%/test/.libs

And then substitute that.  Replacing in baselib doesn't help if the
distro changes PTEST_PATH.

Ross


Thanks, I will change as recommend and resend this.

On Wed, 19 Sep 2018 at 09:30,  wrote:

From: Changqing Li 

Fix some failed info like:
| ./test/test-bus: relocation error: ./test/test-bus: symbol
| _dbus_threads_init_debug, version LIBDBUS_PRIVATE_1.10.10 not defined
| in file libdbus-1.so.3 with link time reference
| FAIL: test/test-bus

In run-ptest, LD_LIBRARY_PATH is set to /usr/lib, but when multilib
is enabled, /usr/lib64 will be used. fix by replace with correct path.

Signed-off-by: Changqing Li 
---
  meta/recipes-core/dbus/dbus-test_1.12.10.bb | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/meta/recipes-core/dbus/dbus-test_1.12.10.bb 
b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
index e3ee608..a438627 100644
--- a/meta/recipes-core/dbus/dbus-test_1.12.10.bb
+++ b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
@@ -75,6 +75,8 @@ do_install_ptest() {
 sed -i \
  -e 's:${B}:${PTEST_PATH}:g' \
  {} +
+#correct LD_LIBRARY_PATH for run-ptest according current baselib
+sed -i -e 's;/lib/;/${baselib}/;g'  ${D}${PTEST_PATH}/run-ptest
  }

  RDEPENDS_${PN}-ptest += "bash"
--
2.7.4

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


--
BRs

Sandy(Li Changqing)
Wind River Linux

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


Re: [OE-core] [PATCH] rpm: handle virtual memory usage when limit is set

2018-09-19 Thread Andre McCurdy
On Wed, Sep 19, 2018 at 2:05 PM, Peter Bergin  wrote:
> Fix the situation where the task do_package_write_rpm ends up in
> "liblzma: memory allocation failed". This happens if the host
> environment has set a limit on virtual_memory for the user with
> 'ulimit -v' for packages with a lot of binary packages, e.g. glibc-locale.
>
> Upstream-Status: Inappropriate [error introduced by oe-core patch on rpm]
>
> Signed-off-by: Peter Bergin 
> ---
>  ...estrict-virtual-memory-usage-if-limit-set.patch | 52 
> ++
>  meta/recipes-devtools/rpm/rpm_4.14.2.bb|  1 +
>  2 files changed, 53 insertions(+)
>  create mode 100644 
> meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
>
> diff --git 
> a/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
>  
> b/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
> new file mode 100644
> index 000..a4b9a58
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
> @@ -0,0 +1,52 @@
> +From cff87a68cde44d893b72caa1995ac6b9a1784523 Mon Sep 17 00:00:00 2001
> +From: Peter Bergin 
> +Date: Wed, 19 Sep 2018 15:12:31 +0200
> +Subject: [PATCH] rpm: restrict virtual memory usage if limit set
> +
> +A solution to avoid OOM situation when the virtual memory is restricted
> +for a user (ulimit -v). As the lzopen_internal funtion is run in parallel
> +one instance per CPU thread the available virtual memory is limited per
> +CPU thread.
> +---
> + rpmio/rpmio.c | 25 +
> + 1 file changed, 25 insertions(+)
> +
> +diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
> +index e051c98..49752b3 100644
> +--- a/rpmio/rpmio.c
>  b/rpmio/rpmio.c
> +@@ -845,6 +845,31 @@ static LZFILE *lzopen_internal(const char *mode, int 
> fd, int xz)
> +   }
> + #endif
> +
> ++  struct rlimit virtual_memory;
> ++  getrlimit(RLIMIT_AS, _memory);
> ++  if (virtual_memory.rlim_cur != RLIM_INFINITY) {
> ++  const uint64_t virtual_memlimit = 
> virtual_memory.rlim_cur;
> ++  const uint64_t virtual_memlimit_per_cpu_thread =

What's the point of const for these variables?

> ++  virtual_memlimit / lzma_cputhreads();
> ++  uint64_t memory_usage_virt;
> ++  rpmlog(RPMLOG_NOTICE, "XZ: virtual memory restricted 
> to %lu and "
> ++ "per CPU thread %lu\n", virtual_memlimit, 
> virtual_memlimit_per_cpu_thread);
> ++  /* keep reducing the number of compression threads 
> untill memory

Typo.

> ++ usage gets below limit per CPU thread*/
> ++  while ((memory_usage_virt = 
> lzma_stream_encoder_mt_memusage(_options)) >
> ++ virtual_memlimit_per_cpu_thread) {
> ++  /* number of threads shouldn't be able to hit 
> zero with compression
> ++   * settings aailable to set through rpm... */
> ++  assert(--mt_options.threads != 0);

Putting an expression with a side effect inside assert() looks
dubious. Did you test with and without NDEBUG defined?

> ++  }
> ++  if (threads != (int)mt_options.threads)
> ++  rpmlog(RPMLOG_NOTICE,
> ++ "XZ: Adjusted the number of threads 
> from %d to %d to not "
> ++ "exceed the memory usage limit of %lu 
> bytes\n",
> ++ threads, mt_options.threads, 
> virtual_memlimit);
> ++
> ++  }
> ++
> +   ret = lzma_stream_encoder_mt(>strm, _options);
> +   }
> + #endif
> +--
> +2.7.4
> +
> diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.bb 
> b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
> index 46f8837..112b41a 100644
> --- a/meta/recipes-devtools/rpm/rpm_4.14.2.bb
> +++ b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
> @@ -39,6 +39,7 @@ SRC_URI = 
> "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
> 
> file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
> 
> file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
> file://0001-perl-disable-auto-reqs.patch \
> +   file://0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch \
> "
>
>  PE = "1"
> --
> 2.7.4
>
> --
> ___
> 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

Re: [OE-core] [PATCH] rpm: handle virtual memory usage when limit is set

2018-09-19 Thread Alexander Kanavin
2018-09-19 23:05 GMT+02:00 Peter Bergin :
> Fix the situation where the task do_package_write_rpm ends up in
> "liblzma: memory allocation failed". This happens if the host
> environment has set a limit on virtual_memory for the user with
> 'ulimit -v' for packages with a lot of binary packages, e.g. glibc-locale.
>
> Upstream-Status: Inappropriate [error introduced by oe-core patch on rpm]

The multi-threading patches have been submitted upstream, so the
correct status here would be "Pending [merge of multithreading patches
to upstream]".

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


[OE-core] ✗ patchtest: failure for rpm: handle virtual memory usage when limit is set

2018-09-19 Thread Patchwork
== Series Details ==

Series: rpm: handle virtual memory usage when limit is set
Revision: 1
URL   : https://patchwork.openembedded.org/series/14150/
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 A patch file has been added, but does not have a 
Signed-off-by tag [test_signed_off_by_presence] 
  Suggested fixSign off the added patch file 
(meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch)

* Issue Added patch file is missing Upstream-Status in the header 
[test_upstream_status_presence_format] 
  Suggested fixAdd Upstream-Status:  to the header of 
meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
  Standard format  Upstream-Status: 
  Valid status Pending, Accepted, Backport, Denied, Inappropriate [reason], 
Submitted [where]



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] rpm: handle virtual memory usage when limit is set

2018-09-19 Thread Peter Bergin
Fix the situation where the task do_package_write_rpm ends up in
"liblzma: memory allocation failed". This happens if the host
environment has set a limit on virtual_memory for the user with
'ulimit -v' for packages with a lot of binary packages, e.g. glibc-locale.

Upstream-Status: Inappropriate [error introduced by oe-core patch on rpm]

Signed-off-by: Peter Bergin 
---
 ...estrict-virtual-memory-usage-if-limit-set.patch | 52 ++
 meta/recipes-devtools/rpm/rpm_4.14.2.bb|  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 
meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch

diff --git 
a/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
 
b/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
new file mode 100644
index 000..a4b9a58
--- /dev/null
+++ 
b/meta/recipes-devtools/rpm/files/0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch
@@ -0,0 +1,52 @@
+From cff87a68cde44d893b72caa1995ac6b9a1784523 Mon Sep 17 00:00:00 2001
+From: Peter Bergin 
+Date: Wed, 19 Sep 2018 15:12:31 +0200
+Subject: [PATCH] rpm: restrict virtual memory usage if limit set
+
+A solution to avoid OOM situation when the virtual memory is restricted
+for a user (ulimit -v). As the lzopen_internal funtion is run in parallel
+one instance per CPU thread the available virtual memory is limited per
+CPU thread.
+---
+ rpmio/rpmio.c | 25 +
+ 1 file changed, 25 insertions(+)
+
+diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c
+index e051c98..49752b3 100644
+--- a/rpmio/rpmio.c
 b/rpmio/rpmio.c
+@@ -845,6 +845,31 @@ static LZFILE *lzopen_internal(const char *mode, int fd, 
int xz)
+   }
+ #endif
+ 
++  struct rlimit virtual_memory;
++  getrlimit(RLIMIT_AS, _memory);
++  if (virtual_memory.rlim_cur != RLIM_INFINITY) {
++  const uint64_t virtual_memlimit = 
virtual_memory.rlim_cur;
++  const uint64_t virtual_memlimit_per_cpu_thread =
++  virtual_memlimit / lzma_cputhreads();
++  uint64_t memory_usage_virt;
++  rpmlog(RPMLOG_NOTICE, "XZ: virtual memory restricted to 
%lu and "
++ "per CPU thread %lu\n", virtual_memlimit, 
virtual_memlimit_per_cpu_thread);
++  /* keep reducing the number of compression threads 
untill memory 
++ usage gets below limit per CPU thread*/
++  while ((memory_usage_virt = 
lzma_stream_encoder_mt_memusage(_options)) >
++ virtual_memlimit_per_cpu_thread) {
++  /* number of threads shouldn't be able to hit 
zero with compression
++   * settings aailable to set through rpm... */
++  assert(--mt_options.threads != 0);
++  }
++  if (threads != (int)mt_options.threads)
++  rpmlog(RPMLOG_NOTICE,
++ "XZ: Adjusted the number of threads from 
%d to %d to not "
++ "exceed the memory usage limit of %lu 
bytes\n",
++ threads, mt_options.threads, 
virtual_memlimit);
++
++  }
++
+   ret = lzma_stream_encoder_mt(>strm, _options);
+   }
+ #endif
+-- 
+2.7.4
+
diff --git a/meta/recipes-devtools/rpm/rpm_4.14.2.bb 
b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
index 46f8837..112b41a 100644
--- a/meta/recipes-devtools/rpm/rpm_4.14.2.bb
+++ b/meta/recipes-devtools/rpm/rpm_4.14.2.bb
@@ -39,6 +39,7 @@ SRC_URI = 
"git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \

file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \

file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
file://0001-perl-disable-auto-reqs.patch \
+   file://0001-rpm-restrict-virtual-memory-usage-if-limit-set.patch \
"
 
 PE = "1"
-- 
2.7.4

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


Re: [OE-core] [PATCH] ghostscript: upgrade to 9.25

2018-09-19 Thread Randy MacLeod

On 09/17/2018 12:44 PM, Jagadeesh Krishnanjanappa wrote:

Removed below patches, as v9.25 source already has those
changes/security fixes:

0001-Bug-699665-memory-corruption-in-aesdecode.patch
0001-pdfwrite-Guard-against-trying-to-output-an-infinite-.patch
0002-Bug-699656-Handle-LockDistillerParams-not-being-a-bo.patch
0003-Fix-Bug-699660-shading_param-incomplete-type-checkin.patch
0004-Hide-the-.shfill-operator.patch
0005-Bug-699657-properly-apply-file-permissions-to-.tempf.patch
remove-direct-symlink.patch

Re-worked ghostscript-9.21-native-fix-disable-system-libtiff.patch
and ghostscript-9.21-prevent_recompiling.patch
to fix warnings in do_patch task of ghostscript v9.25 recipe.

Highlights of ghostscript v9.25 release:
---
- This release fixes problems with argument handling, some unintended results
   of the security fixes to the SAFER file access restrictions
   (specifically accessing ICC profile files), and some additional security
   issues over the recent 9.24 release.

- Note: The ps2epsi utility does not, and cannot call Ghostscript with
   the -dSAFER command line option. It should never be called with input
   from untrusted sources.

- Security issues have been the primary focus of this release, including
   solving several (well publicised) real and potential exploits.

- As well as Ghostscript itself, jbig2dec has had a significant amount of work
   improving its robustness in the face of out specification files.

- IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread
   safe, and cannot be made thread safe without breaking the ABI.
   Our fork will be thread safe, and include performance enhancements
   (these changes have all be been offered and rejected upstream). We will
   maintain compatibility between Ghostscript and LCMS2 for a time, but not in
   perpetuity. Our fork will be available as its own package separately from
   Ghostscript (and MuPDF).

- The usual round of bug fixes, compatibility changes, and incremental
   improvements.

Signed-off-by: Jagadeesh Krishnanjanappa 



Makes sense to me since otherwise distros will have to backport 10s of
CVE and other bug fixes. We're so close to cutting 2.6-M3 and there
could always be just one more package update but
how about just one more package update?

It's an app not a library so as long as Jagadeesh has tested well,
the risk of breaking in the autobuider tests is low.

Jagadeesh,
Did you build for all of qemu* x [glibc|musl]?
What runtime tests have you done?


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


Re: [OE-core] [PATCH V2 2/2] musl: Add aliases for glibc provided libraries

2018-09-19 Thread Richard Purdie
On Wed, 2018-09-19 at 11:55 -0700, Khem Raj wrote:
> This is a step towards running pebuilt applications for glibc  on
> musl
> There are many realworld applications which are not always built from
> source, especially provided by third party
> 
> Package the glibc symlinks into new package musl-glibc-compat
> 
> Signed-off-by: Khem Raj 
> ---
> V2 - Package new symlinks into separate compat package
> 
>  meta/recipes-core/musl/musl_git.bb | 22 ++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-
> core/musl/musl_git.bb
> index be31718e3a..efdf620c6c 100644
> --- a/meta/recipes-core/musl/musl_git.bb
> +++ b/meta/recipes-core/musl/musl_git.bb
> @@ -26,6 +26,14 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
> bsd-headers \
> libssp-nonshared \
>"
> +GLIBC_LDSO ?= "ld.so.1"
> +GLIBC_LDSO_arm = "${@ bb.utils.contains('TUNE_FEATURES',
> 'callconvention-hard', 'ld-linux-armhf.so.3', 'ld-linux.so.3', d)}"
> +GLIBC_LDSO_aarch64 = "ld-linux-aarch64.so.1"
> +GLIBC_LDSO_x86 = "ld-linux.so.2"
> +GLIBC_LDSO_x86_64 = "ld-linux-x86-64.so.2"
> +GLIBC_LDSO_x32 = "ld-linux-x32.so.2"
> +GLIBC_LDSO_powerpc64 = "ld64.so.1"
> +GLIBC_LDSO_mips64 = "ld64.so.1"

How about we tweak linuxloader.bbclass to have a glibc specific
function could call to get this? I'm not a fan of adding another set of
these lists...

Cheers,

Richard


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


[OE-core] [PATCH V2 2/2] musl: Add aliases for glibc provided libraries

2018-09-19 Thread Khem Raj
This is a step towards running pebuilt applications for glibc  on musl
There are many realworld applications which are not always built from
source, especially provided by third party

Package the glibc symlinks into new package musl-glibc-compat

Signed-off-by: Khem Raj 
---
V2 - Package new symlinks into separate compat package

 meta/recipes-core/musl/musl_git.bb | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/meta/recipes-core/musl/musl_git.bb 
b/meta/recipes-core/musl/musl_git.bb
index be31718e3a..efdf620c6c 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -26,6 +26,14 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
bsd-headers \
libssp-nonshared \
   "
+GLIBC_LDSO ?= "ld.so.1"
+GLIBC_LDSO_arm = "${@ bb.utils.contains('TUNE_FEATURES', 
'callconvention-hard', 'ld-linux-armhf.so.3', 'ld-linux.so.3', d)}"
+GLIBC_LDSO_aarch64 = "ld-linux-aarch64.so.1"
+GLIBC_LDSO_x86 = "ld-linux.so.2"
+GLIBC_LDSO_x86_64 = "ld-linux-x86-64.so.2"
+GLIBC_LDSO_x32 = "ld-linux-x32.so.2"
+GLIBC_LDSO_powerpc64 = "ld64.so.1"
+GLIBC_LDSO_mips64 = "ld64.so.1"
 
 export CROSS_COMPILE="${TARGET_PREFIX}"
 
@@ -62,12 +70,26 @@ do_install() {
install -d ${D}${bindir}
rm -f ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
+   lnr ${D}${libdir}/libc.so ${D}${base_libdir}/${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet
do
ln -sf libc.so ${D}${libdir}/lib$l.so
done
+   for i in libc.so.6 libcrypt.so.1 libdl.so.2 libm.so.6 libpthread.so.0 
libresolv.so.2 librt.so.1 libutil.so.1; do
+   ln -sf libc.so ${D}${libdir}/$i
+   done
 }
 
+PACKAGES =+ "${PN}-glibc-compat"
+
+FILES_${PN}-glibc-compat += "\
+${libdir}/libc.so.6 ${libdir}/libcrypt.so.1 \
+${libdir}/libdl.so.2 ${libdir}/libm.so.6 \
+${libdir}/libpthread.so.0 ${libdir}/libresolv.so.2 \
+${libdir}/librt.so.1 ${libdir}/libutil.so.1 \
+${base_libdir}/${GLIBC_LDSO} \
+"
+
 RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev 
libssp-nonshared-staticdev"
 RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
-- 
2.19.0

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


[OE-core] [PATCH 1/2] mtools: Fix build with clang

2018-09-19 Thread Khem Raj
Identify with __clang__ to undefine UNUSED

Signed-off-by: Khem Raj 
---
 .../mtools/mtools/clang_UNUSED.patch| 17 +
 meta/recipes-devtools/mtools/mtools_4.0.18.bb   |  1 +
 2 files changed, 18 insertions(+)
 create mode 100644 meta/recipes-devtools/mtools/mtools/clang_UNUSED.patch

diff --git a/meta/recipes-devtools/mtools/mtools/clang_UNUSED.patch 
b/meta/recipes-devtools/mtools/mtools/clang_UNUSED.patch
new file mode 100644
index 00..6bb9d6a3da
--- /dev/null
+++ b/meta/recipes-devtools/mtools/mtools/clang_UNUSED.patch
@@ -0,0 +1,17 @@
+Undefine UNUSED macros with clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj 
+Index: mtools-4.0.18/sysincludes.h
+===
+--- mtools-4.0.18.orig/sysincludes.h
 mtools-4.0.18/sysincludes.h
+@@ -101,7 +101,7 @@ typedef void *caddr_t;
+ #if defined __GNUC__ && defined __STDC__
+ /* gcc -traditional doesn't have PACKED, UNUSED and NORETURN */
+ # define PACKED __attribute__ ((packed))
+-# if __GNUC__ == 2 && __GNUC_MINOR__ > 6 || __GNUC__ >= 3
++# if (__GNUC__ == 2 && __GNUC_MINOR__ > 6 || __GNUC__ >= 3) && 
!defined(__clang__)
+ /* gcc 2.6.3 doesn't have "unused" */ /* mool */
+ #  define UNUSED(x) x __attribute__ ((unused));x
+ #  define UNUSEDP __attribute__ ((unused))
diff --git a/meta/recipes-devtools/mtools/mtools_4.0.18.bb 
b/meta/recipes-devtools/mtools/mtools_4.0.18.bb
index 91f7b7c610..3c31aca3ad 100644
--- a/meta/recipes-devtools/mtools/mtools_4.0.18.bb
+++ b/meta/recipes-devtools/mtools/mtools_4.0.18.bb
@@ -32,6 +32,7 @@ SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
file://no-x11.gplv3.patch \

file://0001-Continue-even-if-fs-size-is-not-divisible-by-sectors.patch \
file://0001-remove-LOCK_NB-to-use-blocking-request.patch \
+   file://clang_UNUSED.patch \
"
 
 SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch"
-- 
2.19.0

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


Re: [OE-core] [PATCH v3] python3{,-native}: update to 3.7.0

2018-09-19 Thread Alejandro Hernandez
I am aware dnf needs an update, but in the meantime you can't break 
functionality of other components of the build system when upgrading a 
certain component, we either need a patch to dnf to fix compatibility or 
the upgrade to dnf as well.



Alejandro

On 9/19/2018 1:44 AM, Jens Rehsack wrote:

That has already been discussed, dnf needs an update.
Am Mi., 19. Sep. 2018 um 08:50 Uhr schrieb Alejandro Hernandez
:

Hey Jens,

Apart from the python3-native incomplete build which we discussed before
and is still there, this is still breaking dnf, hence producing an error
when executing do_rootfs for an image.

The following error is shown:

NOTE: ## Generate rootfs ###
NOTE: Executing 'RSN/usr/bin/createrepo_c --update -q
wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo' ...
NOTE: Running RSN/usr/bin/dnf -v --rpmverbosity=debug -y -c
wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/dnf.conf
--setoh
ERROR: Could not invoke dnf. Command 'RSN/usr/bin/dnf -v
--rpmverbosity=debug -y -c
wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs:
Traceback (most recent call last):
File "RSN/usr/lib/python3.7/site-packages/dnf/util.py", line 121, in
ensure_dir
  os.makedirs(dname, mode=0o755)
File "RSN/usr/lib/python3.7/os.py", line 221, in makedirs
  mkdir(name, mode)
FileExistsError: [Errno 17] File exists:
'wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/temp'

Traceback (most recent call last):
File "RSN/usr/bin/dnf.real", line 58, in 
  main.user_main(sys.argv[1:], exit_code=True)
File "RSN/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 179,
in user_main

...

File "RSN/usr/lib/python3.7/site-packages/dnf/util.py", line 123, in
ensure_dir
  if e.errno != os.errno.EEXIST or not os.path.isdir(dname):
AttributeError: module 'os' has no attribute 'errno'


This means either the python3 build needs to be fixed (unlikely) or that
the dnf build needs to be fixed to be compatible with python 3.7, and if
that's the case the patch to dnf still needs to be provided (even if
it's not part of the upgrade), since we need to ensure that we don't
break other component's functionality in between patches.

This also means that you probably haven't tested running python3.7
inside an image, otherwise its likely you would've seen this same issue,
while I see no reason why the python3.7 build wouldn't work at runtime,
it still needs to be tested, the fact that a package builds successfully
doesn't mean it will necessarily run properly.

Alejandro

On 9/17/2018 11:49 AM, Jens Rehsack wrote:

Update python3 to recent 3.7.0 release.

Details about new features and bug-fixes can be taken from
* https://docs.python.org/3/whatsnew/3.7.html
* https://docs.python.org/3/whatsnew/3.6.html

Remove patches when they were fixed upstream and rebase the
remaining ones. If necessary, the patches are adopted to
keep the idea when upstream code was changed. Also remove
backports from 3.6 and 3.7 into 3.5.6 codebase for TLS
and multiprocessing.

Open TODO: track patches in a -STABLE rebased git branch for
easier rebasing or upstream submitting.

Enhancement requests for Yocto project
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901
are solved by this.

Signed-off-by: Jens Rehsack 
---
   meta/classes/python3-dir.bbclass  |   6 +-
   .../python/python3-native_3.5.6.bb| 100 --
   .../python/python3-native_3.7.0.bb|  73 
   meta/recipes-devtools/python/python3.inc  |  65 +++-
   ...hell-version-of-python-config-that-w.patch |  21 +-
   ..._sysconfigdata.py-to-initialize-dist.patch |  66 
   ...ontext-has-improved-default-settings.patch | 272 ---
   ...d-target-to-split-profile-generation.patch |  40 ---
   ...S-1.3-cipher-suites-and-OP_NO_TLSv1_.patch | 227 
   ...for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch | 173 -
   3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch | 110 --
   ...ALPN-changes-for-OpenSSL-1.1.0f-2305.patch |  68 
   .../python3/03-fix-tkinter-detection.patch|  12 +-
   .../python3/030-fixup-include-dirs.patch  |   9 -
   .../080-distutils-dont_adjust_files.patch |   4 +-
   .../python/python3/150-fix-setupterm.patch|  17 -
   ...GS-for-extensions-when-cross-compili.patch |  53 ++-
   .../python3/avoid-ncursesw-include-path.patch |  18 +-
   .../python3/avoid_warning_about_tkinter.patch |  18 +-
   .../python3/configure.ac-fix-LIBPL.patch  |  21 +-
   .../python/python3/float-endian.patch |   9 +-
   ...ssing-libraries-to-Extension-for-mul.patch |  26 +-
   .../python/python3/python-3.3-multilib.patch  | 241 +++--
   .../python/python3/python3-manifest.json  |  11 +-
   ...CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch |  17 +-
   .../python/python3/regen-all.patch|  25 --
   .../python/python3/signal.patch   |  56 ---
   

[OE-core] [PATCH v3 1/3] python: don't sort the manifest in create_manifest

2018-09-19 Thread Andrew Geissler
Instead of sorting the entire manifest when it is updated, use
OrderedDict to preserve the order of fields.This means that
packages can be ordered in the manifest to allow non-trivial
FILES assignments (such as a package that picks up pieces of
other packages)

The manifest has been regenerated with the new stable ordering, and
distutils-staticdev moved above distutils so the packaging rules work as
expected.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Moved distutils-staticdev above distutils so packaging rules work
as expected.
Changes since v2:
- Rebase

Signed-off-by: Andrew Geissler 
---
 .../python/python/create_manifest2.py  |   16 +-
 .../python/python/python2-manifest.json| 1660 ++--
 2 files changed, 840 insertions(+), 836 deletions(-)

diff --git a/meta/recipes-devtools/python/python/create_manifest2.py 
b/meta/recipes-devtools/python/python/create_manifest2.py
index e745045..1af1443 100644
--- a/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/meta/recipes-devtools/python/python/create_manifest2.py
@@ -37,6 +37,7 @@ import sys
 import subprocess
 import json
 import os
+import collections
 
 # Hack to get native python search path (for folders), not fond of it but it 
works for now
 pivot='recipe-sysroot-native'
@@ -45,7 +46,7 @@ for p in sys.path:
 nativelibfolder=p[:p.find(pivot)+len(pivot)]
 
 # Empty dict to hold the whole manifest
-new_manifest = {}
+new_manifest = collections.OrderedDict()
 
 # Check for repeated files, folders and wildcards
 allfiles=[]
@@ -63,7 +64,7 @@ def isFolder(value):
 
 # Read existing JSON manifest
 with open('python2-manifest.json') as manifest:
-  old_manifest=json.load(manifest)
+  old_manifest = json.load(manifest, object_pairs_hook=collections.OrderedDict)
 
 
 # First pass to get core-package functionality, because we base everything on 
the fact that core is actually working
@@ -124,13 +125,14 @@ for key in old_manifest:
 
 for key in old_manifest:
 # Use an empty dict as data structure to hold data for each package and 
fill it up
-new_manifest[key]={}
-new_manifest[key]['files']=[]
+new_manifest[key] = collections.OrderedDict()
+new_manifest[key]['summary'] = old_manifest[key]['summary']
 new_manifest[key]['rdepends']=[]
+new_manifest[key]['files'] = []
+
 # All packages should depend on core
 if key != 'core':
- new_manifest[key]['rdepends'].append('core')
-new_manifest[key]['summary']=old_manifest[key]['summary']
+new_manifest[key]['rdepends'].append('core')
 
 # Handle special cases, we assume that when they were manually added 
 # to the manifest we knew what we were doing.
@@ -274,4 +276,4 @@ for key in new_manifest:
 
 # Create the manifest from the data structure that was built
 with open('python2-manifest.json.new','w') as outfile:
-json.dump(new_manifest,outfile,sort_keys=True, indent=4, separators=(',', 
': '))
+json.dump(new_manifest,outfile, indent=4)
diff --git a/meta/recipes-devtools/python/python/python2-manifest.json 
b/meta/recipes-devtools/python/python/python2-manifest.json
index 723e513..4a29c56 100644
--- a/meta/recipes-devtools/python/python/python2-manifest.json
+++ b/meta/recipes-devtools/python/python/python2-manifest.json
@@ -1,1047 +1,1049 @@
 {
 "2to3": {
-"files": [
-"${bindir}/2to3",
-"${libdir}/python2.7/lib2to3"
-],
+"summary": "Python automated Python 2 to 3 code translator", 
 "rdepends": [
 "core"
-],
-"summary": "Python automated Python 2 to 3 code translator"
-},
-"argparse": {
+], 
 "files": [
-"${libdir}/python2.7/argparse.py"
-],
+"${bindir}/2to3", 
+"${libdir}/python2.7/lib2to3"
+]
+}, 
+"argparse": {
+"summary": "Python command line argument parser", 
 "rdepends": [
-"codecs",
-"core",
-"lang",
+"codecs", 
+"core", 
+"lang", 
 "textutils"
-],
-"summary": "Python command line argument parser"
-},
-"audio": {
+], 
 "files": [
-"${libdir}/python2.7/audiodev.py",
-"${libdir}/python2.7/chunk.py",
-"${libdir}/python2.7/lib-dynload/audioop.so",
-"${libdir}/python2.7/lib-dynload/ossaudiodev.so",
-"${libdir}/python2.7/sndhdr.py",
-"${libdir}/python2.7/sunau.py",
-"${libdir}/python2.7/sunaudio.py",
-"${libdir}/python2.7/toaiff.py",
-"${libdir}/python2.7/wave.py"
-],
+"${libdir}/python2.7/argparse.py"
+]
+}, 
+"audio": {
+"summary": "Python Audio Handling", 
 "rdepends": [
-"core",
-"crypt",
-"fcntl",
-"io",
+"core", 
+   

[OE-core] [PATCH v3 3/3] python: consolidate tests

2018-09-19 Thread Andrew Geissler
Currently the bulk of the tests in python-tests, some more in
python-sqlite3-tests, and others in their parent module (such as
python-ctypes).  This is pointless space usage if we're not planning on
running the tests, so consolidate all the tests into python-tests.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Rebase

Signed-off-by: Andrew Geissler 
---
 .../python/python/python2-manifest.json| 33 +-
 1 file changed, 14 insertions(+), 19 deletions(-)

diff --git a/meta/recipes-devtools/python/python/python2-manifest.json 
b/meta/recipes-devtools/python/python/python2-manifest.json
index 4a29c56..1e7004e 100644
--- a/meta/recipes-devtools/python/python/python2-manifest.json
+++ b/meta/recipes-devtools/python/python/python2-manifest.json
@@ -1,4 +1,18 @@
 {
+"tests": {
+"summary": "Python test suite",
+"rdepends": [
+"core",
+"modules"
+],
+"files": [
+"${libdir}/python2.7/*/test",
+"${libdir}/python2.7/*/tests",
+"${libdir}/python2.7/idlelib/idle_test/",
+"${libdir}/python2.7/test"
+],
+"cached": []
+},
 "2to3": {
 "summary": "Python automated Python 2 to 3 code translator", 
 "rdepends": [
@@ -873,16 +887,6 @@
 "${libdir}/python2.7/lib-dynload/_sqlite3.so"
 ]
 }, 
-"sqlite3-tests": {
-"summary": "Python Sqlite3 database support tests", 
-"rdepends": [
-"core", 
-"tests"
-], 
-"files": [
-"${libdir}/python2.7/sqlite3/test"
-]
-}, 
 "stringold": {
 "summary": "Python string APIs [deprecated]", 
 "rdepends": [
@@ -925,15 +929,6 @@
 "${libdir}/python2.7/tty.py"
 ]
 }, 
-"tests": {
-"summary": "Python tests", 
-"rdepends": [
-"core"
-], 
-"files": [
-"${libdir}/python2.7/test"
-]
-}, 
 "textutils": {
 "summary": "Python option parsin", 
 "rdepends": [
-- 
2.7.4

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


[OE-core] [PATCH] gnupg: patch gnupg-native to allow path relocation

2018-09-19 Thread Ross Burton
GnuPG hard-codes $bindir etc and uses them to find the helper binaries, such as
gpg-agent.  This breaks if gnupg-native is reused from sstate for a different
build directory and GPG signing of packages is required.

Patch in getenv() checks for gnupg-native when returning the hardcoded paths,
and create a wrapper script which overrides GNUPG_BINDIR. There are more paths
that can be overridden, but this one is sufficient to make GnuPG work.

Signed-off-by: Ross Burton 
---
 meta/recipes-support/gnupg/gnupg/relocate.patch | 81 +
 meta/recipes-support/gnupg/gnupg_2.2.9.bb   |  7 ++-
 2 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-support/gnupg/gnupg/relocate.patch

diff --git a/meta/recipes-support/gnupg/gnupg/relocate.patch 
b/meta/recipes-support/gnupg/gnupg/relocate.patch
new file mode 100644
index 000..87ec409ca31
--- /dev/null
+++ b/meta/recipes-support/gnupg/gnupg/relocate.patch
@@ -0,0 +1,81 @@
+Allow the environment to override where gnupg looks for its own files. Useful 
in native builds.
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Ross Burton 
+
+diff --git a/common/homedir.c b/common/homedir.c
+index e9e75d01e..19140aa0d 100644
+--- a/common/homedir.c
 b/common/homedir.c
+@@ -760,7 +760,7 @@ gnupg_socketdir (void)
+   if (!name)
+ {
+   unsigned int dummy;
+-  name = _gnupg_socketdir_internal (0, );
++  name = getenv("GNUPG_SOCKETDIR") ?: _gnupg_socketdir_internal (0, 
);
+ }
+ 
+   return name;
+@@ -786,7 +786,7 @@ gnupg_sysconfdir (void)
+ }
+   return name;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_SYSCONFDIR;
++  return getenv("GNUPG_SYSCONFDIR") ?: GNUPG_SYSCONFDIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -815,7 +815,7 @@ gnupg_bindir (void)
+   else
+ return rdir;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_BINDIR;
++  return getenv("GNUPG_BINDIR") ?: GNUPG_BINDIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -828,7 +828,7 @@ gnupg_libexecdir (void)
+ #ifdef HAVE_W32_SYSTEM
+   return gnupg_bindir ();
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_LIBEXECDIR;
++  return getenv("GNUPG_LIBEXECDIR") ?: GNUPG_LIBEXECDIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -842,7 +842,7 @@ gnupg_libdir (void)
+ name = xstrconcat (w32_rootdir (), DIRSEP_S "lib" DIRSEP_S "gnupg", NULL);
+   return name;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_LIBDIR;
++  return getenv("GNUPG_LIBDIR") ?: GNUPG_LIBDIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -856,7 +856,7 @@ gnupg_datadir (void)
+ name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "gnupg", 
NULL);
+   return name;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_DATADIR;
++  return getenv("GNUPG_DATADIR") ?: GNUPG_DATADIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -872,7 +872,7 @@ gnupg_localedir (void)
+NULL);
+   return name;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return LOCALEDIR;
++  return getenv("LOCALEDIR") ?: LOCALEDIR;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
+@@ -940,7 +940,7 @@ gnupg_cachedir (void)
+ }
+   return dir;
+ #else /*!HAVE_W32_SYSTEM*/
+-  return GNUPG_LOCALSTATEDIR "/cache/" PACKAGE_NAME;
++  return getenv("GNUPG_LOCALSTATEDIR") ?: GNUPG_LOCALSTATEDIR "/cache/" 
PACKAGE_NAME;
+ #endif /*!HAVE_W32_SYSTEM*/
+ }
+ 
diff --git a/meta/recipes-support/gnupg/gnupg_2.2.9.bb 
b/meta/recipes-support/gnupg/gnupg_2.2.9.bb
index 4f815dff20d..b7d23b8d39f 100644
--- a/meta/recipes-support/gnupg/gnupg_2.2.9.bb
+++ b/meta/recipes-support/gnupg/gnupg_2.2.9.bb
@@ -15,7 +15,8 @@ SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0003-dirmngr-uses-libgpg-error.patch \
file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
   "
-SRC_URI_append_class-native = " 
file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch"
+SRC_URI_append_class-native = " 
file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
+file://relocate.patch"
 
 
 SRC_URI[md5sum] = "52c895a81f514a65e08923736c38654a"
@@ -43,6 +44,10 @@ do_install_append() {
ln -sf gpgv2 ${D}${bindir}/gpgv
 }
 
+do_install_append_class-native() {
+   create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+}
+
 PACKAGECONFIG ??= "gnutls"
 PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls"
 PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3"
-- 
2.11.0

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


[OE-core] [PATCH 2/2] yocto-uninative: Add aarch64 uninative tarball checksum

2018-09-19 Thread Richard Purdie
Signed-off-by: Richard Purdie 
---
 meta/conf/distro/include/yocto-uninative.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/conf/distro/include/yocto-uninative.inc 
b/meta/conf/distro/include/yocto-uninative.inc
index 38080c63b58..180d4e54baa 100644
--- a/meta/conf/distro/include/yocto-uninative.inc
+++ b/meta/conf/distro/include/yocto-uninative.inc
@@ -9,6 +9,7 @@
 UNINATIVE_MAXGLIBCVERSION = "2.27"
 
 UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.2/;
+UNINATIVE_CHECKSUM[aarch64] ?= 
"5c9636d2683dca8b783763b5e52f80f12ac857c0f445cdaa58a8c2370583da77"
 UNINATIVE_CHECKSUM[i686] ?= 
"036b60092fe4acfa1a321d110673030db20344a2d56f33a4d047f0279498bdad"
 UNINATIVE_CHECKSUM[x86_64] ?= 
"e3b77208169bf1ac4e89496f3cdbf27695f5b18a2694a908a793390f28b67f83"
 
-- 
2.17.1

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


[OE-core] [PATCH 1/2] uninative: Add support for aarch64 hosts

2018-09-19 Thread Richard Purdie
Signed-off-by: Richard Purdie 
---
 meta/classes/uninative.bbclass | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index de2221a3655..ba99fb6e8fd 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -1,10 +1,11 @@
-UNINATIVE_LOADER ?= 
"${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH',
 'x86_64', 'ld-linux-x86-64.so.2', 'ld-linux.so.2', d)}"
+UNINATIVE_LOADER ?= 
"${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH',
 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 
'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 
'ld-linux-aarch64.so.1', '', d)}"
 UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
 
 UNINATIVE_URL ?= "unset"
 UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
 # Example checksums
-#UNINATIVE_CHECKSUM[i586] = "dead"
+#UNINATIVE_CHECKSUM[aarch64] = "dead"
+#UNINATIVE_CHECKSUM[i686] = "dead"
 #UNINATIVE_CHECKSUM[x86_64] = "dead"
 UNINATIVE_DLDIR ?= "${DL_DIR}/uninative/"
 
-- 
2.17.1

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


Re: [OE-core] [PATCH] openssh: resolve install conflict with openssh-sftp-server-dev

2018-09-19 Thread Richard Purdie
On Wed, 2018-09-19 at 17:11 +0200, Andreas Oberritter wrote:
> On Wed, 19 Sep 2018 08:41:35 +0200
> Urs Fässler  wrote:
> 
> > Image generation fails with the configuration:
> >   EXTRA_IMAGE_FEATURES = "ssh-server-dropbear eclipse-debug dev-
> > pkgs"
> > This is due the dependency eclipse-debug -> openssh-sftp-server ->
> > openssh-dev -> openssh. openssh can not be installed since it
> > conflicts
> > with dropbear.
> 
> That's odd. Why does openssh-sftp-server depend on openssh-dev? Does
> openssh-dev contain a file which it shouldn't, e.g. a dynamically
> loaded module/plug-in?

It doesn't, its the fact that "dev-pkgs" are requested in
IMAGE_FEATURES. "openssh-dev" would be the default for openssh packages
and dropbear-dev would be the default for dropbear packages. 

The patch here doesn't sound correct. I'm wondering if the correct fix
is for ${PN}-dev should not depend on ${PN} and whether that would fix
the problem?

Cheers,

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


Re: [OE-core] [PATCH] openssh: resolve install conflict with openssh-sftp-server-dev

2018-09-19 Thread Andreas Oberritter

On Wed, 19 Sep 2018 08:41:35 +0200
Urs Fässler  wrote:

> Image generation fails with the configuration:
>   EXTRA_IMAGE_FEATURES = "ssh-server-dropbear eclipse-debug dev-pkgs"
> This is due the dependency eclipse-debug -> openssh-sftp-server ->
> openssh-dev -> openssh. openssh can not be installed since it conflicts
> with dropbear.

That's odd. Why does openssh-sftp-server depend on openssh-dev? Does 
openssh-dev contain a file which it shouldn't, e.g. a dynamically loaded 
module/plug-in?

Regards,
Andreas

> 
> By adding the package openssh-sftp-server-dev we have no dependency to
> openssh-dev nor openssh.
> 
> Signed-off-by: Urs Fässler 
> Signed-off-by: Pascal Bach 
> ---
>  meta/recipes-connectivity/openssh/openssh_7.8p1.bb | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb 
> b/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
> index f4b295f2df..2782cdb2ad 100644
> --- a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
> +++ b/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
> @@ -132,7 +132,7 @@ do_install_ptest () {
>  
>  ALLOW_EMPTY_${PN} = "1"
>  
> -PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp 
> ${PN}-misc ${PN}-sftp-server"
> +PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp 
> ${PN}-misc ${PN}-sftp-server ${PN}-sftp-server-dev"
>  FILES_${PN}-scp = "${bindir}/scp.${BPN}"
>  FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
>  FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd 
> ${systemd_unitdir}/system"
> @@ -146,6 +146,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
>  RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
>  RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 
> 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
>  RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
> +RDEPENDS_${PN}-sftp-server-dev += "${PN}-sftp-server"
>  
>  RPROVIDES_${PN}-ssh = "ssh"
>  RPROVIDES_${PN}-sshd = "sshd"

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


[OE-core] ✗ patchtest: failure for "python: don't sort the manifes..." and 2 more (rev2)

2018-09-19 Thread Patchwork
== Series Details ==

Series: "python: don't sort the manifes..." and 2 more (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/14085/
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 6a1e550838)



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 1/3] python: don't sort the manifest in create_manifest

2018-09-19 Thread Andrew Geissler
Instead of sorting the entire manifest when it is updated, use
OrderedDict to preserve the order of fields.This means that
packages can be ordered in the manifest to allow non-trivial
FILES assignments (such as a package that picks up pieces of
other packages)

The manifest has been regenerated with the new stable ordering, and
distutils-staticdev moved above distutils so the packaging rules work as
expected.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Moved distutils-staticdev above distutils so packaging rules work
as expected.

Signed-off-by: Andrew Geissler 
---
 .../python/python/create_manifest2.py  |   16 +-
 .../python/python/python2-manifest.json| 1660 ++--
 2 files changed, 840 insertions(+), 836 deletions(-)

diff --git a/meta/recipes-devtools/python/python/create_manifest2.py 
b/meta/recipes-devtools/python/python/create_manifest2.py
index e745045..1af1443 100644
--- a/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/meta/recipes-devtools/python/python/create_manifest2.py
@@ -37,6 +37,7 @@ import sys
 import subprocess
 import json
 import os
+import collections
 
 # Hack to get native python search path (for folders), not fond of it but it 
works for now
 pivot='recipe-sysroot-native'
@@ -45,7 +46,7 @@ for p in sys.path:
 nativelibfolder=p[:p.find(pivot)+len(pivot)]
 
 # Empty dict to hold the whole manifest
-new_manifest = {}
+new_manifest = collections.OrderedDict()
 
 # Check for repeated files, folders and wildcards
 allfiles=[]
@@ -63,7 +64,7 @@ def isFolder(value):
 
 # Read existing JSON manifest
 with open('python2-manifest.json') as manifest:
-  old_manifest=json.load(manifest)
+  old_manifest = json.load(manifest, object_pairs_hook=collections.OrderedDict)
 
 
 # First pass to get core-package functionality, because we base everything on 
the fact that core is actually working
@@ -124,13 +125,14 @@ for key in old_manifest:
 
 for key in old_manifest:
 # Use an empty dict as data structure to hold data for each package and 
fill it up
-new_manifest[key]={}
-new_manifest[key]['files']=[]
+new_manifest[key] = collections.OrderedDict()
+new_manifest[key]['summary'] = old_manifest[key]['summary']
 new_manifest[key]['rdepends']=[]
+new_manifest[key]['files'] = []
+
 # All packages should depend on core
 if key != 'core':
- new_manifest[key]['rdepends'].append('core')
-new_manifest[key]['summary']=old_manifest[key]['summary']
+new_manifest[key]['rdepends'].append('core')
 
 # Handle special cases, we assume that when they were manually added 
 # to the manifest we knew what we were doing.
@@ -274,4 +276,4 @@ for key in new_manifest:
 
 # Create the manifest from the data structure that was built
 with open('python2-manifest.json.new','w') as outfile:
-json.dump(new_manifest,outfile,sort_keys=True, indent=4, separators=(',', 
': '))
+json.dump(new_manifest,outfile, indent=4)
diff --git a/meta/recipes-devtools/python/python/python2-manifest.json 
b/meta/recipes-devtools/python/python/python2-manifest.json
index 723e513..4a29c56 100644
--- a/meta/recipes-devtools/python/python/python2-manifest.json
+++ b/meta/recipes-devtools/python/python/python2-manifest.json
@@ -1,1047 +1,1049 @@
 {
 "2to3": {
-"files": [
-"${bindir}/2to3",
-"${libdir}/python2.7/lib2to3"
-],
+"summary": "Python automated Python 2 to 3 code translator", 
 "rdepends": [
 "core"
-],
-"summary": "Python automated Python 2 to 3 code translator"
-},
-"argparse": {
+], 
 "files": [
-"${libdir}/python2.7/argparse.py"
-],
+"${bindir}/2to3", 
+"${libdir}/python2.7/lib2to3"
+]
+}, 
+"argparse": {
+"summary": "Python command line argument parser", 
 "rdepends": [
-"codecs",
-"core",
-"lang",
+"codecs", 
+"core", 
+"lang", 
 "textutils"
-],
-"summary": "Python command line argument parser"
-},
-"audio": {
+], 
 "files": [
-"${libdir}/python2.7/audiodev.py",
-"${libdir}/python2.7/chunk.py",
-"${libdir}/python2.7/lib-dynload/audioop.so",
-"${libdir}/python2.7/lib-dynload/ossaudiodev.so",
-"${libdir}/python2.7/sndhdr.py",
-"${libdir}/python2.7/sunau.py",
-"${libdir}/python2.7/sunaudio.py",
-"${libdir}/python2.7/toaiff.py",
-"${libdir}/python2.7/wave.py"
-],
+"${libdir}/python2.7/argparse.py"
+]
+}, 
+"audio": {
+"summary": "Python Audio Handling", 
 "rdepends": [
-"core",
-"crypt",
-"fcntl",
-"io",
+"core", 
+"crypt", 
+   

Re: [OE-core] [PATCH 2/3] python: respect package order in manifest

2018-09-19 Thread Andrew Geissler
On Wed, Sep 19, 2018 at 6:08 AM Burton, Ross  wrote:
>
> Close, but:
>
> ERROR: python-2.7.15-r1 do_package_qa: QA Issue: non -staticdev
> package contains static .a library: python-distutils path
> '/work/corei7-64-poky-linux/python/2.7.15-r1/packages-split/python-distutils/usr/lib/python2.7/config/libpython2.7.a'
> [staticdev]

Ahh shoot, I missed that reorder change in your patch set 1 changes.
I'll get an update up.

>
> Ross
> On Fri, 14 Sep 2018 at 22:33, Andrew Geissler  wrote:
> >
> > Don't sort the manifest when using it to generate packaging rules, so
> > ordering can be used to have complex packaging rules.
> >
> > This is a backport of the same changes done by Ross Burton for python3
> >
> > Signed-off-by: Andrew Geissler 
> > ---
> >  meta/recipes-devtools/python/python_2.7.15.bb | 6 ++
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/python/python_2.7.15.bb 
> > b/meta/recipes-devtools/python/python_2.7.15.bb
> > index 43d9ff5..472c1da 100644
> > --- a/meta/recipes-devtools/python/python_2.7.15.bb
> > +++ b/meta/recipes-devtools/python/python_2.7.15.bb
> > @@ -207,7 +207,7 @@ RPROVIDES_${PN} += "${PN}-modules"
> >  INCLUDE_PYCS ?= "1"
> >
> >  python(){
> > -import json
> > +import collections, json
> >
> >  filename = os.path.join(d.getVar('THISDIR'), 'python', 
> > 'python2-manifest.json')
> >  # This python changes the datastore based on the contents of a file, 
> > so mark
> > @@ -215,7 +215,7 @@ python(){
> >  bb.parse.mark_dependency(d, filename)
> >
> >  with open(filename) as manifest_file:
> > -python_manifest=json.load(manifest_file)
> > +python_manifest=json.load(manifest_file, 
> > object_pairs_hook=collections.OrderedDict)
> >
> >  include_pycs = d.getVar('INCLUDE_PYCS')
> >
> > @@ -248,8 +248,6 @@ python(){
> >  d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
> >  d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
> >
> > -# We need to ensure staticdev packages match for files first so we 
> > sort in reverse
> > -newpackages.sort(reverse=True)
> >  # Prepending so to avoid python-misc getting everything
> >  packages = newpackages + packages
> >  d.setVar('PACKAGES', ' '.join(packages))
> > --
> > 2.7.4
> >
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] staging: remove hard-coded values from _FIXMEs

2018-09-19 Thread Andrej Valek
Hi Richard,

I have sent this patch, because of modification this replacement. What
about adding TMPDIR into this hard-coded array? I think, even if it
isn't added into EXTRA_STAGING_FIXMES it shouldn't influence default
behavior.

Regards,

Andrej

On 9/18/18 2:03 PM, Richard Purdie wrote:
> On Mon, 2018-09-17 at 15:41 +0200, Andrej Valek wrote:
>> Let users to override these values in their layers and could match
>> them
>> with values in EXTRA_STAGING_FIXMES.
>>
>> Signed-off-by: Andrej Valek 
>> ---
>>  meta/classes/staging.bbclass | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/staging.bbclass
>> b/meta/classes/staging.bbclass
>> index 84e13bab59..6db501dac1 100644
>> --- a/meta/classes/staging.bbclass
>> +++ b/meta/classes/staging.bbclass
>> @@ -127,6 +127,8 @@ python do_populate_sysroot_setscene () {
>>  }
>>  addtask do_populate_sysroot_setscene
>>  
>> +SYSROOT_STAGING_FIXMES ?= "COMPONENTS_DIR HOSTTOOLS_DIR PKGDATA_DIR
>> PSEUDO_LOCALSTATEDIR LOGFIFO"
>> +
>>  def staging_copyfile(c, target, dest, postinsts, seendirs):
>>  import errno
>>  
>> @@ -167,7 +169,7 @@ def staging_processfixme(fixme, target,
>> recipesysroot, recipesysrootnative, d):
>>  if not fixme:
>>  return
>>  cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e
>> 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" %
>> (target, " ".join(fixme), recipesysroot, recipesysrootnative)
>> -for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR',
>> 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']:
>> +for fixmevar in d.getVar("SYSROOT_STAGING_FIXMES").split():
>>  fixme_path = d.getVar(fixmevar)
>>  cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path)
>>  bb.debug(2, cmd)
> 
> I think this was deliberately left this way rather than letting users
> override it as the scope issues around this are not obvious and making
> it a variable gives users expectations which may not be met.
> 
> I'm going from memory with jetlag but I think that this variable would
> not work from recipe context, you'd have to do it in global scope and
> changing this in global scope for everything is a pretty serious
> change.
> 
> The reason is that it can get called when building any recipe sysroot
> so the datastore isn't to context of the original creator.
> 
> Cheers,
> 
> Richard
> 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] dropbear: remove localoptions.h in source searching

2018-09-19 Thread Andrej Valek
- localoptions.h is automatically searched in build directory

Signed-off-by: Andrej Valek 
---
 meta/recipes-core/dropbear/dropbear.inc|  1 -
 .../0007-fix-localoptions-search-path.patch| 51 --
 2 files changed, 52 deletions(-)
 delete mode 100644 
meta/recipes-core/dropbear/dropbear/0007-fix-localoptions-search-path.patch

diff --git a/meta/recipes-core/dropbear/dropbear.inc 
b/meta/recipes-core/dropbear/dropbear.inc
index dc24ea71bf..d92a2f3991 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -15,7 +15,6 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
'libpam', '', d)}"
 SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
file://CVE-2018-15599.patch \
file://0001-urandom-xauth-changes-to-options.h.patch \
-   file://0007-fix-localoptions-search-path.patch \
file://init \
file://dropbearkey.service \
file://dropbear@.service \
diff --git 
a/meta/recipes-core/dropbear/dropbear/0007-fix-localoptions-search-path.patch 
b/meta/recipes-core/dropbear/dropbear/0007-fix-localoptions-search-path.patch
deleted file mode 100644
index 02a6cf9268..00
--- 
a/meta/recipes-core/dropbear/dropbear/0007-fix-localoptions-search-path.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From a63288c4d203850110a5a72d27fa0d7202ceadbc Mon Sep 17 00:00:00 2001
-From: Andrej Valek 
-Date: Tue, 10 Apr 2018 12:30:09 +0200
-Subject: [PATCH] fix localoptions.h searching in out of tree building
-
-When dropbear is build out of tree, is necessary to search for localoptions
-header file is source directory.
-
-Upstream-Status: Submitted [https://github.com/mkj/dropbear/pull/62]
-
-Signed-off-by: Andrej Valek 

- Makefile.in | 8 
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index e7d52a2..a615896 100644
 a/Makefile.in
-+++ b/Makefile.in
-@@ -17,6 +17,9 @@ STATIC_LTM=libtommath/libtommath.a
- 
- LIBTOM_LIBS=@LIBTOM_LIBS@
- 
-+VPATH=@srcdir@
-+srcdir=@srcdir@
-+
- ifeq (@BUNDLED_LIBTOM@, 1)
- LIBTOM_DEPS=$(STATIC_LTC) $(STATIC_LTM) 
- LIBTOM_CLEAN=ltc-clean ltm-clean
-@@ -25,7 +28,7 @@ LIBTOM_LIBS=$(STATIC_LTC) $(STATIC_LTM)
- endif
- 
- OPTION_HEADERS = default_options_guard.h sysoptions.h
--ifneq ($(wildcard localoptions.h),)
-+ifneq ($(wildcard $(srcdir)/localoptions.h),)
- CFLAGS+=-DLOCALOPTIONS_H_EXISTS
- OPTION_HEADERS += localoptions.h
- endif
-@@ -65,9 +68,6 @@ dropbearkeyobjs=$(COMMONOBJS) $(KEYOBJS)
- dropbearconvertobjs=$(COMMONOBJS) $(CONVERTOBJS)
- scpobjs=$(SCPOBJS)
- 
--VPATH=@srcdir@
--srcdir=@srcdir@
--
- prefix=@prefix@
- exec_prefix=@exec_prefix@
- datarootdir = @datarootdir@
--- 
-2.11.0
-
-- 
2.11.0

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


[OE-core] [PATCH] wayland-protocols: update to 1.16

2018-09-19 Thread Oleksandr Kravchuk
Updated package to v1.16 to match the currently used Wayland version.

Signed-off-by: Oleksandr Kravchuk 
---
 .../{wayland-protocols_1.15.bb => wayland-protocols_1.16.bb}  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-graphics/wayland/{wayland-protocols_1.15.bb => 
wayland-protocols_1.16.bb} (86%)

diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.15.bb 
b/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
similarity index 86%
rename from meta/recipes-graphics/wayland/wayland-protocols_1.15.bb
rename to meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
index 85e35f59c2..fc4b711172 100644
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.15.bb
+++ b/meta/recipes-graphics/wayland/wayland-protocols_1.16.bb
@@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
 
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
"
-SRC_URI[md5sum] = "d75ec11e8443946b4795e4be1cf22db8"
-SRC_URI[sha256sum] = 
"dabb727a4b64e87bfa8c025c1d63919ce12100b49fdeded31857644a59729ee2"
+SRC_URI[md5sum] = "e0b523ff162e30bab46be1d65d527683"
+SRC_URI[sha256sum] = 
"6b1485951fdcd36a960c870c46f28b03a3e5121fb46246916333ed07f78c98c5"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html;
 
-- 
2.17.1

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


Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread Hongxu Jia

The ptest steps:

[local.conf]
MACHINE = "qemux86-64"
IMAGE_INSTALL_append = " openssh"
DISTRO_FEATURES_append = " ptest"
EXTRA_IMAGE_FEATURES += "ptest-pkgs"
[local.conf]

$ bitbake core-image-minimal

$ runqemu qemux86-64 core-image-minimal nographic slirp

Here is the ptest result:
root@qemux86-64:~#: cd /usr/lib/openssh/ptest
root@qemux86-64:/usr/lib/openssh/ptest# ./run-ptest 2>&1 | tee log
root@qemux86-64:/usr/lib/openssh/ptest# grep PASS log | wc -l
66
root@qemux86-64:/usr/lib/openssh/ptest# grep FAIL log | wc -l
0
root@qemux86-64:/usr/lib/openssh/ptest# grep SKIP log | wc -l
7
root@qemux86-64:/usr/lib/openssh/ptest# grep SKIP log
SKIP:  (not supported on this platform)
SKIP:  for no openpty(3)
SKIP:  for no openpty(3)
SKIP:  for no openpty(3)
SKIP:  for no openpty(3)
SKIP:  (no suitable ProxyCommand found)
SKIP: agent-ptrace

//Hongxu

On 2018年09月19日 19:59, Hongxu Jia wrote:

- Convert from tarball to git repository which support
   openssl 1.1.x

- There is no specific minor version that contains the
   openssl fix (it was merged to master a few days agao),
   rename recipe version to `7.8p1+git'

- Fix regression test binaries missing
   In commit `1f7aaf7 openssh: build regression test binaries', it build
   regression test binaries, since upstream add two binaries in commits
   `c59aca8 Create control sockets in clean temp directories' and
   `1acc058 Disable tests where fs perms are incorrect', we should update
   do_compile_ptest.

   [ptest log]
   |/usr/lib/openssh/ptest/regress/test-exec.sh: line 330: /usr/lib/openssh/
   ptest/regress/mkdtemp: No such file or directory
   [ptest log]

Signed-off-by: Hongxu Jia 
---
  .../openssh/{openssh_7.8p1.bb => openssh_7.8p1+git.bb}  | 13 +++--
  1 file changed, 7 insertions(+), 6 deletions(-)
  rename meta/recipes-connectivity/openssh/{openssh_7.8p1.bb => 
openssh_7.8p1+git.bb} (94%)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb 
b/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
similarity index 94%
rename from meta/recipes-connectivity/openssh/openssh_7.8p1.bb
rename to meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
index f4b295f..f54dfb5 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
@@ -8,11 +8,10 @@ SECTION = "console/network"
  LICENSE = "BSD"
  LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
  
-# openssl 1.1 patches are proposed at https://github.com/openssh/openssh-portable/pull/48

-DEPENDS = "zlib openssl10"
+DEPENDS = "zlib openssl"
  DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
  
-SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \

+SRC_URI = "git://github.com/openssh/openssh-portable;branch=master \
 file://sshd_config \
 file://ssh_config \
 file://init \
@@ -29,8 +28,9 @@ SRC_URI = 
"http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
  
  PAM_SRC_URI = "file://sshd"
  
-SRC_URI[md5sum] = "ce1d090fa6239fd38eb989d5e983b074"

-SRC_URI[sha256sum] = 
"1a484bb15152c183bb2514e112aa30dd34138c3cfb032eee5490a66c507144ca"
+SRCREV = "cce8cbe0ed7d1ba3a575310e0b63c193326ae616"
+
+S = "${WORKDIR}/git"
  
  inherit useradd update-rc.d update-alternatives systemd
  
@@ -80,7 +80,8 @@ do_configure_prepend () {

  do_compile_ptest() {
  # skip regress/unittests/ binaries: this will silently skip
  # unittests in run-ptests which is good because they are so slow.
-oe_runmake regress/modpipe regress/setuid-allowed regress/netcat
+oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
+   regress/check-perm regress/mkdtemp
  }
  
  do_install_append () {



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


[OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x

2018-09-19 Thread Hongxu Jia
- Convert from tarball to git repository which support
  openssl 1.1.x

- There is no specific minor version that contains the
  openssl fix (it was merged to master a few days agao),
  rename recipe version to `7.8p1+git'

- Fix regression test binaries missing
  In commit `1f7aaf7 openssh: build regression test binaries', it build
  regression test binaries, since upstream add two binaries in commits
  `c59aca8 Create control sockets in clean temp directories' and
  `1acc058 Disable tests where fs perms are incorrect', we should update
  do_compile_ptest.

  [ptest log]
  |/usr/lib/openssh/ptest/regress/test-exec.sh: line 330: /usr/lib/openssh/
  ptest/regress/mkdtemp: No such file or directory
  [ptest log]

Signed-off-by: Hongxu Jia 
---
 .../openssh/{openssh_7.8p1.bb => openssh_7.8p1+git.bb}  | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)
 rename meta/recipes-connectivity/openssh/{openssh_7.8p1.bb => 
openssh_7.8p1+git.bb} (94%)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb 
b/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
similarity index 94%
rename from meta/recipes-connectivity/openssh/openssh_7.8p1.bb
rename to meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
index f4b295f..f54dfb5 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.8p1+git.bb
@@ -8,11 +8,10 @@ SECTION = "console/network"
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
 
-# openssl 1.1 patches are proposed at 
https://github.com/openssh/openssh-portable/pull/48
-DEPENDS = "zlib openssl10"
+DEPENDS = "zlib openssl"
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
-SRC_URI = 
"http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
+SRC_URI = "git://github.com/openssh/openssh-portable;branch=master \
file://sshd_config \
file://ssh_config \
file://init \
@@ -29,8 +28,9 @@ SRC_URI = 
"http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
 
 PAM_SRC_URI = "file://sshd"
 
-SRC_URI[md5sum] = "ce1d090fa6239fd38eb989d5e983b074"
-SRC_URI[sha256sum] = 
"1a484bb15152c183bb2514e112aa30dd34138c3cfb032eee5490a66c507144ca"
+SRCREV = "cce8cbe0ed7d1ba3a575310e0b63c193326ae616"
+
+S = "${WORKDIR}/git"
 
 inherit useradd update-rc.d update-alternatives systemd
 
@@ -80,7 +80,8 @@ do_configure_prepend () {
 do_compile_ptest() {
 # skip regress/unittests/ binaries: this will silently skip
 # unittests in run-ptests which is good because they are so slow.
-oe_runmake regress/modpipe regress/setuid-allowed regress/netcat
+oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
+   regress/check-perm regress/mkdtemp
 }
 
 do_install_append () {
-- 
2.7.4

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


[OE-core] [PATCH 2/2] libressl: remove recipe

2018-09-19 Thread Hongxu Jia
Since openssh support oepnssl 1.1.x, there is no reason
to keep libressl.

Signed-off-by: Hongxu Jia 
---
 meta/conf/distro/include/maintainers.inc   |  1 -
 ...c-libraries-with-their-library-dependenci.patch | 73 --
 .../libressl/libressl_2.8.0.bb | 35 ---
 3 files changed, 109 deletions(-)
 delete mode 100644 
meta/recipes-connectivity/libressl/libressl/0001-Link-dynamic-libraries-with-their-library-dependenci.patch
 delete mode 100644 meta/recipes-connectivity/libressl/libressl_2.8.0.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 0c65e8f..af88418 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -344,7 +344,6 @@ RECIPE_MAINTAINER_pn-libpng = "Maxin B. John 
"
 RECIPE_MAINTAINER_pn-libproxy = "Maxin B. John "
 RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin 
"
 RECIPE_MAINTAINER_pn-librepo = "Alexander Kanavin "
-RECIPE_MAINTAINER_pn-libressl = "Alexander Kanavin "
 RECIPE_MAINTAINER_pn-librsvg = "Maxin B. John "
 RECIPE_MAINTAINER_pn-libsamplerate0 = "Tanu Kaskinen "
 RECIPE_MAINTAINER_pn-libsdl = "Yi Zhao "
diff --git 
a/meta/recipes-connectivity/libressl/libressl/0001-Link-dynamic-libraries-with-their-library-dependenci.patch
 
b/meta/recipes-connectivity/libressl/libressl/0001-Link-dynamic-libraries-with-their-library-dependenci.patch
deleted file mode 100644
index 50b795d..000
--- 
a/meta/recipes-connectivity/libressl/libressl/0001-Link-dynamic-libraries-with-their-library-dependenci.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 0dd486ba596fea07742a9317542bce27e18fd830 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin 
-Date: Mon, 9 Apr 2018 18:02:56 +0300
-Subject: [PATCH] Link dynamic libraries with their library dependencies.
-
-It does seem like outside of OpenBSD, no one has actually used libressl yet.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin 
-

- CMakeLists.txt| 5 +
- crypto/CMakeLists.txt | 1 +
- ssl/CMakeLists.txt| 2 +-
- 3 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 549849f..0f9d8f5 100644
 a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -266,15 +266,19 @@ set(OPENSSL_LIBS tls ssl crypto)
- 
- # Add additional required libs
- if(WIN32)
-+  set(OPENSSL_LIB_LIBS ws2_32)
-   set(OPENSSL_LIBS ${OPENSSL_LIBS} ws2_32)
- endif()
- if(CMAKE_SYSTEM_NAME MATCHES "Linux")
-+  set(OPENSSL_LIB_LIBS pthread)
-   set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread)
- endif()
- if(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
-+  set(OPENSSL_LIB_LIBS pthread)
-   set(OPENSSL_LIBS ${OPENSSL_LIBS} pthread)
- endif()
- if(CMAKE_SYSTEM_NAME MATCHES "SunOS")
-+  set(OPENSSL_LIB_LIBS nsl socket)
-   set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket)
- endif()
- 
-@@ -282,6 +286,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
-   # Check if we need -lrt to get clock_gettime on Linux
-   check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME)
-   if (HAVE_CLOCK_GETTIME)
-+  set(OPENSSL_LIB_LIBS ${OPENSSL_LIB_LIBS} rt)
-   set(OPENSSL_LIBS ${OPENSSL_LIBS} rt)
-   endif()
- else()
-diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
-index 90e127e..08eceda 100644
 a/crypto/CMakeLists.txt
-+++ b/crypto/CMakeLists.txt
-@@ -813,6 +813,7 @@ target_include_directories(crypto
-   ../include)
- 
- if (BUILD_SHARED_LIBS)
-+  target_link_libraries(crypto ${OPENSSL_LIB_LIBS})
-   export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym)
-   if (WIN32)
-   target_link_libraries(crypto Ws2_32.lib)
-diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt
-index 1a559e6..ed17223 100644
 a/ssl/CMakeLists.txt
-+++ b/ssl/CMakeLists.txt
-@@ -51,7 +51,7 @@ target_include_directories(ssl
- 
- if (BUILD_SHARED_LIBS)
-   export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
--  target_link_libraries(ssl crypto)
-+  target_link_libraries(ssl crypto ${OPENSSL_LIB_LIBS})
-   if (WIN32)
-   target_link_libraries(ssl Ws2_32.lib)
-   set(SSL_POSTFIX -${SSL_MAJOR_VERSION})
diff --git a/meta/recipes-connectivity/libressl/libressl_2.8.0.bb 
b/meta/recipes-connectivity/libressl/libressl_2.8.0.bb
deleted file mode 100644
index b45f16a..000
--- a/meta/recipes-connectivity/libressl/libressl_2.8.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Drop-in replacement for openssl 1.0.x, maintained by OpenBSD"
-DESCRIPTION = "LibreSSL is a version of the TLS/crypto stack forked from \
-   OpenSSL in 2014, with goals of modernizing the codebase, \
-   improving security, and applying best practice development 
processes. "
-HOMEPAGE = "http://www.libressl.org/;
-
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://COPYING;md5=01f9bb4d275f5eeea905377bef3de622"
-
-SRC_URI = 

[OE-core] ✗ patchtest: failure for "coreutils: update printenv's A..." and 2 more (rev3)

2018-09-19 Thread Patchwork
== Series Details ==

Series: "coreutils: update printenv's A..." and 2 more (rev3)
Revision: 3
URL   : https://patchwork.openembedded.org/series/14095/
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 Upstream-Status is Submitted, but it is not mentioned where 
[test_upstream_status_presence_format] 
  Suggested fixInclude where 
0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch was submitted
  Current  Upstream-Status: Submitted 
https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html
  Standard format  Upstream-Status: Submitted [where]



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] [PATCHv4] glibc: fix build with -O

2018-09-19 Thread Martin Jansa
* tested for qemuarm, qemux86 with -O, -O0, -Os, with gcc
* to build with -O0 I had to remove restriction from systemtap first

Signed-off-by: Martin Jansa 
---
 meta/recipes-core/glibc/glibc.inc | 12 ---
 ...4-prevent-maybe-uninitialized-errors.patch | 95 +++
 ...2-soft-fp-ignore-maybe-uninitialized.patch | 72 ++
 meta/recipes-core/glibc/glibc_2.28.bb |  2 +
 4 files changed, 169 insertions(+), 12 deletions(-)
 create mode 100644 
meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 create mode 100644 
meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch

diff --git a/meta/recipes-core/glibc/glibc.inc 
b/meta/recipes-core/glibc/glibc.inc
index 91491a35f0..e673707369 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -6,18 +6,6 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
 STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 
-python () {
-opt_effective = "-O"
-for opt in d.getVar('SELECTED_OPTIMIZATION').split():
-if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
-opt_effective = opt
-if opt_effective == "-O0":
-bb.fatal("%s can't be built with %s, try -O1 instead" % 
(d.getVar('PN'), opt_effective))
-if opt_effective in ("-O", "-O1", "-Os"):
-bb.note("%s doesn't build cleanly with %s, adding -Wno-error to 
SELECTED_OPTIMIZATION" % (d.getVar('PN'), opt_effective))
-d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
-}
-
 # siteconfig.bbclass runs configure which needs a working compiler
 # For the compiler to work we need a working libc yet libc isn't
 # in the sysroots directory at this point. This means the libc.so
diff --git 
a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
new file mode 100644
index 00..b02c4ec94f
--- /dev/null
+++ 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
@@ -0,0 +1,95 @@
+From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
+From: Martin Jansa 
+Date: Fri, 14 Sep 2018 23:23:03 +
+Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
+
+* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
+  is used, nativesdk-glibc fails with:
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+
+* work around the issue instead of removing -O like we do with
+  SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted 
[https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html]
+
+Signed-off-by: Martin Jansa 
+---
+ sysdeps/ieee754/dbl-64/e_jn.c| 2 ++
+ sysdeps/ieee754/ldbl-128/e_jnl.c | 4 
+ sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 
+ 3 files changed, 10 insertions(+)
+
+diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
+index 9181b22bb8..74a6b5f149 100644
+--- a/sysdeps/ieee754/dbl-64/e_jn.c
 b/sysdeps/ieee754/dbl-64/e_jn.c
+@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
+ case 1: temp = -c + s; break;
+ case 2: temp = -c - s; break;
+ case 3: temp = c - s; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+ }
+@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
+ case 1: temp = -s - c; break;
+ case 2: temp = -s + c; break;
+ case 3: temp = s + c; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+   }
+diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c 
b/sysdeps/ieee754/ldbl-128/e_jnl.c
+index 7739eec291..b6a1275464 100644
+--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
 b/sysdeps/ieee754/ldbl-128/e_jnl.c
+@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
+ case 3:
+   temp = c - s;
+   break;
++default:
++  temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrtl (x);
+ }
+@@ -385,6 +387,8 @@ __ieee754_ynl (int n, 

[OE-core] [PATCHv3] glibc: fix build with -O

2018-09-19 Thread Martin Jansa
* tested for qemuarm, qemux86 with -O, -O0, -Os, with gcc
* to build with -O0 I had to remove restriction from systemtap first

Signed-off-by: Martin Jansa 
---
 meta/recipes-core/glibc/glibc.inc | 12 ---
 ...4-prevent-maybe-uninitialized-errors.patch | 95 +++
 ...2-soft-fp-ignore-maybe-uninitialized.patch | 72 ++
 meta/recipes-core/glibc/glibc_2.28.bb |  2 +
 4 files changed, 169 insertions(+), 12 deletions(-)
 create mode 100644 
meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 create mode 100644 
meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch

diff --git a/meta/recipes-core/glibc/glibc.inc 
b/meta/recipes-core/glibc/glibc.inc
index 91491a35f0..e673707369 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -6,18 +6,6 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
 STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 
-python () {
-opt_effective = "-O"
-for opt in d.getVar('SELECTED_OPTIMIZATION').split():
-if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
-opt_effective = opt
-if opt_effective == "-O0":
-bb.fatal("%s can't be built with %s, try -O1 instead" % 
(d.getVar('PN'), opt_effective))
-if opt_effective in ("-O", "-O1", "-Os"):
-bb.note("%s doesn't build cleanly with %s, adding -Wno-error to 
SELECTED_OPTIMIZATION" % (d.getVar('PN'), opt_effective))
-d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
-}
-
 # siteconfig.bbclass runs configure which needs a working compiler
 # For the compiler to work we need a working libc yet libc isn't
 # in the sysroots directory at this point. This means the libc.so
diff --git 
a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
new file mode 100644
index 00..f1c5727b6f
--- /dev/null
+++ 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
@@ -0,0 +1,95 @@
+From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
+From: Martin Jansa 
+Date: Fri, 14 Sep 2018 23:23:03 +
+Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
+
+* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
+  is used, nativesdk-glibc fails with:
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+
+* work around the issue instead of removing -O like we do with
+  SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted 
https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html
+
+Signed-off-by: Martin Jansa 
+---
+ sysdeps/ieee754/dbl-64/e_jn.c| 2 ++
+ sysdeps/ieee754/ldbl-128/e_jnl.c | 4 
+ sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 
+ 3 files changed, 10 insertions(+)
+
+diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
+index 9181b22bb8..74a6b5f149 100644
+--- a/sysdeps/ieee754/dbl-64/e_jn.c
 b/sysdeps/ieee754/dbl-64/e_jn.c
+@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
+ case 1: temp = -c + s; break;
+ case 2: temp = -c - s; break;
+ case 3: temp = c - s; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+ }
+@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
+ case 1: temp = -s - c; break;
+ case 2: temp = -s + c; break;
+ case 3: temp = s + c; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+   }
+diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c 
b/sysdeps/ieee754/ldbl-128/e_jnl.c
+index 7739eec291..b6a1275464 100644
+--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
 b/sysdeps/ieee754/ldbl-128/e_jnl.c
+@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
+ case 3:
+   temp = c - s;
+   break;
++default:
++  temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrtl (x);
+ }
+@@ -385,6 +387,8 @@ __ieee754_ynl (int n, 

Re: [OE-core] [PATCH] connman: update to 1.36

2018-09-19 Thread Alexander Kanavin
I am sorry, but they were not upstreamed. Your commit does not remove
the content of those two patches, it just squashes them all together
in one patch with the third one, losing the two commit messages in the
process:

- configure.ac   | 1 +
- gdhcp/client.c | 1 -
- plugins/tist.c | 1 -
- src/backtrace.c| 1 -
- src/inet.c | 1 -
- src/log.c  | 1 -
- src/ntp.c  | 1 -
- src/resolver.c | 1 -
- src/rfkill.c   | 1 -
- src/stats.c| 1 -
- src/timezone.c | 1 -
- tools/stats-tool.c | 1 -
- tools/tap-test.c   | 1 -
- tools/wispr.c  | 1 -
- vpn/plugins/vpn.c  | 1 -
- 15 files changed, 1 insertion(+), 14 deletions(-)
+ configure.ac | 3 +++
+ gdhcp/client.c   | 1 -
+ gdhcp/common.h   | 5 +++--
+ gweb/gresolv.c   | 2 ++
+ plugins/tist.c   | 1 -
+ plugins/wifi.c   | 3 +--
+ src/backtrace.c  | 1 -
+ src/inet.c   | 1 -
+ src/ippool.c | 1 -
+ src/iptables.c   | 2 +-
+ src/log.c| 1 -
+ src/ntp.c| 1 -
+ src/resolver.c   | 1 -
+ src/rfkill.c | 1 -
+ src/stats.c  | 1 -
+ src/tethering.c  | 2 --
+ src/timezone.c   | 1 -
+ tools/dhcp-test.c| 1 -
+ tools/dnsproxy-test.c| 1 +
+ tools/private-network-test.c | 2 +-
+ tools/stats-tool.c   | 1 -
+ tools/tap-test.c | 3 +--
+ tools/wispr.c| 1 -
+ vpn/plugins/vpn.c| 1 -
+ 24 files changed, 13 insertions(+), 25 deletions(-)

Alex

2018-09-19 12:27 GMT+02:00 Oleksandr Kravchuk
:
> Those two patches were mainstreamed, which will be described in the new
> commit message as was requested.
>
> On Wed, Sep 19, 2018 at 9:49 AM, Alexander Kanavin 
> wrote:
>>
>> Well, no. The patch file contains three different patches, all fixing
>> different things, and this information about the second and third one
>> for instance has vanished:
>>
>> -From b8b7878e6cb2a1ed4fcfa256f7e232511a40e3d9 Mon Sep 17 00:00:00 2001
>> -From: Ross Burton 
>> -Date: Tue, 9 Aug 2016 15:37:50 +0100
>> -Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly
>> -
>> -Instead of assuming that just glibc has this structure, check for it at
>> -configure as musl also has it.
>> -
>> -Based on work by Khem Raj .
>>
>>
>> -From c0726e432fa0274a2b9c70179b03df6720972816 Mon Sep 17 00:00:00 2001
>> -From: Ross Burton 
>> -Date: Tue, 9 Aug 2016 15:19:23 +0100
>> -Subject: [PATCH 3/3] Rationalise includes
>> -
>> -gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h
>> and
>> -ctype.h.
>> -
>> -tools/dnsproxy-test uses functions from stdio.h.
>> -
>> -musl warns when sys/ headers are included when the non-sys form should be
>> used,
>> -so switch sys/errno.h and so on to errno.h.
>> -
>> -musl also causes redefinition errors when pieces of the networking
>> headers are
>> -included, so remove the redundant includes.
>> -
>> -Based on work by Khem Raj .
>>
>> Alex
>>
>>
>>
>> 2018-09-19 0:24 GMT+02:00 Oleksandr Kravchuk
>> :
>> > Sorry for the delay. This patch hasn't really been changed much: it was
>> > simply rebased, renamed and converted into git format. Would it be
>> > enough to keep it the way it is and describe the changes in the commit
>> > message?
>> >
>> > On 13/09/2018 23:38, Alexander Kanavin wrote:
>> >> This one:
>> >> rename meta/recipes-connectivity/connman/connman/{includes.patch =>
>> >> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} (68%)
>> >>
>> >> I think you should make two commits: one that splits this patch in
>> >> three, and another which actually does the version update.
>> >>
>> >> Alex
>> >>
>> >> 2018-09-13 23:08 GMT+02:00 Oleksandr Kravchuk
>> >> :
>> >>> Sure, will do.
>> >>>
>> > Also, one patch is changed in a way that makes it lose significant
>> > amount
>> > of information (it's an amalgamation of three patches)
>> >>> Could you please clarify which one do you mean? Thank you.
>> >>>
>> >>>
>> >>> On 9/13/18 9:46 PM, Alexander Kanavin wrote:
>>  Please explain the changes to patches (not as a reply to me, but in
>>  the commit message itself).
>>  If they are deleted because upstream already has them, it should be
>>  mentioned explicitly.
>> 
>>  Also, one patch is changed in a way that makes it lose significant
>>  amount of information
>>  (it's an amalgamation of three patches). Perhaps we should just split
>>  it in three?
>> 
>>  Alex
>> 
>>  2018-09-13 21:04 GMT+02:00 Oleksandr Kravchuk
>>  :
>> > Signed-off-by: Oleksandr Kravchuk 
>> > ---
>> >   meta/recipes-connectivity/connman/connman.inc |   2 +-
>> >   ...> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} | 446
>> > --
>> >   ...tls-Fix-a-crash-using-wispr-over-TLS.patch |  41 --
>> >   ...refixlen-to-iproute_default_function.patch |  63 ---

Re: [OE-core] [PATCH 2/3] python: respect package order in manifest

2018-09-19 Thread Burton, Ross
Close, but:

ERROR: python-2.7.15-r1 do_package_qa: QA Issue: non -staticdev
package contains static .a library: python-distutils path
'/work/corei7-64-poky-linux/python/2.7.15-r1/packages-split/python-distutils/usr/lib/python2.7/config/libpython2.7.a'
[staticdev]

Ross
On Fri, 14 Sep 2018 at 22:33, Andrew Geissler  wrote:
>
> Don't sort the manifest when using it to generate packaging rules, so
> ordering can be used to have complex packaging rules.
>
> This is a backport of the same changes done by Ross Burton for python3
>
> Signed-off-by: Andrew Geissler 
> ---
>  meta/recipes-devtools/python/python_2.7.15.bb | 6 ++
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/python/python_2.7.15.bb 
> b/meta/recipes-devtools/python/python_2.7.15.bb
> index 43d9ff5..472c1da 100644
> --- a/meta/recipes-devtools/python/python_2.7.15.bb
> +++ b/meta/recipes-devtools/python/python_2.7.15.bb
> @@ -207,7 +207,7 @@ RPROVIDES_${PN} += "${PN}-modules"
>  INCLUDE_PYCS ?= "1"
>
>  python(){
> -import json
> +import collections, json
>
>  filename = os.path.join(d.getVar('THISDIR'), 'python', 
> 'python2-manifest.json')
>  # This python changes the datastore based on the contents of a file, so 
> mark
> @@ -215,7 +215,7 @@ python(){
>  bb.parse.mark_dependency(d, filename)
>
>  with open(filename) as manifest_file:
> -python_manifest=json.load(manifest_file)
> +python_manifest=json.load(manifest_file, 
> object_pairs_hook=collections.OrderedDict)
>
>  include_pycs = d.getVar('INCLUDE_PYCS')
>
> @@ -248,8 +248,6 @@ python(){
>  d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
>  d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
>
> -# We need to ensure staticdev packages match for files first so we sort 
> in reverse
> -newpackages.sort(reverse=True)
>  # Prepending so to avoid python-misc getting everything
>  packages = newpackages + packages
>  d.setVar('PACKAGES', ' '.join(packages))
> --
> 2.7.4
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] ✗ patchtest: failure for "coreutils: update printenv's A..." and 2 more (rev2)

2018-09-19 Thread Patchwork
== Series Details ==

Series: "coreutils: update printenv's A..." and 2 more (rev2)
Revision: 2
URL   : https://patchwork.openembedded.org/series/14095/
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 Upstream-Status is Submitted, but it is not mentioned where 
[test_upstream_status_presence_format] 
  Suggested fixInclude where 
0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch was submitted
  Current  Upstream-Status: Submitted 
https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html
  Standard format  Upstream-Status: Submitted [where]



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


Re: [OE-core] [PATCH] connman: update to 1.36

2018-09-19 Thread Oleksandr Kravchuk
Those two patches were mainstreamed, which will be described in the new
commit message as was requested.

On Wed, Sep 19, 2018 at 9:49 AM, Alexander Kanavin 
wrote:

> Well, no. The patch file contains three different patches, all fixing
> different things, and this information about the second and third one
> for instance has vanished:
>
> -From b8b7878e6cb2a1ed4fcfa256f7e232511a40e3d9 Mon Sep 17 00:00:00 2001
> -From: Ross Burton 
> -Date: Tue, 9 Aug 2016 15:37:50 +0100
> -Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly
> -
> -Instead of assuming that just glibc has this structure, check for it at
> -configure as musl also has it.
> -
> -Based on work by Khem Raj .
>
>
> -From c0726e432fa0274a2b9c70179b03df6720972816 Mon Sep 17 00:00:00 2001
> -From: Ross Burton 
> -Date: Tue, 9 Aug 2016 15:19:23 +0100
> -Subject: [PATCH 3/3] Rationalise includes
> -
> -gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h
> and
> -ctype.h.
> -
> -tools/dnsproxy-test uses functions from stdio.h.
> -
> -musl warns when sys/ headers are included when the non-sys form should be
> used,
> -so switch sys/errno.h and so on to errno.h.
> -
> -musl also causes redefinition errors when pieces of the networking
> headers are
> -included, so remove the redundant includes.
> -
> -Based on work by Khem Raj .
>
> Alex
>
>
>
> 2018-09-19 0:24 GMT+02:00 Oleksandr Kravchuk
> :
> > Sorry for the delay. This patch hasn't really been changed much: it was
> > simply rebased, renamed and converted into git format. Would it be
> > enough to keep it the way it is and describe the changes in the commit
> > message?
> >
> > On 13/09/2018 23:38, Alexander Kanavin wrote:
> >> This one:
> >> rename meta/recipes-connectivity/connman/connman/{includes.patch =>
> >> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} (68%)
> >>
> >> I think you should make two commits: one that splits this patch in
> >> three, and another which actually does the version update.
> >>
> >> Alex
> >>
> >> 2018-09-13 23:08 GMT+02:00 Oleksandr Kravchuk
> >> :
> >>> Sure, will do.
> >>>
> > Also, one patch is changed in a way that makes it lose significant
> amount
> > of information (it's an amalgamation of three patches)
> >>> Could you please clarify which one do you mean? Thank you.
> >>>
> >>>
> >>> On 9/13/18 9:46 PM, Alexander Kanavin wrote:
>  Please explain the changes to patches (not as a reply to me, but in
>  the commit message itself).
>  If they are deleted because upstream already has them, it should be
>  mentioned explicitly.
> 
>  Also, one patch is changed in a way that makes it lose significant
>  amount of information
>  (it's an amalgamation of three patches). Perhaps we should just split
>  it in three?
> 
>  Alex
> 
>  2018-09-13 21:04 GMT+02:00 Oleksandr Kravchuk
>  :
> > Signed-off-by: Oleksandr Kravchuk 
> > ---
> >   meta/recipes-connectivity/connman/connman.inc |   2 +-
> >   ...> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} | 446
> --
> >   ...tls-Fix-a-crash-using-wispr-over-TLS.patch |  41 --
> >   ...refixlen-to-iproute_default_function.patch |  63 ---
> >   ...eep-track-of-addr-in-fw_snat-session.patch | 112 -
> >   ...ubnet-route-creation-deletion-in-ipr.patch |  69 ---
> >   ...PIs-for-creating-and-deleting-subnet.patch |  68 ---
> >   ...net-route-creation-and-deletion-APIs.patch |  77 ---
> >   .../connman/connman_1.35.bb   |  22 -
> >   .../connman/connman_1.36.bb   |  17 +
> >   10 files changed, 212 insertions(+), 705 deletions(-)
> >   rename meta/recipes-connectivity/connman/connman/{includes.patch
> =>
> > 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} (68%)
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0001-
> giognutls-Fix-a-crash-using-wispr-over-TLS.patch
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0001-inet-Add-
> prefixlen-to-iproute_default_function.patch
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0001-session-
> Keep-track-of-addr-in-fw_snat-session.patch
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0002-inet-
> Implement-subnet-route-creation-deletion-in-ipr.patch
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0003-inet-
> Implement-APIs-for-creating-and-deleting-subnet.patch
> >   delete mode 100644
> > meta/recipes-connectivity/connman/connman/0004-session-
> Use-subnet-route-creation-and-deletion-APIs.patch
> >   delete mode 100644 meta/recipes-connectivity/connman/
> connman_1.35.bb
> >   create mode 100644 meta/recipes-connectivity/connman/
> connman_1.36.bb
> >
> > diff --git a/meta/recipes-connectivity/connman/connman.inc
> > b/meta/recipes-connectivity/connman/connman.inc
> > index 2b03f9cb06..0ba375137d 100644
> > --- 

[OE-core] [PATCHv2] glibc: fix build with -O

2018-09-19 Thread Martin Jansa
* tested for qemuarm, qemux86 with -O, -O0, -Os, with gcc
* to build with -O0 I had to remove restriction from systemtap first

Signed-off-by: Martin Jansa 
---
 meta/recipes-core/glibc/glibc.inc | 12 ---
 ...4-prevent-maybe-uninitialized-errors.patch | 95 +++
 ...2-soft-fp-ignore-maybe-uninitialized.patch | 72 ++
 meta/recipes-core/glibc/glibc_2.28.bb |  2 +
 4 files changed, 169 insertions(+), 12 deletions(-)
 create mode 100644 
meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 create mode 100644 
meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch

diff --git a/meta/recipes-core/glibc/glibc.inc 
b/meta/recipes-core/glibc/glibc.inc
index 91491a35f0..e673707369 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -6,18 +6,6 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
 STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
 PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
 
-python () {
-opt_effective = "-O"
-for opt in d.getVar('SELECTED_OPTIMIZATION').split():
-if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
-opt_effective = opt
-if opt_effective == "-O0":
-bb.fatal("%s can't be built with %s, try -O1 instead" % 
(d.getVar('PN'), opt_effective))
-if opt_effective in ("-O", "-O1", "-Os"):
-bb.note("%s doesn't build cleanly with %s, adding -Wno-error to 
SELECTED_OPTIMIZATION" % (d.getVar('PN'), opt_effective))
-d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
-}
-
 # siteconfig.bbclass runs configure which needs a working compiler
 # For the compiler to work we need a working libc yet libc isn't
 # in the sysroots directory at this point. This means the libc.so
diff --git 
a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
new file mode 100644
index 00..f1c5727b6f
--- /dev/null
+++ 
b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
@@ -0,0 +1,95 @@
+From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
+From: Martin Jansa 
+Date: Fri, 14 Sep 2018 23:23:03 +
+Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
+
+* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
+  is used, nativesdk-glibc fails with:
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
+../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+  b = invsqrtpi * temp / sqrtl (x);
+  ~~^~
+
+* work around the issue instead of removing -O like we do with
+  SELECTED_OPTIMIZATION
+
+Upstream-Status: Submitted 
https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html
+
+Signed-off-by: Martin Jansa 
+---
+ sysdeps/ieee754/dbl-64/e_jn.c| 2 ++
+ sysdeps/ieee754/ldbl-128/e_jnl.c | 4 
+ sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 
+ 3 files changed, 10 insertions(+)
+
+diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
+index 9181b22bb8..74a6b5f149 100644
+--- a/sysdeps/ieee754/dbl-64/e_jn.c
 b/sysdeps/ieee754/dbl-64/e_jn.c
+@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
+ case 1: temp = -c + s; break;
+ case 2: temp = -c - s; break;
+ case 3: temp = c - s; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+ }
+@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
+ case 1: temp = -s - c; break;
+ case 2: temp = -s + c; break;
+ case 3: temp = s + c; break;
++default: temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrt (x);
+   }
+diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c 
b/sysdeps/ieee754/ldbl-128/e_jnl.c
+index 7739eec291..b6a1275464 100644
+--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
 b/sysdeps/ieee754/ldbl-128/e_jnl.c
+@@ -149,6 +149,8 @@ __ieee754_jnl (int n, _Float128 x)
+ case 3:
+   temp = c - s;
+   break;
++default:
++  temp = 0; // just to prevent error: 'temp' may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
+ }
+   b = invsqrtpi * temp / sqrtl (x);
+ }
+@@ -385,6 +387,8 @@ __ieee754_ynl (int n, 

Re: [OE-core] [PATCH 3/3] glibc: fix build with -O

2018-09-19 Thread Martin Jansa
I've submitted them now:

https://www.sourceware.org/ml/libc-alpha/2018-09/msg00299.html
https://www.sourceware.org/ml/libc-alpha/2018-09/msg00300.html

I didn't update the Upstream-Status, because it would cause whole world to
rebuild again.

On Wed, Sep 19, 2018 at 6:13 AM Khem Raj  wrote:

> please submit upstream as well
> On Sun, Sep 16, 2018 at 10:49 PM Martin Jansa 
> wrote:
> >
> > * tested for qemuarm, qemux86 with -O, -O0, -Os, with gcc
> > * to build with -O0 I had to remove restriction from systemtap first
> >
> > Signed-off-by: Martin Jansa 
> > ---
> >  meta/recipes-core/glibc/glibc.inc | 12 ---
> >  ...4-prevent-maybe-uninitialized-errors.patch | 95 +++
> >  ...2-soft-fp-ignore-maybe-uninitialized.patch | 72 ++
> >  meta/recipes-core/glibc/glibc_2.28.bb |  2 +
> >  4 files changed, 169 insertions(+), 12 deletions(-)
> >  create mode 100644
> meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> >  create mode 100644
> meta/recipes-core/glibc/glibc/0032-soft-fp-ignore-maybe-uninitialized.patch
> >
> > diff --git a/meta/recipes-core/glibc/glibc.inc
> b/meta/recipes-core/glibc/glibc.inc
> > index 91491a35f0..e673707369 100644
> > --- a/meta/recipes-core/glibc/glibc.inc
> > +++ b/meta/recipes-core/glibc/glibc.inc
> > @@ -6,18 +6,6 @@ STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}"
> >  STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}"
> >  PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
> >
> > -python () {
> > -opt_effective = "-O"
> > -for opt in d.getVar('SELECTED_OPTIMIZATION').split():
> > -if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"):
> > -opt_effective = opt
> > -if opt_effective == "-O0":
> > -bb.fatal("%s can't be built with %s, try -O1 instead" %
> (d.getVar('PN'), opt_effective))
> > -if opt_effective in ("-O", "-O1", "-Os"):
> > -bb.note("%s doesn't build cleanly with %s, adding -Wno-error to
> SELECTED_OPTIMIZATION" % (d.getVar('PN'), opt_effective))
> > -d.appendVar("SELECTED_OPTIMIZATION", " -Wno-error")
> > -}
> > -
> >  # siteconfig.bbclass runs configure which needs a working compiler
> >  # For the compiler to work we need a working libc yet libc isn't
> >  # in the sysroots directory at this point. This means the libc.so
> > diff --git
> a/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> > new file mode 100644
> > index 00..d9d36b8244
> > --- /dev/null
> > +++
> b/meta/recipes-core/glibc/glibc/0031-sysdeps-ieee754-prevent-maybe-uninitialized-errors.patch
> > @@ -0,0 +1,95 @@
> > +From c6cc5a6ef46837e341fe271b5ffa6def23810082 Mon Sep 17 00:00:00 2001
> > +From: Martin Jansa 
> > +Date: Fri, 14 Sep 2018 23:23:03 +
> > +Subject: [PATCH] sysdeps/ieee754: prevent maybe-uninitialized errors
> > +
> > +* with -O included in BUILD_OPTIMIZATION when DEBUG_BUILD
> > +  is used, nativesdk-glibc fails with:
> > +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_jnl':
> > +../sysdeps/ieee754/ldbl-96/e_jnl.c:146:20: error: 'temp' may be used
> uninitialized in this function [-Werror=maybe-uninitialized]
> > +  b = invsqrtpi * temp / sqrtl (x);
> > +  ~~^~
> > +../sysdeps/ieee754/ldbl-96/e_jnl.c: In function '__ieee754_ynl':
> > +../sysdeps/ieee754/ldbl-96/e_jnl.c:375:16: error: 'temp' may be used
> uninitialized in this function [-Werror=maybe-uninitialized]
> > +  b = invsqrtpi * temp / sqrtl (x);
> > +  ~~^~
> > +
> > +* work around the issue instead of removing -O like we do with
> > +  SELECTED_OPTIMIZATION
> > +
> > +Upstream-Status: Pending
> > +
> > +Signed-off-by: Martin Jansa 
> > +---
> > + sysdeps/ieee754/dbl-64/e_jn.c| 2 ++
> > + sysdeps/ieee754/ldbl-128/e_jnl.c | 4 
> > + sysdeps/ieee754/ldbl-96/e_jnl.c  | 4 
> > + 3 files changed, 10 insertions(+)
> > +
> > +diff --git a/sysdeps/ieee754/dbl-64/e_jn.c
> b/sysdeps/ieee754/dbl-64/e_jn.c
> > +index 9181b22bb8..74a6b5f149 100644
> > +--- a/sysdeps/ieee754/dbl-64/e_jn.c
> >  b/sysdeps/ieee754/dbl-64/e_jn.c
> > +@@ -108,6 +108,7 @@ __ieee754_jn (int n, double x)
> > + case 1: temp = -c + s; break;
> > + case 2: temp = -c - s; break;
> > + case 3: temp = c - s; break;
> > ++default: temp = 0; // just to prevent error: 'temp' may be
> used uninitialized in this function [-Werror=maybe-uninitialized]
> > + }
> > +   b = invsqrtpi * temp / sqrt (x);
> > + }
> > +@@ -315,6 +316,7 @@ __ieee754_yn (int n, double x)
> > + case 1: temp = -s - c; break;
> > + case 2: temp = -s + c; break;
> > + case 3: temp = s + c; break;
> > ++default: temp = 0; // just to prevent error: 'temp' may be
> used uninitialized in this function 

Re: [OE-core] [PATCH] dbus-test: fix ptest failed problem when multilib is enabled

2018-09-19 Thread Burton, Ross
Surely a better/safer replacement would be to change run-ptest to:

-export LD_LIBRARY_PATH=/usr/lib/dbus-test/ptest/test/.libs
+export LD_LIBRARY_PATH=@PTEST_PATH%/test/.libs

And then substitute that.  Replacing in baselib doesn't help if the
distro changes PTEST_PATH.

Ross
On Wed, 19 Sep 2018 at 09:30,  wrote:
>
> From: Changqing Li 
>
> Fix some failed info like:
> | ./test/test-bus: relocation error: ./test/test-bus: symbol
> | _dbus_threads_init_debug, version LIBDBUS_PRIVATE_1.10.10 not defined
> | in file libdbus-1.so.3 with link time reference
> | FAIL: test/test-bus
>
> In run-ptest, LD_LIBRARY_PATH is set to /usr/lib, but when multilib
> is enabled, /usr/lib64 will be used. fix by replace with correct path.
>
> Signed-off-by: Changqing Li 
> ---
>  meta/recipes-core/dbus/dbus-test_1.12.10.bb | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-core/dbus/dbus-test_1.12.10.bb 
> b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
> index e3ee608..a438627 100644
> --- a/meta/recipes-core/dbus/dbus-test_1.12.10.bb
> +++ b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
> @@ -75,6 +75,8 @@ do_install_ptest() {
> sed -i \
>  -e 's:${B}:${PTEST_PATH}:g' \
>  {} +
> +#correct LD_LIBRARY_PATH for run-ptest according current baselib
> +sed -i -e 's;/lib/;/${baselib}/;g'  ${D}${PTEST_PATH}/run-ptest
>  }
>
>  RDEPENDS_${PN}-ptest += "bash"
> --
> 2.7.4
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 0/3 v5] udev-extraconf/mount.sh: add systemd-mount command for systemd

2018-09-19 Thread Hongzhi, Song

Sorry for ping.

The patch has been merged.

--Hongzhi


On 09/19/2018 05:37 PM, Hongzhi, Song wrote:

ping..

--Hongzhi


On 09/16/2018 01:45 PM, Hongzhi.Song wrote:

v5:
 perfect a few codes based on v4
v4:
 fix the recursively dependency for the systemd-mount
v3:
 perfect syntax

Hongzhi.Song (3):
   udev-extraconf/mount.sh: add support to systemd
   udev-extraconf/mount.sh: Fix the recursively dependency for the
 systemd-mount
   udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using the
 systemd-moun

  meta/recipes-core/udev/udev-extraconf/mount.sh | 92 
+-

  1 file changed, 74 insertions(+), 18 deletions(-)





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


Re: [OE-core] [PATCH 0/3 v5] udev-extraconf/mount.sh: add systemd-mount command for systemd

2018-09-19 Thread Hongzhi, Song

ping..

--Hongzhi


On 09/16/2018 01:45 PM, Hongzhi.Song wrote:

v5:
 perfect a few codes based on v4
v4:
 fix the recursively dependency for the systemd-mount
v3:
 perfect syntax

Hongzhi.Song (3):
   udev-extraconf/mount.sh: add support to systemd
   udev-extraconf/mount.sh: Fix the recursively dependency for the
 systemd-mount
   udev-extraconf/mount.sh: Skip the entry in /etc/fstab when using the
 systemd-moun

  meta/recipes-core/udev/udev-extraconf/mount.sh | 92 +-
  1 file changed, 74 insertions(+), 18 deletions(-)



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


[OE-core] [PATCH v4] distutils{, 3}.bbclass: improve error messages

2018-09-19 Thread Jens Rehsack
For non-python developers it's difficult to identify where start
searching in case of errors. Fixing and marking the string to
grep for might help finding some root causes of issues slightly
quicker.

Signed-off-by: Jens Rehsack 
---
 meta/classes/distutils.bbclass  | 8 
 meta/classes/distutils3.bbclass | 8 
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
index e7d48ab907..9862731493 100644
--- a/meta/classes/distutils.bbclass
+++ b/meta/classes/distutils.bbclass
@@ -21,13 +21,13 @@ distutils_do_compile() {
  STAGING_INCDIR=${STAGING_INCDIR} \
  STAGING_LIBDIR=${STAGING_LIBDIR} \
  ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
build ${DISTUTILS_BUILD_ARGS} || \
- bbfatal_log "${PYTHON_PN} setup.py build execution failed."
+ bbfatal_log "'${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS}' 
execution failed."
 }
 
 distutils_stage_headers() {
 install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install_headers execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install_headers 
${DISTUTILS_STAGE_HEADERS_ARGS}' execution for stage_headers failed."
 }
 
 distutils_stage_all() {
@@ -36,7 +36,7 @@ distutils_stage_all() {
 install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
 PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install ${DISTUTILS_STAGE_ALL_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install (stage) execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install 
${DISTUTILS_STAGE_ALL_ARGS}' execution for stage_all failed."
 }
 
 distutils_do_install() {
@@ -45,7 +45,7 @@ distutils_do_install() {
 STAGING_LIBDIR=${STAGING_LIBDIR} \
 PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install ${DISTUTILS_INSTALL_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS}' 
execution failed."
 
 # support filenames with *spaces*
 # only modify file if it contains path  and recompile it
diff --git a/meta/classes/distutils3.bbclass b/meta/classes/distutils3.bbclass
index 1d0c54a513..834e322474 100644
--- a/meta/classes/distutils3.bbclass
+++ b/meta/classes/distutils3.bbclass
@@ -23,14 +23,14 @@ distutils3_do_compile() {
 STAGING_LIBDIR=${STAGING_LIBDIR} \
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
 build ${DISTUTILS_BUILD_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py build_ext execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS}' 
execution failed."
 }
 distutils3_do_compile[vardepsexclude] = "MACHINE"
 
 distutils3_stage_headers() {
 install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install_headers execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install_headers 
${DISTUTILS_STAGE_HEADERS_ARGS}' execution for stage_headers failed."
 }
 distutils3_stage_headers[vardepsexclude] = "MACHINE"
 
@@ -40,7 +40,7 @@ distutils3_stage_all() {
 install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
 PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install ${DISTUTILS_STAGE_ALL_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install (stage) execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install 
${DISTUTILS_STAGE_ALL_ARGS}' execution for stage_all failed."
 }
 distutils3_stage_all[vardepsexclude] = "MACHINE"
 
@@ -50,7 +50,7 @@ distutils3_do_install() {
 STAGING_LIBDIR=${STAGING_LIBDIR} \
 PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
 ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py 
install ${DISTUTILS_INSTALL_ARGS} || \
-bbfatal_log "${PYTHON_PN} setup.py install execution failed."
+bbfatal_log "'${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS}' 
execution failed."
 
 # support filenames with *spaces*
 find ${D} -name "*.py" -exec grep -q ${D} {} \; -exec sed -i -e 
s:${D}::g {} \;
-- 
2.17.1

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


[OE-core] [PATCH v4] python3{,-native}: update to 3.7.0

2018-09-19 Thread Jens Rehsack
Update python3 to recent 3.7.0 release.

Details about new features and bug-fixes can be taken from
* https://docs.python.org/3/whatsnew/3.7.html
* https://docs.python.org/3/whatsnew/3.6.html

Remove patches when they were fixed upstream and rebase the
remaining ones. If necessary, the patches are adopted to
keep the idea when upstream code was changed. Also remove
backports from 3.6 and 3.7 into 3.5.6 codebase for TLS
and multiprocessing.

Open TODO: track patches in a -STABLE rebased git branch for
easier rebasing or upstream submitting.

Enhancement requests for Yocto project
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375
* https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901
are solved by this.

Signed-off-by: Jens Rehsack 
---
 meta/classes/python3-dir.bbclass  |   6 +-
 .../python/python3-native_3.5.6.bb| 100 --
 .../python/python3-native_3.7.0.bb|  73 
 meta/recipes-devtools/python/python3.inc  |  65 +++-
 ...hell-version-of-python-config-that-w.patch |  21 +-
 ..._sysconfigdata.py-to-initialize-dist.patch |  66 
 ...ontext-has-improved-default-settings.patch | 272 ---
 ...d-target-to-split-profile-generation.patch |  40 ---
 ...S-1.3-cipher-suites-and-OP_NO_TLSv1_.patch | 227 
 ...for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch | 173 -
 3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch | 110 --
 ...ALPN-changes-for-OpenSSL-1.1.0f-2305.patch |  68 
 .../python3/03-fix-tkinter-detection.patch|  12 +-
 .../python3/030-fixup-include-dirs.patch  |   9 -
 .../080-distutils-dont_adjust_files.patch |   4 +-
 .../python/python3/150-fix-setupterm.patch|  17 -
 ...GS-for-extensions-when-cross-compili.patch |  53 ++-
 .../python3/avoid-ncursesw-include-path.patch |  18 +-
 .../python3/avoid_warning_about_tkinter.patch |  18 +-
 .../python3/configure.ac-fix-LIBPL.patch  |  21 +-
 .../python/python3/float-endian.patch |   9 +-
 ...ssing-libraries-to-Extension-for-mul.patch |  26 +-
 .../python/python3/python-3.3-multilib.patch  | 241 +++--
 .../python/python3/python3-manifest.json  |  35 +-
 ...CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch |  17 +-
 .../python/python3/regen-all.patch|  25 --
 .../python/python3/signal.patch   |  56 ---
 ...port_SOURCE_DATE_EPOCH_in_py_compile.patch |  36 +-
 .../python3/sysroot-include-headers.patch |  23 +-
 .../python3/uuid_when_cross_compiling.patch   |  24 ++
 meta/recipes-devtools/python/python3_3.5.6.bb | 328 --
 meta/recipes-devtools/python/python3_3.7.0.bb | 299 
 32 files changed, 722 insertions(+), 1770 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3-native_3.5.6.bb
 create mode 100644 meta/recipes-devtools/python/python3-native_3.7.0.bb
 delete mode 100644 
meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0001-Issue-28043-SSLContext-has-improved-default-settings.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0002-bpo-29136-Add-TLS-1.3-cipher-suites-and-OP_NO_TLSv1_.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0003-bpo-32947-Fixes-for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0004-bpo-33570-TLS-1.3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch
 delete mode 100644 
meta/recipes-devtools/python/python3/0005-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-2305.patch
 delete mode 100644 meta/recipes-devtools/python/python3/150-fix-setupterm.patch
 delete mode 100644 meta/recipes-devtools/python/python3/regen-all.patch
 delete mode 100644 meta/recipes-devtools/python/python3/signal.patch
 create mode 100644 
meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch
 delete mode 100644 meta/recipes-devtools/python/python3_3.5.6.bb
 create mode 100644 meta/recipes-devtools/python/python3_3.7.0.bb

diff --git a/meta/classes/python3-dir.bbclass b/meta/classes/python3-dir.bbclass
index 06bb046d9c..ad7ea8dd9a 100644
--- a/meta/classes/python3-dir.bbclass
+++ b/meta/classes/python3-dir.bbclass
@@ -1,4 +1,8 @@
-PYTHON_BASEVERSION = "3.5"
+PYTHON_BASEVERSION = "3.7"
+# [d][m][u]
+# d: py_debug
+# m: my_malloc
+# u: wide-char unicode
 PYTHON_ABI = "m"
 PYTHON_DIR = "python${PYTHON_BASEVERSION}"
 PYTHON_PN = "python3"
diff --git a/meta/recipes-devtools/python/python3-native_3.5.6.bb 
b/meta/recipes-devtools/python/python3-native_3.5.6.bb
deleted file mode 100644
index d5953cf4bb..00
--- a/meta/recipes-devtools/python/python3-native_3.5.6.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-require recipes-devtools/python/python3.inc
-
-DISTRO_SRC_URI ?= "file://sitecustomize.py"
-DISTRO_SRC_URI_linuxstdbase = ""
-SRC_URI = 

[OE-core] [PATCH] openssh: resolve install conflict with openssh-sftp-server-dev

2018-09-19 Thread Urs Fässler
Image generation fails with the configuration:
  EXTRA_IMAGE_FEATURES = "ssh-server-dropbear eclipse-debug dev-pkgs"
This is due the dependency eclipse-debug -> openssh-sftp-server ->
openssh-dev -> openssh. openssh can not be installed since it conflicts
with dropbear.

By adding the package openssh-sftp-server-dev we have no dependency to
openssh-dev nor openssh.

Signed-off-by: Urs Fässler 
Signed-off-by: Pascal Bach 
---
 meta/recipes-connectivity/openssh/openssh_7.8p1.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb 
b/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
index f4b295f2df..2782cdb2ad 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
@@ -132,7 +132,7 @@ do_install_ptest () {
 
 ALLOW_EMPTY_${PN} = "1"
 
-PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc 
${PN}-sftp-server"
+PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc 
${PN}-sftp-server ${PN}-sftp-server-dev"
 FILES_${PN}-scp = "${bindir}/scp.${BPN}"
 FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
 FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd 
${systemd_unitdir}/system"
@@ -146,6 +146,7 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen"
 RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
 RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 
'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
 RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
+RDEPENDS_${PN}-sftp-server-dev += "${PN}-sftp-server"
 
 RPROVIDES_${PN}-ssh = "ssh"
 RPROVIDES_${PN}-sshd = "sshd"
-- 
2.18.0

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


[OE-core] [PATCH 1/2] oeqa/core/runner: enable oeqa to write testresult into json file

2018-09-19 Thread Yeoh Ee Peng
To enable future QA work, we need the oeqa testresult to be written
into json files, which will be used by the future test case
management tools, where these testresult json files will be stored
into git repository for test reporting.

Also this oeqa framework will be used by the future test case
management tools to write testresult for manual test case
executed into json files.

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

diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index eeb625b..8baf5af 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -6,6 +6,8 @@ import time
 import unittest
 import logging
 import re
+import json
+import pathlib
 
 from unittest import TextTestResult as _TestResult
 from unittest import TextTestRunner as _TestRunner
@@ -44,6 +46,9 @@ class OETestResult(_TestResult):
 
 self.tc = tc
 
+self.result_types = ['failures', 'errors', 'skipped', 
'expectedFailures', 'successes']
+self.result_desc = ['FAILED', 'ERROR', 'SKIPPED', 'EXPECTEDFAIL', 
'PASSED']
+
 def startTest(self, test):
 # May have been set by concurrencytest
 if test.id() not in self.starttime:
@@ -80,7 +85,7 @@ class OETestResult(_TestResult):
 msg += " (skipped=%d)" % skipped
 self.tc.logger.info(msg)
 
-def _getDetailsNotPassed(self, case, type, desc):
+def _isTestResultContainTestCaseWithResultTypeProvided(self, case, type):
 found = False
 
 for (scase, msg) in getattr(self, type):
@@ -121,16 +126,12 @@ class OETestResult(_TestResult):
 for case_name in self.tc._registry['cases']:
 case = self.tc._registry['cases'][case_name]
 
-result_types = ['failures', 'errors', 'skipped', 
'expectedFailures', 'successes']
-result_desc = ['FAILED', 'ERROR', 'SKIPPED', 'EXPECTEDFAIL', 
'PASSED']
-
-fail = False
+found = False
 desc = None
-for idx, name in enumerate(result_types):
-(fail, msg) = self._getDetailsNotPassed(case, 
result_types[idx],
-result_desc[idx])
-if fail:
-desc = result_desc[idx]
+for idx, name in enumerate(self.result_types):
+(found, msg) = 
self._isTestResultContainTestCaseWithResultTypeProvided(case, 
self.result_types[idx])
+if found:
+desc = self.result_desc[idx]
 break
 
 oeid = -1
@@ -143,13 +144,38 @@ class OETestResult(_TestResult):
 if case.id() in self.starttime and case.id() in self.endtime:
 t = " (" + "{0:.2f}".format(self.endtime[case.id()] - 
self.starttime[case.id()]) + "s)"
 
-if fail:
+if found:
 self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
 oeid, desc, t))
 else:
 self.tc.logger.info("RESULTS - %s - Testcase %s: %s%s" % 
(case.id(),
 oeid, 'UNKNOWN', t))
 
+def _get_testcase_result_dict(self):
+testcase_result_dict = {}
+for case_name in self.tc._registry['cases']:
+case = self.tc._registry['cases'][case_name]
+
+found = False
+desc = None
+for idx, name in enumerate(self.result_types):
+(found, msg) = 
self._isTestResultContainTestCaseWithResultTypeProvided(case, 
self.result_types[idx])
+if found:
+desc = self.result_desc[idx]
+break
+
+if found:
+testcase_result_dict[case.id()] = desc
+else:
+testcase_result_dict[case.id()] = "UNKNOWN"
+return testcase_result_dict
+
+def logDetailsInJson(self, file_dir):
+testcase_result_dict = self._get_testcase_result_dict()
+if len(testcase_result_dict) > 0:
+jsontresulthelper = OEJSONTestResultHelper(testcase_result_dict)
+
jsontresulthelper.write_json_testresult_files_by_testmodule(file_dir)
+
 class OEListTestsResult(object):
 def wasSuccessful(self):
 return True
@@ -261,3 +287,75 @@ class OETestRunner(_TestRunner):
 self._list_tests_module(suite)
 
 return OEListTestsResult()
+
+class OEJSONTestResultHelper(object):
+def __init__(self, testcase_result_dict):
+self.testcase_result_dict = testcase_result_dict
+
+def get_testcase_list(self):
+return self.testcase_result_dict.keys()
+
+def get_testsuite_from_testcase(self, testcase):
+testsuite = testcase[0:testcase.rfind(".")]
+return testsuite
+
+def get_testmodule_from_testsuite(self, testsuite):
+testmodule = testsuite[0:testsuite.find(".")]
+return testmodule
+
+def 

[OE-core] [PATCH 2/2] oeqa/selftest/context: enable selftest to write json testresult

2018-09-19 Thread Yeoh Ee Peng
To enable selftest to write testresult into json files, where
these json files will be used by future test case management
tools for test reporting.

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

diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index c78947e..9ed22ff 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -73,6 +73,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 
 parser.add_argument('--machine', required=False, choices=['random', 
'all'],
 help='Run tests on different machines 
(random/all).')
+
+parser.add_argument('-ej', '--export-json', action='store_true',
+help='Output test result in json format to files.')
 
 parser.set_defaults(func=self.run)
 
@@ -99,8 +102,8 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 return cases_paths
 
 def _process_args(self, logger, args):
-args.output_log = '%s-results-%s.log' % (self.name,
-time.strftime("%Y%m%d%H%M%S"))
+args.test_start_time = time.strftime("%Y%m%d%H%M%S")
+args.output_log = '%s-results-%s.log' % (self.name, 
args.test_start_time)
 args.test_data_file = None
 args.CASES_PATHS = None
 
@@ -222,6 +225,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 rc = self.tc.runTests(**self.tc_kwargs['run'])
 rc.logDetails()
 rc.logSummary(self.name)
+if args.export_json:
+json_result_dir = 
os.path.join(os.path.dirname(os.path.abspath(args.output_log)),
+   'json_testresults-%s' % 
args.test_start_time,
+   'oe-selftest')
+rc.logDetailsInJson(json_result_dir)
 
 return rc
 
-- 
2.7.4

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


Re: [OE-core] [PATCH] test-result-log: testcase management tool to store test result

2018-09-19 Thread Yeoh, Ee Peng
Hi Richard,

To address the maintainable concern, I had restructured the codes in order to 
enable oeqa framework to write out a json file directly for testresult.  

Attached were the patches to enble oeqa framework to write testresult into json 
files, where these files will later be used by the future QA test case 
management tools (eg. store testresult, test reporting, execute manual test 
case and write testresult to json). 

This patch include enable oe-selftest to write json testresult. I had tested 
these patches on our local server where it will write out json files for 
testresult as expected.

Please let me know if you have any more feedback. Thank you very much!

Best regards,
Yeoh Ee Peng

-Original Message-
From: richard.pur...@linuxfoundation.org 
[mailto:richard.pur...@linuxfoundation.org] 
Sent: Tuesday, September 11, 2018 11:09 PM
To: Yeoh, Ee Peng ; 
openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] test-result-log: testcase management tool to 
store test result

Hi Ee Peng,

I've been having a look at this code and whilst some of it is good, I also have 
some concerns. With it coming in so late in the cycle, its made it hard to have 
time to review it and allow time to get it right.
With something as important as this to the way the future QA work is done, we 
do need to ensure we use the right approach and that its maintainable.

The patches are ok as a first attempt at this. My biggest concern is that its 
currently parsing log files which we control and generate within out own 
codebase and that parsing is likely to break. In particular, these lines worry 
me from the qalogparser:

regex = ".*RESULTS - (?P.*) - Testcase .*: 
(?PPASSED|FAILED|SKIPPED|ERROR|UNKNOWN).*$"
regex = "core-image.*().*Ran.*tests in .*s"
regex = "DEBUG: launchcmd=runqemu*
qemu_list = ['qemuarm', 'qemuarm64', 'qemumips', 'qemumips64', 'qemuppc', 
'qemux86', 'qemux86-64']

since here we're hardcoding the list of qemu's we support, we're also only 
allowing core-image-* and we're relying upon the results format not changing. 
That makes it hard for anyone to extend/reuse this or to use it with real 
hardware?

For example the recent oe-selftest parallelisation code did change the output 
of the tests slightly. I'm not sure if this broke the parsing or not but it is 
an example of the kind of fragility this code has.

What would probably work better for us is if the oeqa framework wrote out a 
json file directly containing the information we need in it, then this code 
would just need to collect up the json files.

I'm also a little concerned at the way unittest discovery is being done, 
grepping for *.py files as far as I understand it. We should probably use the 
list options to the various current test pieces? Also, this is something we 
probably only ever need to do once to seed the QA results store?

Finally, much of the code is using "internal" methods prefixed with "_". I can 
understand why but it seems the code doesn't have a good well structured public 
API as a result.

As such there may me a little too much work needed on this to get it in for 2.6 
:(

Cheers,

Richard
--- Begin Message ---
To enable selftest to write testresult into json files, where
these json files will be used by future test case management
tools for test reporting.

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

diff --git a/meta/lib/oeqa/selftest/context.py 
b/meta/lib/oeqa/selftest/context.py
index c78947e..9ed22ff 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -73,6 +73,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor):

 parser.add_argument('--machine', required=False, choices=['random', 
'all'],
 help='Run tests on different machines 
(random/all).')
+
+parser.add_argument('-ej', '--export-json', action='store_true',
+help='Output test result in json format to files.')

 parser.set_defaults(func=self.run)

@@ -99,8 +102,8 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 return cases_paths

 def _process_args(self, logger, args):
-args.output_log = '%s-results-%s.log' % (self.name,
-time.strftime("%Y%m%d%H%M%S"))
+args.test_start_time = time.strftime("%Y%m%d%H%M%S")
+args.output_log = '%s-results-%s.log' % (self.name, 
args.test_start_time)
 args.test_data_file = None
 args.CASES_PATHS = None

@@ -222,6 +225,11 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
 rc = self.tc.runTests(**self.tc_kwargs['run'])
 rc.logDetails()
 rc.logSummary(self.name)
+if args.export_json:
+json_result_dir = 
os.path.join(os.path.dirname(os.path.abspath(args.output_log)),
+   

Re: [OE-core] [PATCH v3] python3{,-native}: update to 3.7.0

2018-09-19 Thread Jens Rehsack
That has already been discussed, dnf needs an update.
Am Mi., 19. Sep. 2018 um 08:50 Uhr schrieb Alejandro Hernandez
:
>
> Hey Jens,
>
> Apart from the python3-native incomplete build which we discussed before
> and is still there, this is still breaking dnf, hence producing an error
> when executing do_rootfs for an image.
>
> The following error is shown:
>
> NOTE: ## Generate rootfs ###
> NOTE: Executing 'RSN/usr/bin/createrepo_c --update -q
> wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo' ...
> NOTE: Running RSN/usr/bin/dnf -v --rpmverbosity=debug -y -c
> wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/dnf.conf
> --setoh
> ERROR: Could not invoke dnf. Command 'RSN/usr/bin/dnf -v
> --rpmverbosity=debug -y -c
> wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs:
> Traceback (most recent call last):
>File "RSN/usr/lib/python3.7/site-packages/dnf/util.py", line 121, in
> ensure_dir
>  os.makedirs(dname, mode=0o755)
>File "RSN/usr/lib/python3.7/os.py", line 221, in makedirs
>  mkdir(name, mode)
> FileExistsError: [Errno 17] File exists:
> 'wrkdir/qemux86-poky-linux/core-image-minimal/1.0-r0/temp'
>
> Traceback (most recent call last):
>File "RSN/usr/bin/dnf.real", line 58, in 
>  main.user_main(sys.argv[1:], exit_code=True)
>File "RSN/usr/lib/python3.7/site-packages/dnf/cli/main.py", line 179,
> in user_main
>
> ...
>
> File "RSN/usr/lib/python3.7/site-packages/dnf/util.py", line 123, in
> ensure_dir
>  if e.errno != os.errno.EEXIST or not os.path.isdir(dname):
> AttributeError: module 'os' has no attribute 'errno'
>
>
> This means either the python3 build needs to be fixed (unlikely) or that
> the dnf build needs to be fixed to be compatible with python 3.7, and if
> that's the case the patch to dnf still needs to be provided (even if
> it's not part of the upgrade), since we need to ensure that we don't
> break other component's functionality in between patches.
>
> This also means that you probably haven't tested running python3.7
> inside an image, otherwise its likely you would've seen this same issue,
> while I see no reason why the python3.7 build wouldn't work at runtime,
> it still needs to be tested, the fact that a package builds successfully
> doesn't mean it will necessarily run properly.
>
> Alejandro
>
> On 9/17/2018 11:49 AM, Jens Rehsack wrote:
> > Update python3 to recent 3.7.0 release.
> >
> > Details about new features and bug-fixes can be taken from
> > * https://docs.python.org/3/whatsnew/3.7.html
> > * https://docs.python.org/3/whatsnew/3.6.html
> >
> > Remove patches when they were fixed upstream and rebase the
> > remaining ones. If necessary, the patches are adopted to
> > keep the idea when upstream code was changed. Also remove
> > backports from 3.6 and 3.7 into 3.5.6 codebase for TLS
> > and multiprocessing.
> >
> > Open TODO: track patches in a -STABLE rebased git branch for
> > easier rebasing or upstream submitting.
> >
> > Enhancement requests for Yocto project
> > * https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375
> > * https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901
> > are solved by this.
> >
> > Signed-off-by: Jens Rehsack 
> > ---
> >   meta/classes/python3-dir.bbclass  |   6 +-
> >   .../python/python3-native_3.5.6.bb| 100 --
> >   .../python/python3-native_3.7.0.bb|  73 
> >   meta/recipes-devtools/python/python3.inc  |  65 +++-
> >   ...hell-version-of-python-config-that-w.patch |  21 +-
> >   ..._sysconfigdata.py-to-initialize-dist.patch |  66 
> >   ...ontext-has-improved-default-settings.patch | 272 ---
> >   ...d-target-to-split-profile-generation.patch |  40 ---
> >   ...S-1.3-cipher-suites-and-OP_NO_TLSv1_.patch | 227 
> >   ...for-TLS-1.3-and-OpenSSL-1.1.1-GH-876.patch | 173 -
> >   3-ciphers-for-OpenSSL-1.1.1-GH-6976.patch | 110 --
> >   ...ALPN-changes-for-OpenSSL-1.1.0f-2305.patch |  68 
> >   .../python3/03-fix-tkinter-detection.patch|  12 +-
> >   .../python3/030-fixup-include-dirs.patch  |   9 -
> >   .../080-distutils-dont_adjust_files.patch |   4 +-
> >   .../python/python3/150-fix-setupterm.patch|  17 -
> >   ...GS-for-extensions-when-cross-compili.patch |  53 ++-
> >   .../python3/avoid-ncursesw-include-path.patch |  18 +-
> >   .../python3/avoid_warning_about_tkinter.patch |  18 +-
> >   .../python3/configure.ac-fix-LIBPL.patch  |  21 +-
> >   .../python/python3/float-endian.patch |   9 +-
> >   ...ssing-libraries-to-Extension-for-mul.patch |  26 +-
> >   .../python/python3/python-3.3-multilib.patch  | 241 +++--
> >   .../python/python3/python3-manifest.json  |  11 +-
> >   ...CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch |  17 +-
> >   .../python/python3/regen-all.patch|  25 --
> >   .../python/python3/signal.patch   |  56 ---
> >   ...port_SOURCE_DATE_EPOCH_in_py_compile.patch |  36 +-
> >  

[OE-core] [PATCH] openssl10: fix compile error for debian-mips64

2018-09-19 Thread changqing.li
From: Changqing Li 

Current configuration for debian-mips64 is not correct,
'SIXTY_FOUR_BIT_LONG' need to be specified. otherwise,
it will cause other recipe like crda compile failed since
use default THIRTY_TWO_BIT mode.

Signed-off-by: Changqing Li 
---
 .../openssl/openssl10/debian/debian-targets.patch | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git 
a/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch 
b/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
index 35d92be..24709f4 100644
--- a/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
+++ b/meta/recipes-connectivity/openssl/openssl10/debian/debian-targets.patch
@@ -42,8 +42,8 @@ Index: openssl-1.0.2n/Configure
 +"debian-mipsel",   "gcc:-DL_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT 
DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 +"debian-mipsn32",   "mips64-linux-gnuabin32-gcc:-DB_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT 
DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 +"debian-mipsn32el",   "mips64el-linux-gnuabin32-gcc:-DL_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT 
DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64",   "mips64-linux-gnuabi64-gcc:-DB_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT 
DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64el",   "mips64el-linux-gnuabi64-gcc:-DL_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT 
DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mips64",   "mips64-linux-gnuabi64-gcc:-DB_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX 
DES_INT DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"debian-mips64el",   "mips64el-linux-gnuabi64-gcc:-DL_ENDIAN -DTERMIO 
${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX 
DES_INT DES_UNROLL 
DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 +"debian-netbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} 
-m486::(unknown):::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 +"debian-netbsd-m68k", "gcc:-DB_ENDIAN -DTERMIOS 
${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX 
DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 +"debian-netbsd-sparc","gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} 
-mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX 
DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-- 
2.7.4

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


[OE-core] [PATCH] dbus-test: fix ptest failed problem when multilib is enabled

2018-09-19 Thread changqing.li
From: Changqing Li 

Fix some failed info like:
| ./test/test-bus: relocation error: ./test/test-bus: symbol
| _dbus_threads_init_debug, version LIBDBUS_PRIVATE_1.10.10 not defined
| in file libdbus-1.so.3 with link time reference
| FAIL: test/test-bus

In run-ptest, LD_LIBRARY_PATH is set to /usr/lib, but when multilib
is enabled, /usr/lib64 will be used. fix by replace with correct path.

Signed-off-by: Changqing Li 
---
 meta/recipes-core/dbus/dbus-test_1.12.10.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-core/dbus/dbus-test_1.12.10.bb 
b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
index e3ee608..a438627 100644
--- a/meta/recipes-core/dbus/dbus-test_1.12.10.bb
+++ b/meta/recipes-core/dbus/dbus-test_1.12.10.bb
@@ -75,6 +75,8 @@ do_install_ptest() {
sed -i \
 -e 's:${B}:${PTEST_PATH}:g' \
 {} +
+#correct LD_LIBRARY_PATH for run-ptest according current baselib
+sed -i -e 's;/lib/;/${baselib}/;g'  ${D}${PTEST_PATH}/run-ptest
 }
 
 RDEPENDS_${PN}-ptest += "bash"
-- 
2.7.4

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


Re: [OE-core] [PATCH] openssh: upgrade 7.8p1 -> 7.8p2 to support openssl 1.1.x

2018-09-19 Thread Hongxu Jia

On 2018年09月19日 11:46, Khem Raj wrote:

On Tue, Sep 18, 2018 at 8:12 PM Hongxu Jia  wrote:

- Convert from tarball to git repository which support
   openssl 1.1.x

- There is no specific minor version that contains the
   openssl fix (it was merged to master a few days agao),
   but their next minor version will be p2.


I think we should test this patch and it would be good to get this in release



Got it,  I am doing the ptest on qemu

//Hongxu


Signed-off-by: Hongxu Jia 
---
  .../openssh/{openssh_7.8p1.bb => openssh_7.8p2.bb} | 10 +-
  1 file changed, 5 insertions(+), 5 deletions(-)
  rename meta/recipes-connectivity/openssh/{openssh_7.8p1.bb => 
openssh_7.8p2.bb} (94%)

diff --git a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb 
b/meta/recipes-connectivity/openssh/openssh_7.8p2.bb
similarity index 94%
rename from meta/recipes-connectivity/openssh/openssh_7.8p1.bb
rename to meta/recipes-connectivity/openssh/openssh_7.8p2.bb
index f4b295f..b74461e 100644
--- a/meta/recipes-connectivity/openssh/openssh_7.8p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_7.8p2.bb
@@ -8,11 +8,10 @@ SECTION = "console/network"
  LICENSE = "BSD"
  LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"

-# openssl 1.1 patches are proposed at 
https://github.com/openssh/openssh-portable/pull/48
-DEPENDS = "zlib openssl10"
+DEPENDS = "zlib openssl"
  DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"

-SRC_URI = 
"http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
+SRC_URI = "git://github.com/openssh/openssh-portable;branch=master \
 file://sshd_config \
 file://ssh_config \
 file://init \
@@ -29,8 +28,9 @@ SRC_URI = 
"http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar

  PAM_SRC_URI = "file://sshd"

-SRC_URI[md5sum] = "ce1d090fa6239fd38eb989d5e983b074"
-SRC_URI[sha256sum] = 
"1a484bb15152c183bb2514e112aa30dd34138c3cfb032eee5490a66c507144ca"
+SRCREV = "cce8cbe0ed7d1ba3a575310e0b63c193326ae616"
+
+S = "${WORKDIR}/git"

  inherit useradd update-rc.d update-alternatives systemd

--
2.7.4

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



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


Re: [OE-core] [PATCH] openssh: upgrade 7.8p1 -> 7.8p2 to support openssl 1.1.x

2018-09-19 Thread Hongxu Jia

On 2018年09月19日 16:01, Alexander Kanavin wrote:

2018-09-19 5:22 GMT+02:00 Hongxu Jia :

- Convert from tarball to git repository which support
   openssl 1.1.x

- There is no specific minor version that contains the
   openssl fix (it was merged to master a few days agao),
   but their next minor version will be p2.

That version does not yet exist. We should not be giving the incorrect
impression that we are taking stable, upstream-tested code. 7.8p1+git
or something like that is better.

libressl recipe should be removed at the same time.


OK, no problem

//Hongxu


Alex



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


[OE-core] [PATCH] initramfs-framework/udev: call settle before kill

2018-09-19 Thread Anuj Mittal
When mount command is executed in rootfs module of initrd, eudev creates
a loop0 device node, applies rules and adds a inotify watch to it. Right
after this step, we execute finish which first tries to kill any running
udevd daemon before doing a switch_root.

In some cases, it is possible that switch_root is executed before
inotify_add_watch was actually processed which would lead to errors like:

| inotify_add_watch(6, /dev/loop0, 10) failed: No such file or directory

Make sure that we process all the events in queue before actually trying
to kill udevd to prevent this race.

Fixes [YOCTO #12861]

Signed-off-by: Anuj Mittal 
---
 meta/recipes-core/initrdscripts/initramfs-framework/udev | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev 
b/meta/recipes-core/initrdscripts/initramfs-framework/udev
index 79c8867823..87551ff4a9 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/udev
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev
@@ -6,6 +6,7 @@ udev_shutdown_hook_handler() {
status=$1
module=$2
if [ "$status" = "pre" ] && [ "$module" = "finish" ]; then
+   udevadm settle
killall `basename $_UDEV_DAEMON` 2>/dev/null
fi
 }
-- 
2.17.1

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


Re: [OE-core] [PATCH] openssh: upgrade 7.8p1 -> 7.8p2 to support openssl 1.1.x

2018-09-19 Thread Alexander Kanavin
2018-09-19 5:22 GMT+02:00 Hongxu Jia :
> - Convert from tarball to git repository which support
>   openssl 1.1.x
>
> - There is no specific minor version that contains the
>   openssl fix (it was merged to master a few days agao),
>   but their next minor version will be p2.

That version does not yet exist. We should not be giving the incorrect
impression that we are taking stable, upstream-tested code. 7.8p1+git
or something like that is better.

libressl recipe should be removed at the same time.

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


Re: [OE-core] [PATCH] connman: update to 1.36

2018-09-19 Thread Alexander Kanavin
Well, no. The patch file contains three different patches, all fixing
different things, and this information about the second and third one
for instance has vanished:

-From b8b7878e6cb2a1ed4fcfa256f7e232511a40e3d9 Mon Sep 17 00:00:00 2001
-From: Ross Burton 
-Date: Tue, 9 Aug 2016 15:37:50 +0100
-Subject: [PATCH 2/3] Check for in6_pktinfo.ipi6_addr explicitly
-
-Instead of assuming that just glibc has this structure, check for it at
-configure as musl also has it.
-
-Based on work by Khem Raj .


-From c0726e432fa0274a2b9c70179b03df6720972816 Mon Sep 17 00:00:00 2001
-From: Ross Burton 
-Date: Tue, 9 Aug 2016 15:19:23 +0100
-Subject: [PATCH 3/3] Rationalise includes
-
-gweb/gresolv.c uses snprintf() and isspace() so it should include stdio.h and
-ctype.h.
-
-tools/dnsproxy-test uses functions from stdio.h.
-
-musl warns when sys/ headers are included when the non-sys form should be used,
-so switch sys/errno.h and so on to errno.h.
-
-musl also causes redefinition errors when pieces of the networking headers are
-included, so remove the redundant includes.
-
-Based on work by Khem Raj .

Alex



2018-09-19 0:24 GMT+02:00 Oleksandr Kravchuk
:
> Sorry for the delay. This patch hasn't really been changed much: it was
> simply rebased, renamed and converted into git format. Would it be
> enough to keep it the way it is and describe the changes in the commit
> message?
>
> On 13/09/2018 23:38, Alexander Kanavin wrote:
>> This one:
>> rename meta/recipes-connectivity/connman/connman/{includes.patch =>
>> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} (68%)
>>
>> I think you should make two commits: one that splits this patch in
>> three, and another which actually does the version update.
>>
>> Alex
>>
>> 2018-09-13 23:08 GMT+02:00 Oleksandr Kravchuk
>> :
>>> Sure, will do.
>>>
> Also, one patch is changed in a way that makes it lose significant amount
> of information (it's an amalgamation of three patches)
>>> Could you please clarify which one do you mean? Thank you.
>>>
>>>
>>> On 9/13/18 9:46 PM, Alexander Kanavin wrote:
 Please explain the changes to patches (not as a reply to me, but in
 the commit message itself).
 If they are deleted because upstream already has them, it should be
 mentioned explicitly.

 Also, one patch is changed in a way that makes it lose significant
 amount of information
 (it's an amalgamation of three patches). Perhaps we should just split
 it in three?

 Alex

 2018-09-13 21:04 GMT+02:00 Oleksandr Kravchuk
 :
> Signed-off-by: Oleksandr Kravchuk 
> ---
>   meta/recipes-connectivity/connman/connman.inc |   2 +-
>   ...> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} | 446 --
>   ...tls-Fix-a-crash-using-wispr-over-TLS.patch |  41 --
>   ...refixlen-to-iproute_default_function.patch |  63 ---
>   ...eep-track-of-addr-in-fw_snat-session.patch | 112 -
>   ...ubnet-route-creation-deletion-in-ipr.patch |  69 ---
>   ...PIs-for-creating-and-deleting-subnet.patch |  68 ---
>   ...net-route-creation-and-deletion-APIs.patch |  77 ---
>   .../connman/connman_1.35.bb   |  22 -
>   .../connman/connman_1.36.bb   |  17 +
>   10 files changed, 212 insertions(+), 705 deletions(-)
>   rename meta/recipes-connectivity/connman/connman/{includes.patch =>
> 0001-Use-AC_USE_SYSTEM_EXTENSIONS.patch} (68%)
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0001-inet-Add-prefixlen-to-iproute_default_function.patch
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0001-session-Keep-track-of-addr-in-fw_snat-session.patch
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0002-inet-Implement-subnet-route-creation-deletion-in-ipr.patch
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0003-inet-Implement-APIs-for-creating-and-deleting-subnet.patch
>   delete mode 100644
> meta/recipes-connectivity/connman/connman/0004-session-Use-subnet-route-creation-and-deletion-APIs.patch
>   delete mode 100644 meta/recipes-connectivity/connman/connman_1.35.bb
>   create mode 100644 meta/recipes-connectivity/connman/connman_1.36.bb
>
> diff --git a/meta/recipes-connectivity/connman/connman.inc
> b/meta/recipes-connectivity/connman/connman.inc
> index 2b03f9cb06..0ba375137d 100644
> --- a/meta/recipes-connectivity/connman/connman.inc
> +++ b/meta/recipes-connectivity/connman/connman.inc
> @@ -156,7 +156,7 @@ RDEPENDS_${PN}-client ="${PN}"
>
>   FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/*
> ${libdir}/lib*.so.* \
>   ${libdir}/connman/plugins \
> -${sysconfdir} ${sharedstatedir} ${localstatedir} \
> +${sysconfdir} 

Re: [OE-core] [PATCH v2] python3{,-native}: update to 3.7.0

2018-09-19 Thread Alejandro Hernandez

On 9/17/2018 12:00 PM, Jens Rehsack wrote:

Hi Alejandro,

Am Mi., 12. Sep. 2018 um 23:03 Uhr schrieb Alejandro Hernandez
:

Hello Jens,


On 9/12/2018 4:53 AM, Jens Rehsack wrote:



Am 11.09.2018 um 20:56 schrieb Alejandro Enedino Hernandez Samaniego 
:

Hey Jens,

Hey Alejandro,

On 09/10/2018 11:58 PM, Jens Rehsack wrote:



Am 10.09.2018 um 23:33 schrieb Alejandro Enedino Hernandez Samaniego 
:

Hey Jens,


As I explained before, when you create a manifest for python (target), it uses 
the native build as base (it literally runs the native python that was just 
built), it is assumed its the same version as target and contains all the 
modules provided by upstream, otherwise the missing modules cannot be checked 
for dependencies, and the manifest becomes incoherent, so its not an option to 
have an incomplete python native build.

In that case, uuid for target never gets deployed, but it is. And I didn't see 
any packaging issues for `python3` nor for `nativesdk-python3`



I don't see what that has to do with anything, fixing the native build should 
not affect what gets deployed on target, thats exactly why we have a manifest, 
so they user can decide what to install and what not to install.


The manifest isn't used for python3-native.
You try to argue whether there is an error to be fixed - and I don't agree.
Each fix requires effort - and that's why some errors will never become fixed. 
When the impact is reasonable or high enough, fixes are more likely.

So: before you try to force me into "that's all ugly und must be seriously 
beautified just because ..." I will not do anything.
When you give me a sane reason, I try to understand and make a decision.



Ok first of all, I am not forcing you to do anything, and I've never said its 
all ugly, so please don't reply aggressively since I am just trying to help you 
get your patch merged, and it needs to work correctly for that to happen, this 
is a community and if you don't want to do something just don't do it, we're 
all trying to make this work in the best possible way, whether we get paid for 
it or do it for fun.

Sounded a bit different, thanks for clarification.


Second of all, I know the manifest is not used for python3-native, I never said 
python3-native used the manifest, but I am trying to explain to you why the fix 
is necessary, and I am even telling you what the fix is, so you don't have to 
waste your time and effort on that, here it goes once again:


There are python3-native and python3 packages.

The python3 package uses a manifest file, to go through the installed files by 
the whole python installation from upstream, and separates it in several 
packages, providing more granularity and giving users the possibility of 
installing a trimmed version of python, only with what they require on their 
image.

I think we're good until here.

The problem here comes because we don't control upstream python and it changes 
with every release, so new files show up, for example what I mentioned before 
sha3.*.so.

Since that file is not on the manifest, during packaging, it will end up on 
python3-misc, which contains basically everything that doesn't belong anywhere 
else, although clearly this file in specific should belong in python3-crypt.

What this means for the user, is that he/she will install python3-crypt and 
expect it to work at runtime, but this wont happen, and when sha3 gets imported 
(or something that depends on it to run), it will fail,  this will cause a bug 
on our system, which we would need to fix (yes, fixing bugs takes effort and 
time).

At this point an usual fix would be to just install python3-misc as well, 
because it contains the required library, but python3-misc also contains other 
unnecessary stuff that the user doesn't need, but anyways an RDEPENDS to 
python3-misc would somewhat solve it. The correct fix however, is to add the 
sha3.*.so file to the manifest, on the python3-crypt package, that way, it will 
get installed and the user would be able to use it correctly. This would solve 
one problem, but its still not enough, because, I can see (from the log), that 
there are some dependencies from other packages to sha3, which means that yes, 
it will work correctly if we decide to install python3-crypt, but if we just 
install one of the other packages that need it, it won't,  again, it will fail 
to import it and its the same story, its introducing a bug into the system.

Everything clear until here.


OK, up to this point I've explained how this will cause bugs in our system, 
now, what does this fix that I mentioned has to do with everything?.

There is a special task for the python3 package (not native), that creates a 
manifest for us, this task tries to import every module from the manifest and 
get its dependencies, for example, if the python3-numbers package needed the 
sha3 library (this is just an example I really don't know if numbers needs 
this), this will be picked up, and the