Re: [OE-core] [PATCH 01/24] base.bbclass: Add buildcfg multilib values

2018-05-27 Thread Robert Yang



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.

2018-05-27 Thread Zheng Ruoqin
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

2018-05-27 Thread Seiichi Ishitsuka
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-27 Thread Alexander Kanavin
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.

2018-05-27 Thread Lei Maohui
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

2018-05-27 Thread Robert Yang

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