[OE-core] [PATCH] lsb: Remove bashisms from the rc.d functions

Marek Vasut marex at denx.de
Fri Apr 7 21:55:01 UTC 2017


This bashism prevents functions from working on systems without bash,
ie. on systems with busybox shell or debian dash. Replace them with
bourne-compatible command instead.

Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Ross Burton <ross.burton at intel.com>
Cc: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 .../0002-rc.d-Remove-bashism-from-functions.patch  | 48 ++++++++++++++++++++++
 meta/recipes-extended/lsb/lsbinitscripts_9.68.bb   |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch

diff --git a/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
new file mode 100644
index 0000000000..44eed1cc18
--- /dev/null
+++ b/meta/recipes-extended/lsb/lsbinitscripts/0002-rc.d-Remove-bashism-from-functions.patch
@@ -0,0 +1,48 @@
+From b7601dcd4663a9cb936a6d2d224665bea69fcc50 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex at denx.de>
+Date: Thu, 6 Apr 2017 19:15:56 +0200
+Subject: [PATCH] rc.d: Remove bashism from functions
+
+This bashism prevents functions from working on systems without bash,
+ie. on systems with busybox shell or debian dash. Replace them with
+bourne-compatible command instead.
+
+Signed-off-by: Marek Vasut <marex at denx.de>
+---
+ rc.d/init.d/functions | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
+index 746b37d..3ba21ef 100644
+--- a/rc.d/init.d/functions
++++ b/rc.d/init.d/functions
+@@ -115,15 +115,11 @@ __kill_pids_term_kill_checkpids() {
+     local pid=
+     local pids=$*
+     local remaining=
+-    local stat=
+     local stime=
+ 
+     for pid in $pids ; do
+         [ ! -e  "/proc/$pid" ] && continue
+-        read -r line < "/proc/$pid/stat" 2> /dev/null
+-
+-        stat=($line)
+-        stime=${stat[21]}
++        stime=`cut -d " " -f 22 < /proc/self/stat`
+ 
+         [ -n "$stime" ] && [ "$base_stime" -lt "$stime" ] && continue
+         remaining+="$pid "
+@@ -139,8 +135,7 @@ __kill_pids_term_kill() {
+     local try=0
+     local delay=3;
+     local pid=
+-    local stat=($(< /proc/self/stat))
+-    local base_stime=${stat[21]}
++    local base_stime=`cut -d " " -f 22 < /proc/self/stat`
+ 
+     if [ "$1" = "-d" ]; then
+         delay=$2
+-- 
+2.11.0
+
diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
index 0c08fffcef..9ba0e01776 100644
--- a/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
+++ b/meta/recipes-extended/lsb/lsbinitscripts_9.68.bb
@@ -11,6 +11,7 @@ S="${WORKDIR}/initscripts-${PV}"
 SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-${PV}.tar.bz2/6a51a5af38e01445f53989ed0727c3e1/initscripts-${PV}.tar.bz2 \
            file://functions.patch \
            file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
+	   file://0002-rc.d-Remove-bashism-from-functions.patch \
           " 
 
 SRC_URI[md5sum] = "6a51a5af38e01445f53989ed0727c3e1"
-- 
2.11.0




More information about the Openembedded-core mailing list