[OE-core] [RFC][PATCH] lsb: Remove bashisms from the rc.d functions
Marek Vasut
marex at denx.de
Thu Apr 6 17:40:04 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>
---
NOTE: Does this lsbscripts have upstream somewhere ?
---
.../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