Blob Blame History Raw
From c32908cee324c60cc6d31a7030a9fb11cdfa0d45 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 23 Apr 2012 11:28:10 +0200
Subject: [PATCH] base: add debug_on() and debug_off() functions

---
 modules.d/99base/dracut-lib.sh |   42 +++++++++++++++++++++++++++-------------
 modules.d/99base/init.sh       |    6 ++----
 2 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index a29d586..f46c4a7 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -2,6 +2,14 @@
 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
 # ex: ts=8 sw=4 sts=4 et filetype=sh
 
+debug_off() {
+    set +x
+}
+
+debug_on() {
+    [ "$RD_DEBUG" = "yes" ] && set -x
+}
+
 # returns OK if $1 contains $2
 strstr() {
     [ "${1#*$2*}" != "$1" ]
@@ -93,29 +101,29 @@ _dogetarg() {
 }
 
 getarg() {
-    set +x
+    debug_off
     while [ $# -gt 0 ]; do
         case $1 in
             -y) if _dogetarg $2 >/dev/null; then
                     echo 1
-                    [ "$RD_DEBUG" = "yes" ] && set -x
+                    debug_on
                     return 0
                 fi
                 shift 2;;
             -n) if _dogetarg $2 >/dev/null; then
                     echo 0;
-                    [ "$RD_DEBUG" = "yes" ] && set -x
+                    debug_on
                     return 1
                 fi
                 shift 2;;
             *)  if _dogetarg $1; then
-                    [ "$RD_DEBUG" = "yes" ] && set -x
+                    debug_on
                     return 0;
                 fi
                 shift;;
         esac
     done
-    [ "$RD_DEBUG" = "yes" ] && set -x
+    debug_on
     return 1
 }
 
@@ -135,7 +143,7 @@ getargbool() {
 }
 
 _dogetargs() {
-    set +x
+    debug_off
     local _o _found _key
     unset _o
     unset _found
@@ -158,7 +166,7 @@ _dogetargs() {
 }
 
 getargs() {
-    set +x
+    debug_off
     local _val _i _args _gfound
     unset _val
     unset _gfound
@@ -175,10 +183,10 @@ getargs() {
         else
             echo -n 1
         fi
-        [ "$RD_DEBUG" = "yes" ] && set -x
+        debug_on
         return 0
     fi
-    [ "$RD_DEBUG" = "yes" ] && set -x
+    debug_on
     return 1;
 }
 
@@ -221,6 +229,7 @@ getoptcomma() {
 #
 # TODO: ':' inside fields.
 splitsep() {
+    debug_off
     local sep="$1"; local str="$2"; shift 2
     local tmp
 
@@ -232,7 +241,7 @@ splitsep() {
         shift
     done
     [ -n "$str" -a -n "$1" ] && eval "$1=$str"
-
+    debug_on
     return 0
 }
 
@@ -248,7 +257,7 @@ setdebug() {
         fi
         export RD_DEBUG
     fi
-    [ "$RD_DEBUG" = "yes" ] && set -x
+    debug_on
 }
 
 setdebug
@@ -347,6 +356,7 @@ check_occurances() {
 }
 
 incol2() {
+    debug_off
     local dummy check;
     local file="$1";
     local str="$2";
@@ -355,8 +365,12 @@ incol2() {
     [ -z "$str"  ] && return 1;
 
     while read dummy check restofline; do
-        [ "$check" = "$str" ] && return 0
+        if [ "$check" = "$str" ]; then
+            debug_on
+            return 0
+        fi
     done < $file
+    debug_on
     return 1
 }
 
@@ -719,6 +733,7 @@ cancel_wait_for_dev()
 }
 
 killproc() {
+    debug_off
     local _exe="$(command -v $1)"
     local _sig=$2
     local _i
@@ -729,6 +744,7 @@ killproc() {
             kill $_sig ${_i##*/}
         fi
     done
+    debug_on
 }
 
 need_shutdown() {
@@ -739,7 +755,7 @@ wait_for_loginit()
 {
     [ "$RD_DEBUG" = "yes" ] || return
     [ -e /run/initramfs/loginit.pipe ] || return
-    set +x
+    debug_off
     echo "DRACUT_LOG_END"
     exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
         # wait for loginit
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index 88ec184..cb03137 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -277,7 +277,6 @@ for var in root rflags fstype netroot NEWROOT; do
 done
 
 export RD_TIMESTAMP
-set +x # Turn off debugging for this section
 # Clean up the environment
 for i in $(export -p); do
     i=${i#declare -x}
@@ -298,7 +297,6 @@ rm -f /tmp/export.orig
 initargs=""
 read CLINE </proc/cmdline
 if getarg init= >/dev/null ; then
-    set +x # Turn off debugging for this section
     ignoreargs="console BOOT_IMAGE"
     # only pass arguments after init= to the init
     CLINE=${CLINE#*init=}
@@ -312,7 +310,7 @@ if getarg init= >/dev/null ; then
     done
     unset CLINE
 else
-    set +x # Turn off debugging for this section
+    debug_off # Turn off debugging for this section
     set -- $CLINE
     for x in "$@"; do
         case "$x" in
@@ -322,7 +320,7 @@ else
         esac
     done
 fi
-[ "$RD_DEBUG" = "yes" ] && set -x
+debug_on
 
 if ! [ -d "$NEWROOT"/run ]; then
     NEWRUN=/dev/.initramfs