Re: [OE-core] [PATCH 01/24] base.bbclass: Add buildcfg multilib values
On 05/28/2018 01:23 PM, Alexander Kanavin wrote: 2018-05-28 6:24 GMT+03:00 Robert Yang : Thanks for the reply, but I'm afraid that all_multlilib_tune_values() isn't suitable for this case, what need to display is something like: lib32: DEFAULTTUNE = "x86" lib32: TARGET_SYS= "i686-pokymllib32-linux" lib32: TUNE_FEATURES = "m32" But all_multlilib_tune_values() returns all values, e.g: DEFAULTTUNE = "core2-64 x86" That's right, but you should still use get_multilib_datastore() instead of setting up localdata manually Thanks, make sense, updated in the repo: +def buildcfg_multilibs(d): +variants = d.getVar("MULTILIB_VARIANTS", True) or "" +for variant in variants.split(): +localdata = get_multilib_datastore(variant, d) +statusvars = oe.data.typed_value('BUILDCFG_VARS', d) +for var in statusvars: +origvalue = d.getVar(var, True) +variantvalue = localdata.getVar(var, True) +if origvalue and variantvalue and origvalue != variantvalue: +yield '%-7s %-17s = "%s"' % (variant + ":", var, variantvalue) + // Robert Alex -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] meta-toolchain: Added dnf-nativesdk into cross-development toolchain.
To make dnf work on cross-development environment. Signed-off-by: Zheng Ruoqin --- meta/classes/toolchain-scripts.bbclass | 1 + .../nativesdk-packagegroup-sdk-host.bb | 4 +++ meta/recipes-core/update-rc.d/update-rc.d_0.7.bb | 2 +- .../createrepo-c/createrepo-c_git.bb | 7 - meta/recipes-devtools/file/file_5.32.bb| 2 ++ meta/recipes-devtools/rpm/rpm_4.14.1.bb| 34 ++ .../newt/libnewt-python_0.52.20.bb | 2 +- meta/recipes-extended/newt/libnewt_0.52.20.bb | 2 +- meta/recipes-extended/slang/slang_2.3.2.bb | 2 +- 9 files changed, 46 insertions(+), 10 deletions(-) diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass index 71da5e5..58dd00e 100644 --- a/meta/classes/toolchain-scripts.bbclass +++ b/meta/classes/toolchain-scripts.bbclass @@ -97,6 +97,7 @@ toolchain_shared_env_script () { echo 'export CPPFLAGS="${TARGET_CPPFLAGS}"' >> $script echo 'export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"' >> $script echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script +echo 'export MACHINE_ARCH=${MACHINE_ARCH}' >> $script echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script echo 'export ARCH=${ARCH}' >> $script echo 'export CROSS_COMPILE=${TARGET_PREFIX}' >> $script diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb index e2f6169..1370a82 100644 --- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb @@ -25,6 +25,10 @@ RDEPENDS_${PN} = "\ nativesdk-cmake \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \ nativesdk-sdk-provides-dummy \ +nativesdk-libnewt-python \ +nativesdk-createrepo-c \ +nativesdk-gpgme \ +nativesdk-update-rc.d \ " RDEPENDS_${PN}_darwin = "\ diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb index 76d4312..d3d3e2f 100644 --- a/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb +++ b/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb @@ -30,4 +30,4 @@ do_install() { install -m 0755 ${S}/update-rc.d ${D}${sbindir}/update-rc.d } -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb index 3176136..9be9f9e 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb +++ b/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb @@ -21,7 +21,7 @@ inherit cmake pkgconfig bash-completion distutils3-base EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" # Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in do_install_append_class-native() { @@ -29,3 +29,8 @@ do_install_append_class-native() { RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm } +do_install_append_class-nativesdk() { +create_wrapper ${D}/${bindir}/createrepo_c \ +RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm +rm -rf ${D}/etc +} diff --git a/meta/recipes-devtools/file/file_5.32.bb b/meta/recipes-devtools/file/file_5.32.bb index 5e15925..9b13261 100644 --- a/meta/recipes-devtools/file/file_5.32.bb +++ b/meta/recipes-devtools/file/file_5.32.bb @@ -43,6 +43,8 @@ do_install_append_class-nativesdk() { BBCLASSEXTEND = "native nativesdk" PROVIDES_append_class-native = " file-replacement-native" +PROVIDES_append_class-nativesdk = " file-replacement-nativesdk" + # Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who # depends on file-replacement-native. bindir_append_class-native = "/file-native" diff --git a/meta/recipes-devtools/rpm/rpm_4.14.1.bb b/meta/recipes-devtools/rpm/rpm_4.14.1.bb index d49530e..abcad9f 100644 --- a/meta/recipes-devtools/rpm/rpm_4.14.1.bb +++ b/meta/recipes-devtools/rpm/rpm_4.14.1.bb @@ -50,6 +50,7 @@ S = "${WORKDIR}/git" DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python3" DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" +DEPENDS_append_class-nativesdk = " file-replacement-nativesdk" inherit autotools gettext pkgconfig python3native export PYTHON_ABI @@ -67,6 +68,7 @@ EXTRA_OECONF_append_libc-musl = " --disable-nls" # Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled. # Also disable plugins by default for native. EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins" +EXTRA_OECONF_append_class-nativesdk
[OE-core] [PATCH] telnetd:Fix deadlock on cleanup
Hi all, I was able to reproduce the old problems shown below with netkit-telnet_0.17.bb. https://patchwork.openembedded.org/patch/96727/ https://bugs.launchpad.net/ubuntu/+source/netkit-telnet/+bug/507455 The evaluated environment is, glibc :2.2 kernel :4.4.32 How to reproduce: Run the script more than once in the background, and please adjust CPU usage to 100%. #!/bin/sh HOST="host.target" USER="root" PASS="password" while : do expect -c " set timeout 10 spawn telnet $HOST expect login:\ ; send \"$USER\r\" expect sword:\ ; send \"$PASS\r\" expect \"# \" ; send \"exit\r\" " > /dev/null done Best regards, Seiichi Ishitsuka 0001-telnetd-Fix-deadlock-on-cleanup.patch Description: 0001-telnetd-Fix-deadlock-on-cleanup.patch -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 01/24] base.bbclass: Add buildcfg multilib values
2018-05-28 6:24 GMT+03:00 Robert Yang : > Thanks for the reply, but I'm afraid that all_multlilib_tune_values() isn't > suitable for this case, what need to display is something like: > > lib32: DEFAULTTUNE = "x86" > lib32: TARGET_SYS= "i686-pokymllib32-linux" > lib32: TUNE_FEATURES = "m32" > > But all_multlilib_tune_values() returns all values, e.g: > > DEFAULTTUNE = "core2-64 x86" That's right, but you should still use get_multilib_datastore() instead of setting up localdata manually Alex -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] linux-libc-headers: To fix build error when enable mutilib on aarch64 Big endian.
Signed-off-by: Lei Maohui --- meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc | 4 1 file changed, 4 insertions(+) diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc index 9903c06..b5cf96d 100644 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc @@ -77,6 +77,10 @@ do_install_append_arm () { do_install_armmultilib } +do_install_append_armeb () { + do_install_armmultilib +} + do_install_armmultilib () { oe_multilib_header asm/auxvec.h asm/bitsperlong.h asm/byteorder.h asm/fcntl.h asm/hwcap.h asm/ioctls.h asm/kvm.h asm/kvm_para.h asm/mman.h asm/param.h asm/perf_regs.h asm/bpf_perf_event.h oe_multilib_header asm/posix_types.h asm/ptrace.h asm/setup.h asm/sigcontext.h asm/siginfo.h asm/signal.h asm/stat.h asm/statfs.h asm/swab.h asm/types.h asm/unistd.h -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 01/24] base.bbclass: Add buildcfg multilib values
Hi Alexander, On 05/26/2018 05:51 PM, Alexander Kanavin wrote: On 05/25/2018 05:48 AM, Robert Yang wrote: +def buildcfg_multilibs(d): + variants = d.getVar("MULTILIB_VARIANTS", True) or "" + for variant in variants.split(): + localdata = bb.data.createCopy(d) + overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + variant + localdata.setVar("OVERRIDES", overrides) + bb.data.update_data(localdata) + statusvars = oe.data.typed_value('BUILDCFG_VARS', d) + for var in statusvars: + origvalue = d.getVar(var, True) + variantvalue = localdata.getVar(var, True) + if origvalue is not None and variantvalue is not None and origvalue != variantvalue: + yield '%-7s %-17s = "%s"' % (variant + ":", var, variantvalue) + There are helper functions in utils.bbclass that take care of multilib datastore setup, please use them instead of re-implementing what they do. USe all_multlilib_tune_values() in particular. Thanks for the reply, but I'm afraid that all_multlilib_tune_values() isn't suitable for this case, what need to display is something like: lib32: DEFAULTTUNE = "x86" lib32: TARGET_SYS= "i686-pokymllib32-linux" lib32: TUNE_FEATURES = "m32" But all_multlilib_tune_values() returns all values, e.g: DEFAULTTUNE = "core2-64 x86" If there is only one multilib variant, it can work if we remove "core2-64" from DEFAULTTUNE, then we will get "x86", but if there are multiple multilib variants, e.g., lib32 and lib64, then all_multlilib_tune_values(d, 'DEFAULTTUNE') is: DEFAULTTUNE = "core2-64 x86 " We don't know how to strip x86 for lib32, or for lib64. So I think that the current implementation is a must. // Robert Alex -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core