Re: [OE-core] [PATCH V2 1/2] openssh: upgrade 7.8p1 -> 7.8p1+git to support openssl 1.1.x
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
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
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
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
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
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
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
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
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 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
== 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
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
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
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
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
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
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
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
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
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
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
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
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
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)
== 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
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
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
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
- 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
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
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
- 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
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)
== 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
* 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
* 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
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
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)
== 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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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