Blob Blame History Raw
From 11b3d60f5c20136530c3afe78d9a1a1160e021f2 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@hoyer.xyz>
Date: Mon, 6 Nov 2017 09:55:54 +0100
Subject: [PATCH] Merge pull request #303 from FGrose/bootmsg

dmsquash-live-root: Replace incompatible shell syntax.
---
 modules.d/90dmsquash-live/dmsquash-live-root.sh | 29 +++++++++++--------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index 723d7f01..1458329c 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -178,29 +178,26 @@ do_live_overlay() {
             warn "Using temporary overlay."
         elif [ -n "$devspec" -a -n "$pathspec" ]; then
             [ -z "$m" ] &&
-                m='  Unable to find a persistent overlay; using a temporary one.'
-            m=($'\n' "$m" $'\n'
-               '     All root filesystem changes will be lost on shutdown.'
-               $'\n' '        Press any key to continue')
-            echo -e "\n\n\n${m[*]}\n\n\n" > /dev/kmsg
+                m='   Unable to find a persistent overlay; using a temporary one.'
+            m="$m"$'\n      All root filesystem changes will be lost on shutdown.'
+            m="$m"$'\n         Press [Enter] to continue.'
+            echo -e "\n\n\n\n${m}\n\n\n" > /dev/kmsg
             if [ -n "$DRACUT_SYSTEMD" ]; then
-                if plymouth --ping ; then
+                if type plymouth >/dev/null 2>&1 && plymouth --ping ; then
                     if getargbool 0 rhgb || getargbool 0 splash ; then
-                        m[0]='>>>'$'\n''>>>'$'\n''>>>'$'\n\n'
-                        m[5]=$'\n''<<<'$'\n''<<<'$'\n''<<<'
-                        plymouth display-message --text="${m[*]}"
+                        m='>>>'$'\n''>>>'$'\n''>>>'$'\n\n\n'"$m"
+                        m="${m%n.*}"$'n.\n\n\n''<<<'$'\n''<<<'$'\n''<<<'
+                        plymouth display-message --text="${m}"
                     else
-                        plymouth ask-question --prompt="${m[*]}" --command=true
+                        plymouth ask-question --prompt="${m}" --command=true
                     fi
                 else
-                    m[0]='>>>'
-                    m[5]='<<<'
-                    unset -v m[2] m[4]
-                    systemd-ask-password --timeout=0 "${m[*]}"
+                    m=">>>${m//.[[:space:]]/.}  <<<"
+                    systemd-ask-password --timeout=0 "${m}"
                 fi
             else
-                plymouth --ping && plymouth --quit
-                read -s -r -p $'\n\n'"${m[*]}:" -n 1 reply
+                type plymouth >/dev/null 2>&1 && plymouth --ping && plymouth --quit
+                read -s -r -p $'\n\n'"${m}" -n 1 reply
             fi
         fi
         if [ -n "$overlayfs" ]; then