Skip to contentSkip to conversation

meta: various fixes

PATCH Superseded Robert Yang 3 participants 19 messages Jun 6, 2018 – Jul 13, 2018

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v3 cover meta: various fixes

* V3:
- Fix RP's comments
Fix comments for "lsof: fix LSOF_CCV in version.h"
Fix "rootfs-postcommands: split ssh_allow_empty_password" since it caused a oe-selftest case failed.

- Drop already merge commits

- Drop unneeded commit:
gcc-sanitizers: Fix libtool .la files

- Drop an incorrect commit which caused oe-selftest failed:
glibc: re-package for libnss-db
This one needs rework.

- Ran "oe-selftest -a" to test it.

* V2:
Rebase to up-to-date master branch and drop already merged patches.

* V1: Initial version

// Robert

The following changes since commit cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c:

  oe-pkgdata-util: package-info: Re-add support for the --extra option (2018-06-04 15:14:43 +0100)

are available in the git repository at:

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

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

Jackie Huang (2):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login

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

Kai Kang (1):
toolchain-scripts.bbclass: do not extend dependency if extended
already

Li Wang (1):
rpcbind: add option to make user able to use fixed port number

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

Ovidiu Panait (1):
openssl-nativesdk: Fix "can't open config file" warning

Robert Yang (1):
oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN

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

Yadi.hu (1):
busybox: handle syslog

 meta/classes/base.bbclass                          |  13 ++-
 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 +++
 meta/lib/oeqa/selftest/cases/imagefeatures.py      |   4 +-
 .../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/dropbear/dropbear.inc            |   3 +
 .../dropbear/dropbear/dropbear.default             |   2 +
 .../files/Configure-fix-LSOF_CCV-assignment.patch  |  42 +++++++
 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/xinetd/xinetd/xinetd.init    |  12 +-
 20 files changed, 299 insertions(+), 16 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 v3 1/11 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 | 13 ++++++++++++-
 meta/conf/bitbake.conf    |  2 +-
 2 files changed, 13 insertions(+), 2 deletions(-)
meta/classes/base.bbclass +12 -1
index 1a359a0..47ecff4 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,17 @@ 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 = 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)
+
 def buildcfg_neededvars(d):
     needed_vars = oe.data.typed_value("BUILDCFG_NEEDEDVARS", d)
     pesteruser = []
meta/conf/bitbake.conf +1 -1
index 3b2ef9f..1d9c715 100644
@@ -698,7 +698,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

PATCH v3 2/11 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  | 42 ++++++++++++++++++++++
 meta/recipes-extended/lsof/lsof_4.89.bb            |  4 ++-
 2 files changed, 45 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 +42 -0
new file mode 100644
index 0000000..17c5c4b
@@ -0,0 +1,42 @@
+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
+
+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) "
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <[email protected]>
+Signed-off-by: Robert Yang <[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
#3 lore raw

Re: [PATCH V3 02/11] lsof: fix LSOF_CCV in version.h

I really wish I didn't look at the lsof recipe...

To my reading if you pass LSOF_CC in do_configure (as you do in this patch) then we don't need to patch Configure to move the LSOF_CCV assignment at all, and can also drop the CC=${CC} from do_compile.

(I'm now going to scoop up the brain that oozed out of my ears off the floor)

Ross

Quoted 99 lines · 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  | 42 ++++++++++++++++++++++
 meta/recipes-extended/lsof/lsof_4.89.bb            |  4 ++-
 2 files changed, 45 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 +42 -0
new file mode 100644
index 0000000..17c5c4b
@@ -0,0 +1,42 @@
+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
+
+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) "
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <[email protected]>
+Signed-off-by: Robert Yang <[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 -2
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
--

2.7.4

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

#4 lore raw

Re: [PATCH V3 02/11] lsof: fix LSOF_CCV in version.h

Hi Ross,

Quoted 7 lines · Ross

I really wish I didn't look at the lsof recipe...

To my reading if you pass LSOF_CC in do_configure (as you do in this patch) then we don't need to patch Configure to move the LSOF_CCV assignment at all, and can also drop the CC=${CC} from do_compile.

(I'm now going to scoop up the brain that oozed out of my ears off the floor)

Thanks for pointing this out, after more investigations, the issue had been fixed by another patch:

meta/recipes-extended/lsof/files/lsof-remove-host-information.patch

So this patch is not needed any more, I've removed if from the PULL repo.

// Robert

Quoted 104 lines

Ross

Quoted 99 lines · 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  | 42 ++++++++++++++++++++++
  meta/recipes-extended/lsof/lsof_4.89.bb            |  4 ++-
  2 files changed, 45 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 +42 -0
new file mode 100644
index 0000000..17c5c4b
@@ -0,0 +1,42 @@
+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
+
+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) "
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <[email protected]>
+Signed-off-by: Robert Yang <[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 -2
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
--

2.7.4

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

#5 lore raw

PATCH v3 3/11 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
#6 lore raw

PATCH v3 4/11 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
#7 lore raw

PATCH v3 5/11 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
#8 lore raw

PATCH v3 6/11 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 ++++++++++++++++++++++---
 meta/lib/oeqa/selftest/cases/imagefeatures.py |  4 ++--
 3 files changed, 25 insertions(+), 6 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 221869e..7dde2f8 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)}'
 
@@ -143,12 +146,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
@@ -171,6 +173,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
meta/lib/oeqa/selftest/cases/imagefeatures.py +2 -2
index 09e0b20..b60ab8a 100644
@@ -23,7 +23,7 @@ class ImageFeatures(OESelftestTestCase):
         AutomatedBy: Daniel Istrate <[email protected]>
         """
 
-        features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password"\n'
+        features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh empty-root-password allow-empty-password allow-root-login"\n'
         features += 'INHERIT += "extrausers"\n'
         features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user)
         self.write_config(features)
@@ -49,7 +49,7 @@ class ImageFeatures(OESelftestTestCase):
         AutomatedBy: Daniel Istrate <[email protected]>
         """
 
-        features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password"\n'
+        features = 'EXTRA_IMAGE_FEATURES = "ssh-server-openssh allow-empty-password allow-root-login"\n'
         features += 'INHERIT += "extrausers"\n'
         features += 'EXTRA_USERS_PARAMS = "useradd -p \'\' {}; usermod -s /bin/sh {};"'.format(self.test_user, self.test_user)
         self.write_config(features)
Signature · 1 line
2.7.4
#9 lore raw

PATCH v3 7/11 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..9596363 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 0644 ${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
#10 lore raw

PATCH v3 8/11 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
#11 lore raw

PATCH v3 9/11 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
#12 lore raw

Re: [PATCH V3 09/11] populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

Hi Robert / Chen

Quoted 11 lines · CEST 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.

Quoted 5 lines

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.

This patch (and 05/11, SDK_LAYERS_EXCLUDE*) worry me a little in that they have the potential to break the resulting eSDK or make it behave in a manner that is different from the build system that produced it. Having said that it's going to be reasonably clear to the user what's happened, assuming they remember they set these variables and in any case I don't expect these are going to be set by many people. Accordingly I won't object to these patches, but could you please add a warning about this issue to the commit message for both? We'd also better ensure they get documented with similar warnings.

Apart from that I'd like to see a different name for the variable here - we don't use the prefix ESDK_ anywhere else, so perhaps SDK_CONF_MANIFEST_EXCLUDE ?

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#13 lore raw

Re: [PATCH V3 09/11] populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

Quoted 29 lines · Paul Eggleton

Hi Robert / Chen

Quoted 11 lines · CEST 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.

Quoted 5 lines

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.

This patch (and 05/11, SDK_LAYERS_EXCLUDE*) worry me a little in that they have the potential to break the resulting eSDK or make it behave in a manner that is different from the build system that produced it. Having said that it's going to be reasonably clear to the user what's happened, assuming they remember they set these variables and in any case I don't expect these are going to be set by many people. Accordingly I won't object to these patches, but could you please add a warning about this issue to the commit message for both? We'd also better ensure they get documented with similar warnings.

Quoted 3 lines

Apart from that I'd like to see a different name for the variable here - we don't use the prefix ESDK_ anywhere else, so perhaps SDK_CONF_MANIFEST_EXCLUDE ?

Thanks, make sense, will update it next week.

// Robert

Quoted 6 lines

Cheers,
Paul

#14 lore raw

Re: [PATCH V3 09/11] populate_sdk_ext.bbclass: add ESDK_MANIFEST_EXCLUDES

In reply to Paul Eggleton

HI Paul,

Quoted 20 lines · Paul Eggleton

Hi Robert / Chen

Quoted 11 lines · CEST 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.

Quoted 5 lines

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.

Quoted 8 lines

This patch (and 05/11, SDK_LAYERS_EXCLUDE*) worry me a little in that they have the potential to break the resulting eSDK or make it behave in a manner that is different from the build system that produced it. Having said that it's going to be reasonably clear to the user what's happened, assuming they remember they set these variables and in any case I don't expect these are going to be set by many people. Accordingly I won't object to these patches, but could you please add a warning about this issue to the commit message for both? We'd also better ensure they get documented with similar warnings.

I think that a bb.note() is enough for it, we don't set them by default, but set by users, so they should know something is excluded. So I will add a bb.note for it:

bb.note('Exclude %s since it is in SDK_CONF_MANIFEST_EXCLUDE' % fn)

Quoted 4 lines

Apart from that I'd like to see a different name for the variable here - we don't use the prefix ESDK_ anywhere else, so perhaps SDK_CONF_MANIFEST_EXCLUDE ?

Thanks, I will update to SDK_CONF_MANIFEST_EXCLUDE in V4.

// Robert

Quoted 6 lines

Cheers,
Paul

#15 lore raw

PATCH v3 10/11 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
#16 lore raw

PATCH v3 11/11 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 f7a8de8..55dfb7a 100644
@@ -282,5 +282,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
#17 lore raw
In reply to Robert Yang

I rebased these patches to current master branch, and put them in the repo:

The following changes since commit b34e86b4ee13d53f09d558e613d5b66c845edde6:

musl: Upgrade to latest (2018-06-18 10:59:33 +0100)

are available in the git repository at:

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

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

Jackie Huang (2):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login

Kai Kang (1):
toolchain-scripts.bbclass: do not extend dependency if extended
already

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

Ovidiu Panait (1):
openssl-nativesdk: Fix "can't open config file" warning

Robert Yang (1):
oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN

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

Yadi.hu (1):
busybox: handle syslog

 meta/classes/base.bbclass                          | 13 ++++++++++-
 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 ++++++++++++++++
 meta/lib/oeqa/selftest/cases/imagefeatures.py      |  4 ++--
 .../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/dropbear/dropbear.inc            |  3 +++
 .../dropbear/dropbear/dropbear.default             |  2 ++
 meta/recipes-extended/xinetd/xinetd/xinetd.init    | 12 ++++++++++-
 16 files changed, 123 insertions(+), 15 deletions(-)

// Robert

Quoted 90 lines · Robert Yang

* V3:
- Fix RP's comments
Fix comments for "lsof: fix LSOF_CCV in version.h"
Fix "rootfs-postcommands: split ssh_allow_empty_password" since it caused a oe-selftest case failed.

- Drop already merge commits

- Drop unneeded commit:
gcc-sanitizers: Fix libtool .la files

- Drop an incorrect commit which caused oe-selftest failed:
glibc: re-package for libnss-db
This one needs rework.

- Ran "oe-selftest -a" to test it.

* V2:
Rebase to up-to-date master branch and drop already merged patches.

* V1: Initial version

// Robert

The following changes since commit cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c:

   oe-pkgdata-util: package-info: Re-add support for the --extra option (2018-06-04 15:14:43 +0100)

are available in the git repository at:

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

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

Jackie Huang (2):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login

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

Kai Kang (1):
toolchain-scripts.bbclass: do not extend dependency if extended
already

Li Wang (1):
rpcbind: add option to make user able to use fixed port number

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

Ovidiu Panait (1):
openssl-nativesdk: Fix "can't open config file" warning

Robert Yang (1):
oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN

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

Yadi.hu (1):
busybox: handle syslog

  meta/classes/base.bbclass                          |  13 ++-
  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 +++
  meta/lib/oeqa/selftest/cases/imagefeatures.py      |   4 +-
  .../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/dropbear/dropbear.inc            |   3 +
  .../dropbear/dropbear/dropbear.default             |   2 +
  .../files/Configure-fix-LSOF_CCV-assignment.patch  |  42 +++++++
  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/xinetd/xinetd/xinetd.init    |  12 +-
  20 files changed, 299 insertions(+), 16 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

#18 lore raw
In reply to Robert Yang

Hi RP and Ross,

Any comments on these, please ?

// Robert

Quoted 90 lines · Robert Yang

* V3:
- Fix RP's comments
Fix comments for "lsof: fix LSOF_CCV in version.h"
Fix "rootfs-postcommands: split ssh_allow_empty_password" since it caused a oe-selftest case failed.

- Drop already merge commits

- Drop unneeded commit:
gcc-sanitizers: Fix libtool .la files

- Drop an incorrect commit which caused oe-selftest failed:
glibc: re-package for libnss-db
This one needs rework.

- Ran "oe-selftest -a" to test it.

* V2:
Rebase to up-to-date master branch and drop already merged patches.

* V1: Initial version

// Robert

The following changes since commit cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c:

   oe-pkgdata-util: package-info: Re-add support for the --extra option (2018-06-04 15:14:43 +0100)

are available in the git repository at:

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

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

Jackie Huang (2):
rootfs-postcommands: split ssh_allow_empty_password
dropbear: add default config file to disable root login

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

Kai Kang (1):
toolchain-scripts.bbclass: do not extend dependency if extended
already

Li Wang (1):
rpcbind: add option to make user able to use fixed port number

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

Ovidiu Panait (1):
openssl-nativesdk: Fix "can't open config file" warning

Robert Yang (1):
oe/copy_buildsystem.py: add SDK_LAYERS_EXCLUDE_PATTERN

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

Yadi.hu (1):
busybox: handle syslog

  meta/classes/base.bbclass                          |  13 ++-
  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 +++
  meta/lib/oeqa/selftest/cases/imagefeatures.py      |   4 +-
  .../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/dropbear/dropbear.inc            |   3 +
  .../dropbear/dropbear/dropbear.default             |   2 +
  .../files/Configure-fix-LSOF_CCV-assignment.patch  |  42 +++++++
  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/xinetd/xinetd/xinetd.init    |  12 +-
  20 files changed, 299 insertions(+), 16 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