Skip to contentSkip to conversation

meta: various fixes

PATCH Superseded Robert Yang 6 participants 40 messages May 25, 2018 – May 30, 2018

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

cover meta: various fixes

Hi RP and Ross,

These are part of our local patches, most of them have been sent before, but didn't get reply, would you please help to review and merge/reject them? Thank you very much, All of them are good changes from my side.

// Robert

The following changes since commit 9da097b0de6425464ebd3f0539b7495b11d139b5:

libnss-mdns: fix postinst and postrm (2018-05-22 13:09:04 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/24fixes
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/24fixes

Catalin Enache (1):
init-install: add timeout for legacy grub

Chen Qi (1):
populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

Hu (1):
shadow: fix pam configs for chpasswd, newusers

Jackie Huang (3):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login
glibc: re-package for libnss-db

Jian Liu (1):
lsof: fix LSOF_CCV in version.h

Kai Kang (4):
dbus: update build options when enable ptest
dbus-test: sync x11 configure options with dbus toolchain-scripts.bbclass: do not extend dependency if extended
already
shadow: update ownership and permission of /var/spool/mail

Li Wang (2):
gawk: fix command location in ptest script
rpcbind: add option to make user able to use fixed port number

Mark Hatle (1):
base.bbclass: Add buildcfg multilib values

Mingli Yu (1):
at: add libselinux to PACKAGECONFIG

Ovidiu Panait (2):
openssl-nativesdk: Fix "can't open config file" warning
nativesdk-rpm: Add wrappers for nativesdk support

Robert Yang (3):
runqemu-extract-sdk: allow install debugfs on rootfs oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN site/powerpc64-linux: add cvs_cv_func_printf_ptr

Shan Hai (1):
xinetd: add Init Script Actions to xinetd script

Yadi.hu (1):
busybox: handle syslog

Yuanjie Huang (1):
gcc-sanitizers: Fix libtool .la files

Yue Tao (1):
initscripts: Avoid starting rpcbind daemon twice

 meta/classes/base.bbclass                          |  16 ++-
 meta/classes/image.bbclass                         |   2 +-
 meta/classes/populate_sdk_ext.bbclass              |   6 +
 meta/classes/rootfs-postcommands.bbclass           |  25 +++-
 meta/classes/toolchain-scripts.bbclass             |  13 ++-
 meta/conf/bitbake.conf                             |   2 +-
 meta/lib/oe/copy_buildsystem.py                    |  18 +++
 .../openssl/openssl/environment.d-openssl.sh       |   1 +
 meta/recipes-connectivity/openssl/openssl10.inc    |   7 ++
 .../recipes-connectivity/openssl/openssl_1.0.2o.bb |   5 +
 .../recipes-connectivity/openssl/openssl_1.1.0h.bb |  11 ++
 meta/recipes-core/busybox/busybox.inc              |  14 ++-
 meta/recipes-core/dbus/dbus-test_1.12.8.bb         |   6 +-
 meta/recipes-core/dbus/dbus_1.12.8.bb              |   4 +-
 meta/recipes-core/dropbear/dropbear.inc            |   3 +
 .../dropbear/dropbear/dropbear.default             |   2 +
 meta/recipes-core/glibc/glibc-package.inc          |   5 +-
 .../initrdscripts/files/init-install.sh            |   2 +
 .../initscripts/initscripts-1.0/mountnfs.sh        |   9 +-
 meta/recipes-devtools/gcc/gcc-sanitizers.inc       |   2 +
 meta/recipes-devtools/rpm/rpm_4.14.1.bb            |  42 ++++---
 meta/recipes-extended/at/at_3.1.20.bb              |   6 +
 meta/recipes-extended/gawk/gawk_4.2.1.bb           |   2 +
 .../files/Configure-fix-LSOF_CCV-assignment.patch  |  31 +++++
 meta/recipes-extended/lsof/lsof_4.89.bb            |   4 +-
 .../rpcbind_add_option_to_fix_port_number.patch    | 130 +++++++++++++++++++++
 meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb     |   1 +
 meta/recipes-extended/shadow/files/pam.d/chpasswd  |   2 +
 meta/recipes-extended/shadow/files/pam.d/newusers  |   2 +
 meta/recipes-extended/shadow/shadow.inc            |   3 +-
 meta/recipes-extended/xinetd/xinetd/xinetd.init    |  12 +-
 meta/site/powerpc64-linux                          |   2 +
 scripts/runqemu-extract-sdk                        |   4 +-
 33 files changed, 355 insertions(+), 39 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/environment.d-openssl.sh
 create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear.default
 create mode 100644 meta/recipes-extended/lsof/files/Configure-fix-LSOF_CCV-assignment.patch
 create mode 100644 meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/24 base.bbclass: Add buildcfg multilib values

From: Mark Hatle <[email protected]>

When displaying the buildcfg for the end user, add in processing of the multilib variants. Only the items that are not the same as the DEFAULTTUNE are displayed.

I.e.:
Build Configuration:

BB_VERSION        = "1.19.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "CentOS-6.4"
DISTRO_VERSION    = "oe-core.0"
MACHINE           = "qemux86-64"
DEFAULTTUNE       = "x86-64"
TARGET_SYS        = "x86_64-oe-linux"
TUNE_FEATURES     = "m64"
TARGET_FPU        = ""
lib32:  DEFAULTTUNE       = "x86"
lib32:  TARGET_SYS        = "i586-oe-linux"
lib32:  TUNE_FEATURES     = "m32"

meta = "master:1975f3d7bbeb184489a5d0a2e0de231f317d3e1b"

The order of the displayed elements was changed slightly to group the host information together, as well as group the target information together.

---
 meta/classes/base.bbclass | 16 +++++++++++++++-
 meta/conf/bitbake.conf    |  2 +-
 2 files changed, 16 insertions(+), 2 deletions(-)
meta/classes/base.bbclass +15 -1
index 7c42cf9..fa5c24b 100644
@@ -188,7 +188,7 @@ def get_layers_branch_rev(d):
     return layers_branch_rev
 
 
-BUILDCFG_FUNCS ??= "buildcfg_vars get_layers_branch_rev buildcfg_neededvars"
+BUILDCFG_FUNCS ??= "buildcfg_vars buildcfg_multilibs get_layers_branch_rev buildcfg_neededvars"
 BUILDCFG_FUNCS[type] = "list"
 
 def buildcfg_vars(d):
@@ -198,6 +198,20 @@ def buildcfg_vars(d):
         if value is not None:
             yield '%-20s = "%s"' % (var, value)
 
+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)
+
 def buildcfg_neededvars(d):
     needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d)
     pesteruser = []
meta/conf/bitbake.conf +1 -1
index 6ecf78b..73686ea 100644
@@ -699,7 +699,7 @@ PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
 
 # Pre-build configuration output
 BUILDCFG_HEADER = "Build Configuration:"
-BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU"
+BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING DISTRO DISTRO_VERSION MACHINE DEFAULTTUNE TARGET_SYS TUNE_FEATURES TARGET_FPU"
 BUILDCFG_VARS[type] = "list"
 BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS"
 BUILDCFG_NEEDEDVARS[type] = "list"
Signature · 1 line
2.7.4
#2 lore raw

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

Quoted 4 lines · Robert Yang
meta/classes/base.bbclass +4 -0
+def buildcfg_multilibs(d):
+    variants = d.getVar("MULTILIB_VARIANTS", True) or ""
+    for variant in variants.split():
+        localdata = bb.data.createCopy(d)

meta/classes/base.bbclass def buildcfg_vars(d): · line 214

Quoted 10 lines
meta/classes/base.bbclass +10 -0
+        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.

Alex

#3 lore raw

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

Hi Alexander,

Quoted 11 lines · Alexander Kanavin
Quoted 10 lines · Robert Yang

+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:

Quoted 8 lines
Quoted 6 lines

+            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 <foo>"

We don't know how to strip x86 for lib32, or <foo> for lib64. So I think that the current implementation is a must.

// Robert

Quoted 4 lines

Alex

#4 lore raw

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

2018-05-28 6:24 GMT+03:00 Robert Yang <[email protected]>:

Quoted 10 lines

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

#5 lore raw

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

Quoted 9 lines · Alexander Kanavin

2018-05-28 6:24 GMT+03:00 Robert Yang <[email protected]>:

Quoted 7 lines

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"
Quoted 6 lines
Quoted 3 lines

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

Quoted 3 lines

Alex

#6 lore raw

PATCH 2/24 runqemu-extract-sdk: allow install debugfs on rootfs

In reply to Robert Yang

Usually, the debugfs' (-dbg.tar.*) work follow is:
1) Install regular rootfs to dir_foo
2) Install debugfs (-dbg.tar.*) to the same dir_foo

So we need allow install debugfs on rootfs.

---
 scripts/runqemu-extract-sdk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
scripts/runqemu-extract-sdk +3 -1
index 2a0dd50..f4286ef 100755
@@ -76,7 +76,9 @@ fi
 pseudo_state_dir="$SDK_ROOTFS_DIR/../$(basename "$SDK_ROOTFS_DIR").pseudo_state"
 pseudo_state_dir="$(readlink -f $pseudo_state_dir)"
 
-if [ -e "$pseudo_state_dir" ]; then
+debug_image="`echo $ROOTFS_TARBALL | grep '\-dbg\.tar\.'`"
+
+if [ -e "$pseudo_state_dir" -a -z "$debug_image" ]; then
 	echo "Error: $pseudo_state_dir already exists!"
 	echo "Please delete the rootfs tree and pseudo directory manually"
         echo "if this is really what you want."
Signature · 1 line
2.7.4
#7 lore raw

Re: [PATCH 02/24] runqemu-extract-sdk: allow install debugfs on rootfs

Quoted 1 line · Robert Yang

Usually, the debugfs' (-dbg.tar.*) work follow is:

s/work follow/workflow/

Quoted 4 lines

1) Install regular rootfs to dir_foo
2) Install debugfs (-dbg.tar.*) to the same dir_foo

So we need allow install debugfs on rootfs.

So we need to allow installing the debugfs on top of the rootfs.

or at least, I think that's what you mean.
../Randy

Quoted 22 lines
---
  scripts/runqemu-extract-sdk | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
scripts/runqemu-extract-sdk +3 -1
index 2a0dd50..f4286ef 100755
@@ -76,7 +76,9 @@ fi
  pseudo_state_dir="$SDK_ROOTFS_DIR/../$(basename "$SDK_ROOTFS_DIR").pseudo_state"
  pseudo_state_dir="$(readlink -f $pseudo_state_dir)"
 
-if [ -e "$pseudo_state_dir" ]; then
+debug_image="`echo $ROOTFS_TARBALL | grep '\-dbg\.tar\.'`"
+
+if [ -e "$pseudo_state_dir" -a -z "$debug_image" ]; then
  	echo "Error: $pseudo_state_dir already exists!"
  	echo "Please delete the rootfs tree and pseudo directory manually"
          echo "if this is really what you want."
Signature · 2 lines
# Randy MacLeod
# Wind River Linux
#8 lore raw

Re: [PATCH 02/24] runqemu-extract-sdk: allow install debugfs on rootfs

Quoted 11 lines · Randy MacLeod
Quoted 1 line · Robert Yang

Usually, the debugfs' (-dbg.tar.*) work follow is:

s/work follow/workflow/

Quoted 4 lines

1) Install regular rootfs to dir_foo
2) Install debugfs (-dbg.tar.*) to the same dir_foo

So we need allow install debugfs on rootfs.

So we need to allow installing the debugfs on top of the rootfs.

or at least, I think that's what you mean.

Thanks, done.

// Robert

Quoted 24 lines

../Randy

Quoted 21 lines

---
  scripts/runqemu-extract-sdk | 4 +++-

  1 file changed, 3 insertions(+), 1 deletion(-)
scripts/runqemu-extract-sdk +0 -0
index 2a0dd50..f4286ef 100755
@@ -76,7 +76,9 @@ fi

  pseudo_state_dir="$SDK_ROOTFS_DIR/../$(basename "$SDK_ROOTFS_DIR").pseudo_state" pseudo_state_dir="$(readlink -f $pseudo_state_dir)"

scripts/runqemu-extract-sdk +3 -1
-if [ -e "$pseudo_state_dir" ]; then
+debug_image="`echo $ROOTFS_TARBALL | grep '\-dbg\.tar\.'`"
+
+if [ -e "$pseudo_state_dir" -a -z "$debug_image" ]; then

      echo "Error: $pseudo_state_dir already exists!"
      echo "Please delete the rootfs tree and pseudo directory manually" echo "if this is really what you want."

#9 lore raw

Re: [PATCH 02/24] runqemu-extract-sdk: allow install debugfs on rootfs

Quoted 9 lines · Robert Yang
Quoted 6 lines · Randy MacLeod
Quoted 1 line · Robert Yang

Usually, the debugfs' (-dbg.tar.*) work follow is:

s/work follow/workflow/

Quoted 3 lines

1) Install regular rootfs to dir_foo
2) Install debugfs (-dbg.tar.*) to the same dir_foo

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

So we need allow install debugfs on rootfs.

So we need to allow installing the debugfs on top of the rootfs.

or at least, I think that's what you mean.

Thanks, done.

I meant updated in the repo:

git://git.openembedded.org/openembedded-core-contrib rbt/fix_from_wr
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/fix_from_wr

// Robert

Quoted 27 lines

// Robert

Quoted 24 lines

../Randy

Quoted 21 lines

---
  scripts/runqemu-extract-sdk | 4 +++-

  1 file changed, 3 insertions(+), 1 deletion(-)
scripts/runqemu-extract-sdk +0 -0
index 2a0dd50..f4286ef 100755
@@ -76,7 +76,9 @@ fi

  pseudo_state_dir="$SDK_ROOTFS_DIR/../$(basename "$SDK_ROOTFS_DIR").pseudo_state" pseudo_state_dir="$(readlink -f $pseudo_state_dir)"

scripts/runqemu-extract-sdk +3 -1
-if [ -e "$pseudo_state_dir" ]; then
+debug_image="`echo $ROOTFS_TARBALL | grep '\-dbg\.tar\.'`"
+
+if [ -e "$pseudo_state_dir" -a -z "$debug_image" ]; then

      echo "Error: $pseudo_state_dir already exists!"
      echo "Please delete the rootfs tree and pseudo directory manually" echo "if this is really what you want."

#10 lore raw

PATCH 3/24 initscripts: Avoid starting rpcbind daemon twice

In reply to Robert Yang

From: Yue Tao <[email protected]>

Check the status before start it to avoid duplicates.

---
 meta/recipes-core/initscripts/initscripts-1.0/mountnfs.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
meta/recipes-core/initscripts/initscripts-1.0/mountnfs.sh +6 -3
index fe6c196..be9f597 100755
@@ -67,9 +67,12 @@ if test "$rpcbind" = yes
 then
 	if test -x /usr/sbin/rpcbind
 	then
-		echo -n "Starting rpcbind... "
-		start-stop-daemon --start --quiet --exec /usr/sbin/rpcbind
-		sleep 2
+		service rpcbind status > /dev/null
+		if [ $? != 0 ]; then
+			echo -n "Starting rpcbind..."
+			start-stop-daemon --start --quiet --exec /usr/sbin/rpcbind
+			sleep 2
+		fi
 	fi
 fi
 
Signature · 1 line
2.7.4
#11 lore raw

PATCH 4/24 lsof: fix LSOF_CCV in version.h

In reply to Robert Yang

From: Jian Liu <[email protected]>

When using cross compiler to build the package "lsof" on a host, the value of LSOF_CCV in version.h genegrated by the Makefile is the version of the compiler on the host while it should be the version of cross compiler.

On Ubuntu host before fixed:
#define LSOF_CCV "4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) "

After fixed:
#define LSOF_CCV "4.9.1 (GCC) "

---
 .../files/Configure-fix-LSOF_CCV-assignment.patch  | 31 ++++++++++++++++++++++
 meta/recipes-extended/lsof/lsof_4.89.bb            |  4 ++-
 2 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/lsof/files/Configure-fix-LSOF_CCV-assignment.patch
meta/recipes-extended/lsof/files/Configure-fix-LSOF_CCV-assignment.patch new file +31 -0
new file mode 100644
index 0000000..a182925
@@ -0,0 +1,31 @@
+From c197389c9d8ccdbfcfe1dc31da6b4ce69b90ecf6 Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <[email protected]>
+Date: Thu, 23 Oct 2014 03:43:27 -0400
+Subject: [PATCH] Configure: fix LSOF_CCV assignment
+
+Allow to use specified LSOF_CC to get the version of linux compiler.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <[email protected]>
+---
+ Configure |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Configure b/Configure
+index 29c1292..e5a199f 100755
+--- a/Configure
++++ b/Configure
+@@ -2705,8 +2705,8 @@ LOCKF_OWNER4
+     if test "X$LSOF_CC" = "X"	# {
+     then
+       LSOF_CC=cc
+-      LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
+     fi	# }
++    LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
+     if test "X$LINUX_CONF_CC" = "X"	# {
+     then
+       LINUX_CONF_CC=$LSOF_CC
+-- 
+1.7.9.5
+
meta/recipes-extended/lsof/lsof_4.89.bb +3 -1
index 14546db..52b40dc 100644
@@ -13,7 +13,8 @@ LIC_FILES_CHKSUM = "file://00README;beginline=645;endline=679;md5=964df275d26429
 
 SRC_URI = "http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2 \
            file://lsof-remove-host-information.patch \
-          "
+           file://Configure-fix-LSOF_CCV-assignment.patch \
+"
 
 SRC_URI[md5sum] = "1b9cd34f3fb86856a125abbf2be3a386"
 SRC_URI[sha256sum] = "81ac2fc5fdc944793baf41a14002b6deb5a29096b387744e28f8c30a360a3718"
@@ -40,6 +41,7 @@ python do_unpack () {
 export LSOF_INCLUDE = "${STAGING_INCDIR}"
 
 do_configure () {
+	export LSOF_CC="${CC}"
 	export LSOF_AR="${AR} cr"
 	export LSOF_RANLIB="${RANLIB}"
 	if [ "x${GLIBCVERSION}" != "x" ]; then
Signature · 1 line
2.7.4
#12 lore raw

PATCH 5/24 shadow: fix pam configs for chpasswd, newusers

In reply to Robert Yang

From: Hu <[email protected]>

Fix below errors while pam is enabled on target:

  root@qemux86:~# newusers
  newusers: PAM: Authentication failure
  root@qemux86:~# chpasswd
  chpasswd: PAM: Authentication failure

The configs copied from "chgpasswd" which command works with pam.

---
 meta/recipes-extended/shadow/files/pam.d/chpasswd | 2 ++
 meta/recipes-extended/shadow/files/pam.d/newusers | 2 ++
 2 files changed, 4 insertions(+)
meta/recipes-extended/shadow/files/pam.d/chpasswd +2 -0
index 9e3efa6..b769d92 100644
@@ -1,4 +1,6 @@
 # The PAM configuration file for the Shadow 'chpasswd' service
 #
 
+auth       sufficient   pam_rootok.so
+account    required     pam_permit.so
 password   include      common-password
meta/recipes-extended/shadow/files/pam.d/newusers +2 -0
index 4aa3dde..4c59dfa 100644
@@ -1,4 +1,6 @@
 # The PAM configuration file for the Shadow 'newusers' service
 #
 
+auth       sufficient   pam_rootok.so
+account    required     pam_permit.so
 password   include      common-password
Signature · 1 line
2.7.4
#13 lore raw

PATCH 6/24 at: add libselinux to PACKAGECONFIG

In reply to Robert Yang

From: Mingli Yu <[email protected]>

* add libselinux to PACKAGECONFIG for at

---
 meta/recipes-extended/at/at_3.1.20.bb | 6 ++++++
 1 file changed, 6 insertions(+)
meta/recipes-extended/at/at_3.1.20.bb +6 -0
index 8fe3b43..b76e83d 100644
@@ -8,6 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
 DEPENDS = "flex flex-native bison-native \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
+PACKAGECONFIG ?= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
+"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
+
 RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
 "
 
Signature · 1 line
2.7.4
#14 lore raw

Re: [PATCH 06/24] at: add libselinux to PACKAGECONFIG

Quoted 15 lines · Robert Yang

From: Mingli Yu <[email protected]>

* add libselinux to PACKAGECONFIG for at

---
 meta/recipes-extended/at/at_3.1.20.bb | 6 ++++++
 1 file changed, 6 insertions(+)
meta/recipes-extended/at/at_3.1.20.bb +0 -0
index 8fe3b43..b76e83d 100644

meta/recipes-extended/at/at_3.1.20.bb LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" · line 12

Quoted 5 lines
meta/recipes-extended/at/at_3.1.20.bb +2 -0
@@ -8,6 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
 DEPENDS = "flex flex-native bison-native \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
+PACKAGECONFIG ?= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \

The "new way" to do this would be:

  ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}
Quoted 15 lines
meta/recipes-extended/at/at_3.1.20.bb +4 -1
+"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
+
 RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
 "
 
--

2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#15 lore raw

Re: [PATCH 06/24] at: add libselinux to PACKAGECONFIG

Quoted 19 lines · Andre McCurdy
Quoted 18 lines · Robert Yang

From: Mingli Yu <[email protected]>

* add libselinux to PACKAGECONFIG for at

---
  meta/recipes-extended/at/at_3.1.20.bb | 6 ++++++
  1 file changed, 6 insertions(+)
meta/recipes-extended/at/at_3.1.20.bb +0 -0
index 8fe3b43..b76e83d 100644
@@ -8,6 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
  DEPENDS = "flex flex-native bison-native \
             ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
Quoted 6 lines

meta/recipes-extended/at/at_3.1.20.bb LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" · line 12

Quoted 2 lines
meta/recipes-extended/at/at_3.1.20.bb +2 -0
+PACKAGECONFIG ?= "\
+    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \

The "new way" to do this would be:

   ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}

Thanks, good to know that, the patch has been merged, I'm leaning to keep it as the current status since it has no side effect.

// Robert

Quoted 17 lines
Quoted 16 lines
meta/recipes-extended/at/at_3.1.20.bb +4 -1
+"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
+
  RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
  "
 
--

2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#16 lore raw

PATCH 7/24 busybox: handle syslog

In reply to Robert Yang

From: "Yadi.hu" <[email protected]>

If CONFIG_KLOGD is not enabled, then the related service file should not be installed, The error message is below:

Cannot add dependency job for unit busybox-klogd.service,
ignoring: Unit busybox-klogd.service failed to load:
No such file or directory.

So we should first check the configuration before we install these service files.

---
 meta/recipes-core/busybox/busybox.inc | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
meta/recipes-core/busybox/busybox.inc +9 -5
index d1675c3..8c6dbba 100644
@@ -315,20 +315,24 @@ do_install () {
         fi
 
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+        if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
+            install -d ${D}${systemd_unitdir}/system
+            sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
+            > ${D}${systemd_unitdir}/system/busybox-klogd.service
+        fi
+
         if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
             install -d ${D}${systemd_unitdir}/system
             sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
 		> ${D}${systemd_unitdir}/system/busybox-syslog.service
+            if  [ ! -e ${D}${systemd_unitdir}/system/busybox-klogd.service ] ; then
+                sed -i '/klog/d' ${D}${systemd_unitdir}/system/busybox-syslog.service
+            fi
             if [ -f ${WORKDIR}/busybox-syslog.default ] ; then
 		install -d ${D}${sysconfdir}/default
 		install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog
             fi
         fi
-        if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
-            install -d ${D}${systemd_unitdir}/system
-            sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
-		> ${D}${systemd_unitdir}/system/busybox-klogd.service
-        fi
     fi
 
     # Remove the sysvinit specific configuration file for systemd systems to avoid confusion
Signature · 1 line
2.7.4
#17 lore raw

PATCH 8/24 gawk: fix command location in ptest script

In reply to Robert Yang

From: Li Wang <[email protected]>

* Correct the command location in ptest scripts such as update the line "#!/bin/awk -f" to "#!/usr/bin/awk -f" in the file /usr/lib64/gawk/ptest/test/fcall_exit2.awk belongs to package gawk-ptest and the line "#!/usr/local/bin/gawk -f" to "#!/usr/bin/gawk -f" in the file /usr/lib64/gawk/ptest/test/fnarydel.awk

---
 meta/recipes-extended/gawk/gawk_4.2.1.bb | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-extended/gawk/gawk_4.2.1.bb +2 -0
index 6b99357..9663752 100644
@@ -43,6 +43,8 @@ do_install_ptest() {
 	for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \
 	  do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \
 	done
+	sed -i -e 's|/usr/local/bin|${bindir}|g' \
+	    -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
 }
 
 BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.7.4
#18 lore raw

PATCH 9/24 xinetd: add Init Script Actions to xinetd script

In reply to Robert Yang

From: Shan Hai <[email protected]>

The chkconfig fails to list the xinetd service because the xinetd lacks Init Script Actions in it, add the actions to fix it.

---
 meta/recipes-extended/xinetd/xinetd/xinetd.init | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
meta/recipes-extended/xinetd/xinetd/xinetd.init +11 -1
index 777c2c8..a021410 100644
@@ -1,5 +1,15 @@
 #!/bin/sh
-#
+### BEGIN INIT INFO
+# Provides:          inetd
+# Required-Start:    $local_fs $remote_fs
+# Required-Stop:     $local_fs $remote_fs
+# Should-Start:      $syslog
+# Should-Stop:       $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start or stop the xinetd daemon.
+### END INIT INFO
+
 # /etc/init.d/xinetd  --  script to start and stop xinetd.
 
 # Source function library.
Signature · 1 line
2.7.4
#19 lore raw

PATCH 10/24 dbus: update build options when enable ptest

In reply to Robert Yang

From: Kai Kang <[email protected]>

It fails to run some dbus-ptest cases that some symbols cannot be found:

| ./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

These missing symbols are controlled by some macros. Update configure options and compile macro to make the symbols visible to ptest cases.

---
 meta/recipes-core/dbus/dbus_1.12.8.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-core/dbus/dbus_1.12.8.bb +3 -1
index b3ddaaf..ff235f1 100644
@@ -92,7 +92,7 @@ pkg_postinst_dbus() {
 	fi
 }
 
-EXTRA_OECONF = "--disable-tests \
+EXTRA_OECONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-embedded-tests --enable-asserts --enable-verbose-mode', '--disable-tests', d)} \
                 --disable-xml-docs \
                 --disable-doxygen-docs \
                 --disable-libaudit \
@@ -102,6 +102,8 @@ EXTRA_OECONF = "--disable-tests \
 EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 EXTRA_OECONF_append_class-native = " --disable-selinux"
 
+EXTRA_OEMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'CFLAG_VISIBILITY=-fvisibility=default', '', d)}"
+
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
 PACKAGECONFIG_class-native = ""
 PACKAGECONFIG_class-nativesdk = ""
Signature · 1 line
2.7.4
#20 lore raw

Re: [PATCH 10/24] dbus: update build options when enable ptest

Qi said that this one can be covered by the fix:

commit 2d3e09949732ed48c8c9a328d9ab6ebbf6889b13

Author: Juro Bystricky <[email protected]>
Date:   Tue Feb 27 12:19:26 2018 -0800
    dbus-test_1.12.2: various fixes

So I dropped it from the PULL.

// Robert

Quoted 40 lines · Robert Yang

From: Kai Kang <[email protected]>

It fails to run some dbus-ptest cases that some symbols cannot be found:

| ./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

These missing symbols are controlled by some macros. Update configure options and compile macro to make the symbols visible to ptest cases.

---
  meta/recipes-core/dbus/dbus_1.12.8.bb | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-core/dbus/dbus_1.12.8.bb +3 -1
index b3ddaaf..ff235f1 100644
@@ -92,7 +92,7 @@ pkg_postinst_dbus() {
  	fi
  }
 
-EXTRA_OECONF = "--disable-tests \
+EXTRA_OECONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-embedded-tests --enable-asserts --enable-verbose-mode', '--disable-tests', d)} \
                  --disable-xml-docs \
                  --disable-doxygen-docs \
                  --disable-libaudit \
@@ -102,6 +102,8 @@ EXTRA_OECONF = "--disable-tests \
  EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
  EXTRA_OECONF_append_class-native = " --disable-selinux"
 
+EXTRA_OEMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'CFLAG_VISIBILITY=-fvisibility=default', '', d)}"
+
  PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
  PACKAGECONFIG_class-native = ""
  PACKAGECONFIG_class-nativesdk = ""
#21 lore raw

PATCH 11/24 gcc-sanitizers: Fix libtool .la files

In reply to Robert Yang

From: Yuanjie Huang <[email protected]>

Since libtool sysroot is not set when compiling sanitizers, the libtool does no prefix the dependency path correctly. Fix it, so that programs can link to sanitizer libraries without error.

---
 meta/recipes-devtools/gcc/gcc-sanitizers.inc | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-devtools/gcc/gcc-sanitizers.inc +2 -0
index e5e8452..2373dd8 100644
@@ -39,6 +39,8 @@ do_install () {
         rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
     fi
     chown -R root:root ${D}
+    # Fix broken libtool with stdc++, as sysroot is not set.
+    find ${D} -name \*.la -exec sed -i "/^dependency_libs=/s@'${libdir}'@=${libdir}@g" {} \;
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
Signature · 1 line
2.7.4
#22 lore raw

Re: [PATCH 11/24] gcc-sanitizers: Fix libtool .la files

this seems fine

Quoted 33 lines · Robert Yang

From: Yuanjie Huang <[email protected]>

Since libtool sysroot is not set when compiling sanitizers, the libtool does no prefix the dependency path correctly. Fix it, so that programs can link to sanitizer libraries without error.

---
 meta/recipes-devtools/gcc/gcc-sanitizers.inc | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-devtools/gcc/gcc-sanitizers.inc +2 -1
index e5e8452..2373dd8 100644
@@ -39,6 +39,8 @@ do_install () {
         rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
     fi
     chown -R root:root ${D}
+    # Fix broken libtool with stdc++, as sysroot is not set.
+    find ${D} -name \*.la -exec sed -i "/^dependency_libs=/s@'${libdir}'@=${libdir}@g" {} \;
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
--

2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#23 lore raw

PATCH 12/24 oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN

In reply to Robert Yang

It is helpful when exclude a lot of layers. It uses python re, and supports multiple patterns (separated by space).

---
 meta/lib/oe/copy_buildsystem.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
meta/lib/oe/copy_buildsystem.py +18 -0
index 4b94806..c43c2bd 100644
@@ -1,5 +1,12 @@
 # This class should provide easy access to the different aspects of the
 # buildsystem such as layers, bitbake location, etc.
+#
+# SDK_LAYERS_EXCLUDE: Layers which will be excluded from SDK layers.
+# SDK_LAYERS_EXCLUDE_PATTERN: The simiar to SDK_LAYERS_EXCLUDE, this supports
+#                             python regular expression, use space as separator,
+#                              e.g.: ".*-downloads closed-.*"
+#
+
 import stat
 import shutil
 
@@ -23,8 +30,10 @@ class BuildSystem(object):
         self.context = context
         self.layerdirs = [os.path.abspath(pth) for pth in d.getVar('BBLAYERS').split()]
         self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE') or "").split()
+        self.layers_exclude_pattern = d.getVar('SDK_LAYERS_EXCLUDE_PATTERN')
 
     def copy_bitbake_and_layers(self, destdir, workspace_name=None):
+        import re
         # Copy in all metadata layers + bitbake (as repositories)
         layers_copied = []
         bb.utils.mkdirhier(destdir)
@@ -40,8 +49,17 @@ class BuildSystem(object):
         # Exclude layers
         for layer_exclude in self.layers_exclude:
             if layer_exclude in layers:
+                bb.note('Excluded %s from sdk layers since it is in SDK_LAYERS_EXCLUDE' % layer_exclude)
                 layers.remove(layer_exclude)
 
+        if self.layers_exclude_pattern:
+            layers_cp = layers[:]
+            for pattern in self.layers_exclude_pattern.split():
+                for layer in layers_cp:
+                    if re.match(pattern, layer):
+                        bb.note('Excluded %s from sdk layers since matched SDK_LAYERS_EXCLUDE_PATTERN' % layer)
+                        layers.remove(layer)
+
         workspace_newname = workspace_name
         if workspace_newname:
             layernames = [os.path.basename(layer) for layer in layers]
Signature · 1 line
2.7.4
#24 lore raw

PATCH 13/24 dbus-test: sync x11 configure options with dbus

In reply to Robert Yang

From: Kai Kang <[email protected]>

Sync x11 related configure options with dbus and replace EXTRA_OECONF_X with PACKAGECONFIG for dbus-test.

Remove configure for native as well that no such native package.

---
 meta/recipes-core/dbus/dbus-test_1.12.8.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-core/dbus/dbus-test_1.12.8.bb +3 -3
index f33fbaf..020a340 100644
@@ -25,8 +25,8 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
 
 inherit autotools pkgconfig gettext ptest upstream-version-is-even
 
-EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
-EXTRA_OECONF_X_class-native = "--without-x"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
 
 EXTRA_OECONF = "--enable-tests \
                 --enable-modular-tests \
@@ -39,7 +39,7 @@ EXTRA_OECONF = "--enable-tests \
                 --disable-doxygen-docs \
                 --disable-libaudit \
                 --with-dbus-test-dir=${PTEST_PATH} \
-                ${EXTRA_OECONF_X}"
+                "
 
 EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 
Signature · 1 line
2.7.4
#25 lore raw

Re: [PATCH 13/24] dbus-test: sync x11 configure options with dbus

Qi said that this one can be covered by the fix:

commit 2d3e09949732ed48c8c9a328d9ab6ebbf6889b13

Author: Juro Bystricky <[email protected]>
Date:   Tue Feb 27 12:19:26 2018 -0800
    dbus-test_1.12.2: various fixes

So I dropped it from the PULL.

// Robert

Quoted 37 lines · Robert Yang

From: Kai Kang <[email protected]>

Sync x11 related configure options with dbus and replace EXTRA_OECONF_X with PACKAGECONFIG for dbus-test.

Remove configure for native as well that no such native package.

---
  meta/recipes-core/dbus/dbus-test_1.12.8.bb | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
meta/recipes-core/dbus/dbus-test_1.12.8.bb +3 -3
index f33fbaf..020a340 100644
@@ -25,8 +25,8 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
 
  inherit autotools pkgconfig gettext ptest upstream-version-is-even
 
-EXTRA_OECONF_X = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
-EXTRA_OECONF_X_class-native = "--without-x"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
 
  EXTRA_OECONF = "--enable-tests \
                  --enable-modular-tests \
@@ -39,7 +39,7 @@ EXTRA_OECONF = "--enable-tests \
                  --disable-doxygen-docs \
                  --disable-libaudit \
                  --with-dbus-test-dir=${PTEST_PATH} \
-                ${EXTRA_OECONF_X}"
+                "
 
  EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 
#26 lore raw

PATCH 14/24 site/powerpc64-linux: add cvs_cv_func_printf_ptr

In reply to Robert Yang

Fixed when powerpc64:

$ bitbake <image> -ctestsdk
[snip]
checking whether printf supports %p... configure: error: cannot run test program while cross compiling
See `config.log' for more details.
test_cvs (oeqa.sdk.buildcvs.BuildCvsTest) ... FAIL
[snip]

The cvs_cv_func_printf_ptr is already in powerpc32-linux.

---
 meta/site/powerpc64-linux | 2 ++
 1 file changed, 2 insertions(+)
meta/site/powerpc64-linux +2 -0
index d64e230..820a4b8 100644
@@ -37,3 +37,5 @@ ac_cv_linux_vers=${ac_cv_linux_vers=2}
 # apr
 apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes}
 
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
Signature · 1 line
2.7.4
#27 lore raw

PATCH 15/24 rootfs-postcommands: split ssh_allow_empty_password

In reply to Robert Yang

From: Jackie Huang <[email protected]>

"allow root login" should not be bundled in ssh_allow_empty_password, because some distro may want only one of "allow root login" and "allow empty password", so split it out into ssh_allow_root_login and add new imagefeature allow-root-login so they can be controlled separately, debug-tweaks will still include both of them.

---
 meta/classes/image.bbclass               |  2 +-
 meta/classes/rootfs-postcommands.bbclass | 25 ++++++++++++++++++++++---
 2 files changed, 23 insertions(+), 4 deletions(-)
meta/classes/image.bbclass +1 -1
index 2247b30..28e64ba 100644
@@ -23,7 +23,7 @@ inherit ${TESTIMAGECLASS}
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password allow-empty-password post-install-logging"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging"
 
 # Generate companion debugfs?
 IMAGE_GEN_DEBUGFS ?= "0"
meta/classes/rootfs-postcommands.bbclass +22 -3
index 5522209..72cc6db 100644
@@ -2,9 +2,12 @@
 # Zap the root password if debug-tweaks feature is not enabled
 ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password ; ",d)}'
 
-# Allow dropbear/openssh to accept logins from accounts with an empty password string if debug-tweaks is enabled
+# Allow dropbear/openssh to accept logins from accounts with an empty password string if debug-tweaks or allow-empty-password is enabled
 ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-empty-password' ], "ssh_allow_empty_password; ", "",d)}'
 
+# Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}'
+
 # Enable postinst logging if debug-tweaks is enabled
 ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}'
 
@@ -146,12 +149,11 @@ zap_empty_root_password () {
 }
 
 #
-# allow dropbear/openssh to accept root logins and logins from accounts with an empty password string
+# allow dropbear/openssh to accept logins from accounts with an empty password string
 #
 ssh_allow_empty_password () {
 	for config in sshd_config sshd_config_readonly; do
 		if [ -e ${IMAGE_ROOTFS}${sysconfdir}/ssh/$config ]; then
-			sed -i 's/^[#[:space:]]*PermitRootLogin.*/PermitRootLogin yes/' ${IMAGE_ROOTFS}${sysconfdir}/ssh/$config
 			sed -i 's/^[#[:space:]]*PermitEmptyPasswords.*/PermitEmptyPasswords yes/' ${IMAGE_ROOTFS}${sysconfdir}/ssh/$config
 		fi
 	done
@@ -174,6 +176,23 @@ ssh_allow_empty_password () {
 	fi
 }
 
+#
+# allow dropbear/openssh to accept root logins
+#
+ssh_allow_root_login () {
+	for config in sshd_config sshd_config_readonly; do
+		if [ -e ${IMAGE_ROOTFS}${sysconfdir}/ssh/$config ]; then
+			sed -i 's/^[#[:space:]]*PermitRootLogin.*/PermitRootLogin yes/' ${IMAGE_ROOTFS}${sysconfdir}/ssh/$config
+		fi
+	done
+
+	if [ -e ${IMAGE_ROOTFS}${sbindir}/dropbear ] ; then
+		if grep -q DROPBEAR_EXTRA_ARGS ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear 2>/dev/null ; then
+			sed -i '/^DROPBEAR_EXTRA_ARGS=/ s/-w//' ${IMAGE_ROOTFS}${sysconfdir}/default/dropbear
+		fi
+	fi
+}
+
 ssh_disable_dns_lookup () {
 	if [ -e ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config ]; then
 		sed -i -e 's:#UseDNS yes:UseDNS no:' ${IMAGE_ROOTFS}${sysconfdir}/ssh/sshd_config
Signature · 1 line
2.7.4
#28 lore raw

PATCH 16/24 dropbear: add default config file to disable root login

In reply to Robert Yang

From: Jackie Huang <[email protected]>

root login is disabled by default for openssh and we can enable it through IMAGE_FEATURES 'debug-tweaks' or 'allow-empty-password', so change to the same default behavior for dropbear.

---
 meta/recipes-core/dropbear/dropbear.inc              | 3 +++
 meta/recipes-core/dropbear/dropbear/dropbear.default | 2 ++
 2 files changed, 5 insertions(+)
 create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear.default
meta/recipes-core/dropbear/dropbear.inc +3 -0
index 16ac644..3c79be9 100644
@@ -20,6 +20,7 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
            file://dropbearkey.service \
            file://[email protected] \
            file://dropbear.socket \
+           file://dropbear.default \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} "
 
 PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
@@ -63,6 +64,8 @@ do_install() {
 		${D}${sbindir} \
 		${D}${localstatedir}
 
+	install -m 0755 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
+
 	install -m 0755 dropbearmulti ${D}${sbindir}/
 	ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
 
meta/recipes-core/dropbear/dropbear/dropbear.default new file +2 -0
new file mode 100644
index 0000000..522453a
@@ -0,0 +1,2 @@
+# Disallow root logins by default
+DROPBEAR_EXTRA_ARGS="-w"
Signature · 1 line
2.7.4
#29 lore raw

Re: [PATCH 16/24] dropbear: add default config file to disable root login

Quoted 27 lines · Robert Yang

From: Jackie Huang <[email protected]>

root login is disabled by default for openssh and we can enable it through IMAGE_FEATURES 'debug-tweaks' or 'allow-empty-password', so change to the same default behavior for dropbear.

---
 meta/recipes-core/dropbear/dropbear.inc              | 3 +++
 meta/recipes-core/dropbear/dropbear/dropbear.default | 2 ++
 2 files changed, 5 insertions(+)
 create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear.default
meta/recipes-core/dropbear/dropbear.inc +1 -0
index 16ac644..3c79be9 100644
@@ -20,6 +20,7 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
            file://dropbearkey.service \
            file://[email protected] \
            file://dropbear.socket \
+           file://dropbear.default \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} "
 
 PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \

meta/recipes-core/dropbear/dropbear.inc do_install() { · line 67

Quoted 4 lines
meta/recipes-core/dropbear/dropbear.inc +1 -0
@@ -63,6 +64,8 @@ do_install() {
                ${D}${sbindir} \
                ${D}${localstatedir}
 
+       install -m 0755 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear

Files in /etc/default don't need to be executable.

Quoted 20 lines
meta/recipes-core/dropbear/dropbear.inc +1 -0
+
        install -m 0755 dropbearmulti ${D}${sbindir}/
        ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
 
meta/recipes-core/dropbear/dropbear/dropbear.default new file +2 -1
new file mode 100644
index 0000000..522453a
@@ -0,0 +1,2 @@
+# Disallow root logins by default
+DROPBEAR_EXTRA_ARGS="-w"
--

2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#30 lore raw

Re: [PATCH 16/24] dropbear: add default config file to disable root login

Quoted 26 lines · Andre McCurdy
Quoted 25 lines · Robert Yang

From: Jackie Huang <[email protected]>

root login is disabled by default for openssh and we can enable it through IMAGE_FEATURES 'debug-tweaks' or 'allow-empty-password', so change to the same default behavior for dropbear.

---
  meta/recipes-core/dropbear/dropbear.inc              | 3 +++
  meta/recipes-core/dropbear/dropbear/dropbear.default | 2 ++
  2 files changed, 5 insertions(+)

create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear.default

meta/recipes-core/dropbear/dropbear.inc +1 -0
index 16ac644..3c79be9 100644
@@ -20,6 +20,7 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
             file://dropbearkey.service \
             file://[email protected] \
             file://dropbear.socket \
+           file://dropbear.default \
             ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} "
 
Quoted 8 lines

meta/recipes-core/dropbear/dropbear.inc do_install() { · line 67

Quoted 6 lines
meta/recipes-core/dropbear/dropbear.inc +1 -0
  PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
@@ -63,6 +64,8 @@ do_install() {
                 ${D}${sbindir} \
                 ${D}${localstatedir}
 
+       install -m 0755 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear

Files in /etc/default don't need to be executable.

Thanks, I updated it to 0644 in the repo:

install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear

// Robert

Quoted 22 lines
Quoted 21 lines
meta/recipes-core/dropbear/dropbear.inc +1 -0
+
         install -m 0755 dropbearmulti ${D}${sbindir}/
         ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
 
meta/recipes-core/dropbear/dropbear/dropbear.default new file +2 -1
new file mode 100644
index 0000000..522453a
@@ -0,0 +1,2 @@
+# Disallow root logins by default
+DROPBEAR_EXTRA_ARGS="-w"
--

2.7.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#31 lore raw

PATCH 17/24 toolchain-scripts.bbclass: do not extend dependency if extended already

In reply to Robert Yang

From: Kai Kang <[email protected]>

When set MULTILIBS with two or more items, such as for mips64:

MULTILIBS ?= "multilib:lib32 multilib:libn32"

It expands dependency once in mutlib.bbclass, and expand again in toolchain-scripts.bbclass which causes error:

| ERROR: Nothing PROVIDES 'virtual/lib32-libn32-libc'. Close matches:
|   virtual/libn32-libc
|   virtual/lib32-libc
|   virtual/libn32-librpc
| ERROR: Required build target 'libn32-meta-ide-support' has no buildable providers.
| Missing or unbuildable dependency chain was: ['libn32-meta-ide-support', 'virtual/lib32-libn32-libc']
---
 meta/classes/toolchain-scripts.bbclass | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)
meta/classes/toolchain-scripts.bbclass +12 -1
index 71da5e5..848bff4 100644
@@ -170,7 +170,18 @@ python __anonymous () {
     deps = ""
     for dep in (d.getVar('TOOLCHAIN_NEED_CONFIGSITE_CACHE') or "").split():
         deps += " %s:do_populate_sysroot" % dep
-        for variant in (d.getVar('MULTILIB_VARIANTS') or "").split():
+        ml_variants = (d.getVar('MULTILIB_VARIANTS') or "").split()
+
+        # don't extend if dep has been extended already
+        extended = False
+        for variant in ml_variants:
+            if dep.startswith(variant) or dep.startswith('virtual/' + variant):
+                extended = True
+                break
+        if extended:
+            continue
+
+        for variant in ml_variants:
             clsextend = oe.classextend.ClassExtender(variant, d)
             newdep = clsextend.extend_name(dep)
             deps += " %s:do_populate_sysroot" % newdep
Signature · 1 line
2.7.4
#32 lore raw

PATCH 18/24 shadow: update ownership and permission of /var/spool/mail

In reply to Robert Yang

From: Kai Kang <[email protected]>

Update shadow to change ownership of /var/spool/mail from root:root to root:mail and permission from 0755 to 0775 just as in most popular distributions such as fedora and debian(It also set setgid bit in debian but we don't need it).

---
 meta/recipes-extended/shadow/shadow.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-extended/shadow/shadow.inc +2 -1
index 673207f..ca1facf 100644
@@ -127,7 +127,8 @@ do_install_append() {
 	# Ensure that the image has as a /var/spool/mail dir so shadow can
 	# put mailboxes there if the user reconfigures shadow to its
 	# defaults (see sed below).
-	install -d ${D}${localstatedir}/spool/mail
+	install -m 0775 -d ${D}${localstatedir}/spool/mail
+	chown root:mail ${D}${localstatedir}/spool/mail
 
 	if [ -e ${WORKDIR}/pam.d ]; then
 		install -d ${D}${sysconfdir}/pam.d/
Signature · 1 line
2.7.4
#33 lore raw

PATCH 19/24 populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

In reply to Robert Yang

From: Chen Qi <[email protected]>

Add ESDK_MANIFEST_EXCLUDES to enable excluding items in sdk-conf-manifest.

By default, files under conf/ are all added to sdk-conf-manifest, as the manifest file is set to 'conf/*'.

However, there are situations where some configuration files under conf/ directory are not intended to be added to sdk-conf-manifest, thus adding ESDK_MANIFEST_EXCLUDES to enable users to do this.

This variable takes the form of glob matching.
e.g.
ESDK_MANIFEST_EXCLUDES = "conf/autogen*"
This would exclude all files under conf/ starting with 'autogen' from sdk-conf-manifest.

---
 meta/classes/populate_sdk_ext.bbclass | 6 ++++++
 1 file changed, 6 insertions(+)
meta/classes/populate_sdk_ext.bbclass +6 -0
index e1bba49..017c4b6 100644
@@ -484,12 +484,18 @@ python copy_buildsystem () {
     # sdk_ext_postinst() below) thus the checksum we take here would always
     # be different.
     manifest_file_list = ['conf/*']
+    esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
+    esdk_manifest_excludes_list = []
+    for exclude_item in esdk_manifest_excludes:
+        esdk_manifest_excludes_list += glob.glob(os.path.join(baseoutpath, exclude_item))
     manifest_file = os.path.join(baseoutpath, 'conf', 'sdk-conf-manifest')
     with open(manifest_file, 'w') as f:
         for item in manifest_file_list:
             for fn in glob.glob(os.path.join(baseoutpath, item)):
                 if fn == manifest_file:
                     continue
+                if fn in esdk_manifest_excludes_list:
+                    continue
                 chksum = bb.utils.sha256_file(fn)
                 f.write('%s\t%s\n' % (chksum, os.path.relpath(fn, baseoutpath)))
 }
Signature · 1 line
2.7.4
#34 lore raw

PATCH 20/24 init-install: add timeout for legacy grub

In reply to Robert Yang

From: Catalin Enache <[email protected]>

After installing an image from an iso, booting the system using the legacy boots makes the grub prompt wait for an enter.

This is not desirable since many of this devices are embedded devices that should start by them self without user entry.

---
 meta/recipes-core/initrdscripts/files/init-install.sh | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-core/initrdscripts/files/init-install.sh +2 -0
index 28e8f09..e715796 100644
@@ -302,6 +302,8 @@ if [ -f /etc/grub.d/00_header -a $grub_version -ne 0 ] ; then
     GRUBCFG="/boot/grub/grub.cfg"
     mkdir -p $(dirname $GRUBCFG)
     cat >$GRUBCFG <<_EOF
+timeout=5
+default=0
 menuentry "Linux" {
     search --no-floppy --fs-uuid $boot_uuid --set root
     linux /$kernel root=PARTUUID=$root_part_uuid $rootwait rw $5 $3 $4 quiet
Signature · 1 line
2.7.4
#35 lore raw

PATCH 21/24 glibc: re-package for libnss-db

In reply to Robert Yang

From: Jackie Huang <[email protected]>

On other distros like ubuntu/centos, libnss-db usually provides:
- The libraries
- The Makefile to create database
(in /var/db for centos, /var/lib/misc/ for ubuntu)
- The makedb command (it's in glibc-common for centos7)

What we had is:
- The libraries are in glibc-extra-nss
- The Makefile is removed
- The makedb command is in glibc-utils (lack of dependency)

So when glibc-extra-nss is installed but glibc-utils is not,
we see error like:
nscd[165]: 165 checking for monitored file /var/db/group.db': No such file or directory nscd[165]: 165 checking for monitored file /var/db/passwd.db': No such file or directory

And there is not an easy way to create these databases.

To fix the issue:
- Re-package the libraries into libnss-db
- Don't remove the Makefile and add it in libnss-db
- Add RDEPENDS for libnss-db on glibc-utils and make

Notes:
For external toolchain, an extra package 'libnss-db' need to be provided If replacing glibc from core.

---
 meta/recipes-core/glibc/glibc-package.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
meta/recipes-core/glibc/glibc-package.inc +3 -2
index ae3f2f6..ad0c6d5 100644
@@ -1,6 +1,6 @@
 INHIBIT_SYSROOT_STRIP = "1"
 
-PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
+PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
 
 # The ld.so in this glibc supports the GNU_HASH
 RPROVIDES_${PN} = "eglibc rtld(GNU_HASH)"
@@ -23,6 +23,8 @@ FILES_ldd = "${bindir}/ldd"
 FILES_libsegfault = "${base_libdir}/libSegFault*"
 FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
 FILES_libmemusage = "${base_libdir}/libmemusage.so"
+FILES_libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile"
+RDEPENDS_libnss-db = "${PN}-utils make"
 FILES_glibc-extra-nss = "${base_libdir}/libnss_*-*.so ${base_libdir}/libnss_*.so.*"
 FILES_sln = "${base_sbindir}/sln"
 FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
@@ -59,7 +61,6 @@ inherit libc-common multilib_header
 
 do_install_append () {
 	rm -f ${D}${sysconfdir}/localtime
-	rm -rf ${D}${localstatedir}
 
 	# remove empty glibc dir
 	if [ -d ${D}${libexecdir} ]; then
Signature · 1 line
2.7.4
#36 lore raw

PATCH 22/24 rpcbind: add option to make user able to use fixed port number

In reply to Robert Yang

From: Li Wang <[email protected]>

Add option "-p" to specify fixed port number

---
 .../rpcbind_add_option_to_fix_port_number.patch    | 130 +++++++++++++++++++++
 meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb     |   1 +
 2 files changed, 131 insertions(+)
 create mode 100644 meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch new file +130 -0
new file mode 100644
index 0000000..434b6b1
@@ -0,0 +1,130 @@
+From 76f8598fd20727908e760cbb497dd6a17eda4af5 Mon Sep 17 00:00:00 2001
+From: Roy Li <[email protected]>
+Date: Wed, 17 Sep 2014 13:22:14 +0800
+Subject: [PATCH] add option to make users able to use fixed port number
+
+Upstream-Status: Submitted [https://sourceforge.net/p/rpcbind/discussion/716839/thread/32af721d/]
+
+Signed-off-by: Li Wang <[email protected]>
+Signed-off-by: Roy Li <[email protected]>
+Signed-off-by: Yi Zhao <[email protected]>
+---
+ man/rpcbind.8      |  4 +++-
+ src/rpcb_svc_com.c | 17 +++++++++++++++++
+ src/rpcbind.c      |  8 ++++++--
+ 3 files changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/man/rpcbind.8 b/man/rpcbind.8
+index af6200f..2e6146b 100644
+--- a/man/rpcbind.8
++++ b/man/rpcbind.8
+@@ -11,7 +11,7 @@
+ .Nd universal addresses to RPC program number mapper
+ .Sh SYNOPSIS
+ .Nm
+-.Op Fl adhiLls
++.Op Fl adhpiLls
+ .Sh DESCRIPTION
+ The
+ .Nm
+@@ -107,6 +107,8 @@ will automatically add
+ and if IPv6 is enabled,
+ .Li ::1
+ to the list.
++.It Fl p
++Bind for fixed UDP port number
+ .It Fl i
+ .Dq Insecure
+ mode.
+diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
+index 8aef9e5..c2632a4 100644
+--- a/src/rpcb_svc_com.c
++++ b/src/rpcb_svc_com.c
+@@ -48,6 +48,7 @@
+ #include <rpc/rpc.h>
+ #include <rpc/rpcb_prot.h>
+ #include <rpc/svc_dg.h>
++#include <rpc/rpc_com.h>
+ #include <netconfig.h>
+ #include <errno.h>
+ #include <syslog.h>
+@@ -497,6 +498,7 @@ xdr_opaque_parms(XDR *xdrs, struct r_rmtcall_args *cap)
+ 
+ static struct rmtcallfd_list *rmthead;
+ static struct rmtcallfd_list *rmttail;
++extern unsigned short fixed_port;
+ 
+ int
+ create_rmtcall_fd(struct netconfig *nconf)
+@@ -504,6 +506,8 @@ create_rmtcall_fd(struct netconfig *nconf)
+ 	int fd;
+ 	struct rmtcallfd_list *rmt;
+ 	SVCXPRT *xprt;
++	struct __rpc_sockinfo si;
++	struct t_bind taddr;
+ 
+ 	if ((fd = __rpc_nconf2fd(nconf)) == -1) {
+ 		if (debugging)
+@@ -512,6 +516,19 @@ create_rmtcall_fd(struct netconfig *nconf)
+ 			nconf->nc_device, errno);
+ 		return (-1);
+ 	}
++
++	if (fixed_port) {
++		__rpc_fd2sockinfo(fd, &si);
++		memset(&taddr, 0, sizeof(taddr));
++		taddr.addr.maxlen = taddr.addr.len = si.si_alen;
++		taddr.addr.buf = malloc(si.si_alen);
++		if (taddr.addr.buf == NULL) {
++			return -1;
++		}
++		*(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
++		*(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
++		xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
++	} else
+ 	xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0);
+ 	if (xprt == NULL) {
+ 		if (debugging)
+diff --git a/src/rpcbind.c b/src/rpcbind.c
+index 137011b..dc3d2d6 100644
+--- a/src/rpcbind.c
++++ b/src/rpcbind.c
+@@ -111,6 +111,7 @@ int runasdaemon = 0;
+ int insecure = 0;
+ int oldstyle_local = 0;
+ int verboselog = 0;
++unsigned short fixed_port = 0;
+ 
+ char **hosts = NULL;
+ int nhosts = 0;
+@@ -869,7 +870,7 @@ parseargs(int argc, char *argv[])
+ {
+ 	int c;
+ 	oldstyle_local = 1;
+-	while ((c = getopt(argc, argv, "adh:ilswf")) != -1) {
++	while ((c = getopt(argc, argv, "adh:p:ilswf")) != -1) {
+ 		switch (c) {
+ 		case 'a':
+ 			doabort = 1;	/* when debugging, do an abort on */
+@@ -887,6 +888,9 @@ parseargs(int argc, char *argv[])
+ 			if (hosts[nhosts - 1] == NULL)
+ 				errx(1, "Out of memory");
+ 			break;
++		case 'p':
++			fixed_port = atoi(optarg);
++			break;
+ 		case 'i':
+ 			insecure = 1;
+ 			break;
+@@ -905,7 +909,7 @@ parseargs(int argc, char *argv[])
+ 			break;
+ #endif
+ 		default:	/* error */
+-			fprintf(stderr,	"usage: rpcbind [-adhilswf]\n");
++			fprintf(stderr,	"usage: rpcbind [-adhpilswf]\n");
+ 			exit (1);
+ 		}
+ 	}
+-- 
+1.9.1
+
meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb +1 -0
index dcdee6c..3c6774c 100644
@@ -18,6 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
            file://0001-rpcbind-pair-all-svc_getargs-calls-with-svc_freeargs.patch \
            file://pmapproc_dump-Fixed-typo-in-memory-leak-patch.patch \
            file://rpcbproc_callit_com-Stop-freeing-a-static-pointer.patch \
+           file://rpcbind_add_option_to_fix_port_number.patch \
           "
 SRC_URI[md5sum] = "cf10cd41ed8228fc54c316191c1f07fe"
 SRC_URI[sha256sum] = "074a9a530dc7c11e0d905aa59bcb0847c009313f02e98d3d798aa9568f414c66"
Signature · 1 line
2.7.4
#37 lore raw

PATCH 23/24 openssl-nativesdk: Fix "can't open config file" warning

In reply to Robert Yang

From: Ovidiu Panait <[email protected]>

When SDK is not installed in the default location, openssl will not be able to find the the openssl.cnf config file:

"WARNING: can't open config file: XXXX/usr/lib/ssl/openssl.cnf"

To fix this, we need to provide the environment variable $OPENSSL_CONF pointing to the correct config file location.

---
 .../openssl/openssl/environment.d-openssl.sh                  |  1 +
 meta/recipes-connectivity/openssl/openssl10.inc               |  7 +++++++
 meta/recipes-connectivity/openssl/openssl_1.0.2o.bb           |  5 +++++
 meta/recipes-connectivity/openssl/openssl_1.1.0h.bb           | 11 +++++++++++
 4 files changed, 24 insertions(+)
 create mode 100644 meta/recipes-connectivity/openssl/openssl/environment.d-openssl.sh
meta/recipes-connectivity/openssl/openssl/environment.d-openssl.sh new file +1 -0
new file mode 100644
index 0000000..b9cc24a
@@ -0,0 +1 @@
+export OPENSSL_CONF="$OECORE_NATIVE_SYSROOT/usr/lib/ssl/openssl.cnf"
meta/recipes-connectivity/openssl/openssl10.inc +7 -0
index 645d64e..9f23758 100644
@@ -281,5 +281,12 @@ do_install_append_class-native() {
 	    OPENSSL_ENGINES=${libdir}/ssl/engines
 }
 
+do_install_append_class-nativesdk() {
+    mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+    install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
 BBCLASSEXTEND = "native nativesdk"
 
meta/recipes-connectivity/openssl/openssl_1.0.2o.bb +5 -0
index 413ebf3..7cae553 100644
@@ -47,6 +47,11 @@ SRC_URI_append_class-target = "\
            file://reproducible-cflags.patch \
            file://reproducible-mkbuildinf.patch \
            "
+
+SRC_URI_append_class-nativesdk = " \
+           file://environment.d-openssl.sh \
+           "
+
 SRC_URI[md5sum] = "44279b8557c3247cbe324e2322ecd114"
 SRC_URI[sha256sum] = "ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d"
 
meta/recipes-connectivity/openssl/openssl_1.1.0h.bb +11 -0
index 94b75eb..29f83a3 100644
@@ -19,6 +19,10 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
            file://0001-Take-linking-flags-from-LDFLAGS-env-var.patch \
            "
 
+SRC_URI_append_class-nativesdk = " \
+           file://environment.d-openssl.sh \
+          "
+
 S = "${WORKDIR}/openssl-${PV}"
 
 inherit lib_package multilib_header ptest
@@ -142,6 +146,13 @@ do_install_append_class-native () {
         sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
 }
 
+do_install_append_class-nativesdk() {
+    mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+    install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
 do_install_ptest() {
         cp -r * ${D}${PTEST_PATH}
 
Signature · 1 line
2.7.4
#38 lore raw

PATCH 24/24 nativesdk-rpm: Add wrappers for nativesdk support

In reply to Robert Yang

From: Ovidiu Panait <[email protected]>

When installing the SDK to a non-default path, running "rpm --showrc" from the
sdk will produce the following error:
error: Unable to open /opt/windriver/wrlinux-small/10.17.41/sysroots/x86_64-wrlinuxsdk-linux/usr/lib/rpm/rpmrc for reading: No such file or directory.

Fix this by adding wrappers that dynamically export the RPM_CONFIGDIR, RPM_ETCCONFIGDIR and MAGIC environment variables, pointing to the proper sdk locations.

---
 meta/recipes-devtools/rpm/rpm_4.14.1.bb | 42 ++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 14 deletions(-)
meta/recipes-devtools/rpm/rpm_4.14.1.bb +28 -14
index d49530e..cf26c1e 100644
@@ -67,6 +67,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 = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -77,21 +78,22 @@ ASNEEDED = ""
 
 # Direct rpm-native to read configuration from our sysroot, not the one it was compiled in
 # libmagic also has sysroot path contamination, so override it
+
+WRAPPER_TOOLS = " \
+   ${bindir}/rpm \
+   ${bindir}/rpm2archive \
+   ${bindir}/rpm2cpio \
+   ${bindir}/rpmbuild \
+   ${bindir}/rpmdb \
+   ${bindir}/rpmgraph \
+   ${bindir}/rpmkeys \
+   ${bindir}/rpmsign \
+   ${bindir}/rpmspec \
+   ${libdir}/rpm/rpmdeps \
+"
+
 do_install_append_class-native() {
-        tools="\
-                ${bindir}/rpm \
-                ${bindir}/rpm2archive \
-                ${bindir}/rpm2cpio \
-                ${bindir}/rpmbuild \
-                ${bindir}/rpmdb \
-                ${bindir}/rpmgraph \
-                ${bindir}/rpmkeys \
-                ${bindir}/rpmsign \
-                ${bindir}/rpmspec \
-                ${libdir}/rpm/rpmdeps \
-        "
-
-        for tool in $tools; do
+        for tool in ${WRAPPER_TOOLS}; do
                 create_wrapper ${D}$tool \
                         RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \
                         RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \
@@ -100,6 +102,18 @@ do_install_append_class-native() {
         done
 }
 
+do_install_append_class-nativesdk() {
+        for tool in ${WRAPPER_TOOLS}; do
+                create_wrapper ${D}$tool \
+                        RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
+                        RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/..} \
+                        MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/misc/magic.mgc \
+                        RPM_NO_CHROOT_FOR_SCRIPTS=1
+        done
+
+        rm -rf ${D}/var
+}
+
 # Rpm's make install creates var/tmp which clashes with base-files packaging
 do_install_append_class-target() {
     rm -rf ${D}/var
Signature · 1 line
2.7.4
#39 lore raw
In reply to Robert Yang
Quoted 8 lines · Robert Yang

Hi RP and Ross,

These are part of our local patches, most of them have been sent before, but didn't get reply, would you please help to review and merge/reject them? Thank you very much, All of them are good changes from my side.

// Robert

Quoted 8 lines

The following changes since commit 9da097b0de6425464ebd3f0539b7495b11d139b5:

   libnss-mdns: fix postinst and postrm (2018-05-22 13:09:04 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib rbt/24fixes
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/24fixes

Since there are only 22 fixes now, I put them to a more generic branch:

git://git.openembedded.org/openembedded-core-contrib rbt/fix_from_wr
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/fix_from_wr

// Robert

Quoted 95 lines

Catalin Enache (1):
init-install: add timeout for legacy grub

Chen Qi (1):
populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

Hu (1):
shadow: fix pam configs for chpasswd, newusers

Jackie Huang (3):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login
glibc: re-package for libnss-db

Jian Liu (1):
lsof: fix LSOF_CCV in version.h

Kai Kang (4):
dbus: update build options when enable ptest
dbus-test: sync x11 configure options with dbus toolchain-scripts.bbclass: do not extend dependency if extended
already
shadow: update ownership and permission of /var/spool/mail

Li Wang (2):
gawk: fix command location in ptest script
rpcbind: add option to make user able to use fixed port number

Mark Hatle (1):
base.bbclass: Add buildcfg multilib values

Mingli Yu (1):
at: add libselinux to PACKAGECONFIG

Ovidiu Panait (2):
openssl-nativesdk: Fix "can't open config file" warning
nativesdk-rpm: Add wrappers for nativesdk support

Robert Yang (3):
runqemu-extract-sdk: allow install debugfs on rootfs oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN site/powerpc64-linux: add cvs_cv_func_printf_ptr

Shan Hai (1):
xinetd: add Init Script Actions to xinetd script

Yadi.hu (1):
busybox: handle syslog

Yuanjie Huang (1):
gcc-sanitizers: Fix libtool .la files

Yue Tao (1):
initscripts: Avoid starting rpcbind daemon twice

  meta/classes/base.bbclass                          |  16 ++-
  meta/classes/image.bbclass                         |   2 +-
  meta/classes/populate_sdk_ext.bbclass              |   6 +
  meta/classes/rootfs-postcommands.bbclass           |  25 +++-
  meta/classes/toolchain-scripts.bbclass             |  13 ++-
  meta/conf/bitbake.conf                             |   2 +-
  meta/lib/oe/copy_buildsystem.py                    |  18 +++
  .../openssl/openssl/environment.d-openssl.sh       |   1 +
  meta/recipes-connectivity/openssl/openssl10.inc    |   7 ++
  .../recipes-connectivity/openssl/openssl_1.0.2o.bb |   5 +
  .../recipes-connectivity/openssl/openssl_1.1.0h.bb |  11 ++
  meta/recipes-core/busybox/busybox.inc              |  14 ++-
  meta/recipes-core/dbus/dbus-test_1.12.8.bb         |   6 +-
  meta/recipes-core/dbus/dbus_1.12.8.bb              |   4 +-
  meta/recipes-core/dropbear/dropbear.inc            |   3 +
  .../dropbear/dropbear/dropbear.default             |   2 +
  meta/recipes-core/glibc/glibc-package.inc          |   5 +-
  .../initrdscripts/files/init-install.sh            |   2 +
  .../initscripts/initscripts-1.0/mountnfs.sh        |   9 +-
  meta/recipes-devtools/gcc/gcc-sanitizers.inc       |   2 +
  meta/recipes-devtools/rpm/rpm_4.14.1.bb            |  42 ++++---
  meta/recipes-extended/at/at_3.1.20.bb              |   6 +
  meta/recipes-extended/gawk/gawk_4.2.1.bb           |   2 +
  .../files/Configure-fix-LSOF_CCV-assignment.patch  |  31 +++++
  meta/recipes-extended/lsof/lsof_4.89.bb            |   4 +-
  .../rpcbind_add_option_to_fix_port_number.patch    | 130 +++++++++++++++++++++
  meta/recipes-extended/rpcbind/rpcbind_0.2.4.bb     |   1 +
  meta/recipes-extended/shadow/files/pam.d/chpasswd  |   2 +
  meta/recipes-extended/shadow/files/pam.d/newusers  |   2 +
  meta/recipes-extended/shadow/shadow.inc            |   3 +-
  meta/recipes-extended/xinetd/xinetd/xinetd.init    |  12 +-
  meta/site/powerpc64-linux                          |   2 +
  scripts/runqemu-extract-sdk                        |   4 +-
  33 files changed, 355 insertions(+), 39 deletions(-)

create mode 100644 meta/recipes-connectivity/openssl/openssl/environment.d-openssl.sh create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear.default
create mode 100644 meta/recipes-extended/lsof/files/Configure-fix-LSOF_CCV-assignment.patch create mode 100644 meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch