Repository: karaf
Updated Branches:
  refs/heads/karaf-4.0.x 1679cfae5 -> ed95ab340


KARAF-4340 : System scripts: improve system scripts templates


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ed95ab34
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ed95ab34
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ed95ab34

Branch: refs/heads/karaf-4.0.x
Commit: ed95ab340cff9b0a3da2857f2e435e782e414d9e
Parents: 1679cfa
Author: lburgazzoli <[email protected]>
Authored: Tue Feb 16 15:36:54 2016 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Wed Feb 17 13:46:34 2016 +0100

----------------------------------------------------------------------
 .../bin/contrib/karaf-service-template.conf     |  2 +-
 .../bin/contrib/karaf-service-template.init     | 49 +++++-----
 .../contrib/karaf-service-template.init-debian  | 26 +++--
 .../contrib/karaf-service-template.init-redhat  | 40 ++++----
 .../resources/bin/contrib/karaf-service.sh      | 99 ++++++++++----------
 .../base/src/main/resources/resources/bin/karaf |  2 +-
 6 files changed, 116 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.conf
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.conf
 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.conf
index 658d220..52ff876 100644
--- 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.conf
+++ 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.conf
@@ -22,7 +22,7 @@ KARAF_SERVICE_LOG="${KARAF_SERVICE_LOG}"
 KARAF_SERVICE_USER="${KARAF_SERVICE_USER}"
 KARAF_SERVICE_GROUP="${KARAF_SERVICE_GROUP}"
 KARAF_LOCKFILE="/var/lock/subsys/$KARAF_SERVICE_NAME"
-KARAF_SERVICE_PIDFILE=${KARAF_SERVICE_PIDFILE}
+KARAF_SERVICE_PIDFILE="${KARAF_SERVICE_PIDFILE}"
 KARAF_SERVICE_EXECUTABLE="${KARAF_SERVICE_EXECUTABLE}"
 #
 # Karaf

http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
index 379fbc7..c89992a 100644
--- 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
+++ 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init
@@ -54,39 +54,44 @@ prog=${KARAF_SERVICE_NAME}
 
 do_start() {
     echo "Starting $prog: "
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read ppid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read ppid < "$KARAF_SERVICE_PIDFILE"
         if [ `ps -p $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' 
]; then
             echo "$prog is already running"
             return 1
         else
-            rm -f $KARAF_SERVICE_PIDFILE
+            rm -f "$KARAF_SERVICE_PIDFILE"
         fi
     fi
 
-    mkdir -p `dirname $KARAF_SERVICE_LOG`
-    cat /dev/null > $KARAF_SERVICE_LOG
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP  $KARAF_SERVICE_LOG
+    LOG_PATH=`dirname "$KARAF_SERVICE_LOG"`
+    mkdir -p "$LOG_PATH"
+    cat /dev/null > "$KARAF_SERVICE_LOG"
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP  "$KARAF_SERVICE_LOG"
 
-    mkdir -p `dirname $KARAF_SERVICE_PIDFILE`
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP `dirname 
$KARAF_SERVICE_PIDFILE` || true
+    PID_PATH=`dirname "$KARAF_SERVICE_PIDFILE"`
+    mkdir -p "$PID_PATH"
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true
 
     if [ ! -z "$KARAF_SERVICE_USER" ]; then
         if [ "$KARAF_SERVICE_USER" = "root" ]; then
+            KARAF_EXEC=exec 
+            export KARAF_EXEC
+
             JAVA_HOME=$JAVA_HOME 
             export JAVA_HOME
 
-            $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE server >> 
$KARAF_SERVICE_LOG 2>&1 &
+            "$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE" daemon >> 
"$KARAF_SERVICE_LOG" 2>&1 &
 
-            echo $! > $KARAF_SERVICE_PIDFILE
+            echo $! > "$KARAF_SERVICE_PIDFILE"
         else
             su - $KARAF_SERVICE_USER \
-                -c " { export JAVA_HOME=$JAVA_HOME; 
$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE daemon >> $KARAF_SERVICE_LOG 
2>&1 & } ; echo \$! >| $KARAF_SERVICE_PIDFILE "
+                -c " { export KARAF_EXEC=exec; export JAVA_HOME=$JAVA_HOME; 
\"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> 
\"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" "
         fi
 
         sleep 1
-        if [ -f $KARAF_SERVICE_PIDFILE ]; then
-            chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP 
$KARAF_SERVICE_PIDFILE
+        if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+            chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP 
"$KARAF_SERVICE_PIDFILE"
         fi
     fi
 
@@ -98,19 +103,19 @@ do_stop() {
     echo $"Stopping $prog: "
     count=0;
 
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read kpid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read kpid < "$KARAF_SERVICE_PIDFILE"
         kwait=$SHUTDOWN_WAIT
 
         if [ "$KARAF_SERVICE_USER" = "root" ]; then
             JAVA_HOME=$JAVA_HOME
             export JAVA_HOME
 
-            $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop >> 
$KARAF_SERVICE_LOG 2>&1
+            "$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE" stop >> 
"$KARAF_SERVICE_LOG" 2>&1
         else
             su - $KARAF_SERVICE_USER \
-                -c "export JAVA_HOME=$JAVA_HOME; 
$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop >> $KARAF_SERVICE_LOG 
2>&1"
-        fi
+                -c "export JAVA_HOME=$JAVA_HOME; 
\"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop >> 
\"$KARAF_SERVICE_LOG\" 2>&1"
+        fi 
 
         until [ `ps -p $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq 
'0' ] || [ $count -gt $kwait ]
         do
@@ -125,13 +130,13 @@ do_stop() {
         fi
     fi
 
-    rm -f $KARAF_SERVICE_PIDFILE
+    rm -f "$KARAF_SERVICE_PIDFILE"
     rm -f $KARAF_LOCKFILE
 }
 
 do_status() {
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read ppid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read ppid < "$KARAF_SERVICE_PIDFILE"
         if [ `ps -p $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' 
]; then
             echo "$prog is running (pid $ppid)"
             return 0
@@ -163,4 +168,4 @@ case "$1" in
         echo "Usage: $0 {start|stop|status|restart}"
         exit 1
         ;;
-esac
+esac
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-debian
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-debian
 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-debian
index 5de9cfb..b062272 100644
--- 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-debian
+++ 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-debian
@@ -111,14 +111,23 @@ case "$1" in
     echo "Starting $DESC" "$NAME"
 
     # PID file
-    mkdir -p $(dirname "$KARAF_SERVICE_PIDFILE")
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP $(dirname 
"$KARAF_SERVICE_PIDFILE") || true
+    PID_PATH=$(dirname "$KARAF_SERVICE_PIDFILE")
+    if [ ! -d "$PID_PATH" ]; then
+        mkdir -p "$PID_PATH"
+    fi
+
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true
 
     # Console log
-    mkdir -p $(dirname "$KARAF_SERVICE_LOG")
+    LOG_PATH=$(dirname "$KARAF_SERVICE_LOG")
+
+    if [ ! -d "$LOG_PATH" ]; then
+        mkdir -p "$LOG_PATH"
+    fi
+
     cat /dev/null > "$KARAF_SERVICE_LOG"
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP $(dirname 
"$KARAF_SERVICE_LOG")
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP $KARAF_SERVICE_LOG
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$LOG_PATH"
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_LOG"
 
     start-stop-daemon \
         --start \
@@ -164,7 +173,7 @@ case "$1" in
         children_pids=$(pgrep -P $kpid)
 
         su - $KARAF_SERVICE_USER \
-            -c "$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop"
+            -c "export JAVA_HOME=$JAVA_HOME; 
\"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop"
 
         count=0
         until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq 
'0' ] || [ $count -gt $kwait ]
@@ -178,7 +187,6 @@ case "$1" in
                 --stop \
                 --quiet \
                 --pidfile "$KARAF_SERVICE_PIDFILE" \
-                --remove-pidfile
                 --user "$KARAF_SERVICE_USER" \
                 --retry=TERM/$SHUTDOWN_WAIT/KILL/5 \
             > /dev/null 2>&1
@@ -195,10 +203,10 @@ case "$1" in
 
         log_end_msg 0
 
-        rm -rf $KARAF_SERVICE_PIDFILE
+        rm -rf "$KARAF_SERVICE_PIDFILE"
     elif [ $status_stop -eq 1 ]; then
         log_action_msg "$DESC is not running but the pid file exists, cleaning 
up"
-        rm -f $KARAF_SERVICE_PIDFILE
+        rm -f "$KARAF_SERVICE_PIDFILE"
     elif [ $status_stop -eq 3 ]; then
         log_action_msg "$DESC is not running"
     fi

http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-redhat
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-redhat
 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-redhat
index ba0fde3..e8fee16 100644
--- 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-redhat
+++ 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service-template.init-redhat
@@ -50,38 +50,40 @@ currenttime=$(date +%s%N | cut -b1-13)
 
 start() {
     echo -n "Starting $prog: "
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read ppid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read ppid < "$KARAF_SERVICE_PIDFILE"
         if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq 
'1' ]; then
             echo -n "$prog is already running"
             failure
             echo
             return 1
         else
-            rm -f $KARAF_SERVICE_PIDFILE
+            rm -f "$KARAF_SERVICE_PIDFILE"
         fi
     fi
 
-    mkdir -p $(dirname $KARAF_SERVICE_LOG)
-    cat /dev/null > $KARAF_SERVICE_LOG
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP  $KARAF_SERVICE_LOG
+    LOG_PATH=`dirname "$KARAF_SERVICE_LOG"`
+    mkdir -p "$LOG_PATH"
+    cat /dev/null > "$KARAF_SERVICE_LOG"
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP  "$KARAF_SERVICE_LOG"
 
-    mkdir -p $(dirname $KARAF_SERVICE_PIDFILE)
-    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP $(dirname 
$KARAF_SERVICE_PIDFILE) || true
+    PID_PATH=`dirname "$KARAF_SERVICE_PIDFILE"`
+    mkdir -p "$PID_PATH"
+    chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true
 
     if [ ! -z "$KARAF_SERVICE_USER" ]; then
         if [ -r /etc/rc.d/init.d/functions ]; then
             daemon \
                 --user="$KARAF_SERVICE_USER" \
                 --pidfile="$KARAF_SERVICE_PIDFILE" \
-                " { $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE daemon 
>> $KARAF_SERVICE_LOG 2>&1 & } ; echo \$! >| $KARAF_SERVICE_PIDFILE "
+                " { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" 
daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| 
\"$KARAF_SERVICE_PIDFILE\" "
         else
             su - $KARAF_SERVICE_USER \
-                -c " { $KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE 
daemon >> $KARAF_SERVICE_LOG 2>&1 & } ; echo \$! >| $KARAF_SERVICE_PIDFILE "
+                -c " { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" 
daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| 
\"$KARAF_SERVICE_PIDFILE\" "
         fi
 
-        if [ -f $KARAF_SERVICE_PIDFILE ]; then
-            chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP 
$KARAF_SERVICE_PIDFILE
+        if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+            chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP 
"$KARAF_SERVICE_PIDFILE"
         fi
     fi
 
@@ -99,13 +101,13 @@ stop() {
     echo -n $"Stopping $prog: "
     count=0;
 
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read kpid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read kpid < "$KARAF_SERVICE_PIDFILE"
         let kwait=$SHUTDOWN_WAIT
 
         # Try issuing SIGTERM
         su - $KARAF_SERVICE_USER \
-            -c "$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE stop"
+            -c "export JAVA_HOME=$JAVA_HOME; 
\"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop"
 
         until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq 
'0' ] || [ $count -gt $kwait ]
         do
@@ -118,16 +120,16 @@ stop() {
         fi
     fi
 
-    rm -f $KARAF_SERVICE_PIDFILE
-    rm -f $KARAF_LOCKFILE
+    rm -f "$KARAF_SERVICE_PIDFILE"
+    rm -f "$KARAF_LOCKFILE"
 
     success
     echo
 }
 
 status() {
-    if [ -f $KARAF_SERVICE_PIDFILE ]; then
-        read ppid < $KARAF_SERVICE_PIDFILE
+    if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
+        read ppid < "$KARAF_SERVICE_PIDFILE"
         if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq 
'1' ]; then
             echo "$prog is running (pid $ppid)"
             return 0

http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service.sh
----------------------------------------------------------------------
diff --git 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service.sh
 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service.sh
index 3b9b517..ca247be 100755
--- 
a/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service.sh
+++ 
b/assemblies/features/base/src/main/resources/resources/bin/contrib/karaf-service.sh
@@ -52,18 +52,18 @@ KARAF_ENV=()
 while getopts k:d:c:p:n:u:g:l:t:e:f:x:h opt
 do
     case $opt in
-    k)  export KARAF_SERVICE_PATH=$OPTARG ;;
-    d)  export KARAF_SERVICE_DATA=$OPTARG ;;
-    c)  export KARAF_SERVICE_CONF=$OPTARG ;;
-    p)  export KARAF_SERVICE_PIDFILE=$OPTARG ;;
-    n)  export KARAF_SERVICE_NAME=$OPTARG ;;
-    u)  export KARAF_SERVICE_USER=$OPTARG ;;
-    g)  export KARAF_SERVICE_GROUP=$OPTARG ;;
-    l)  export KARAF_SERVICE_LOG=$OPTARG ;;
-    t)  export KARAF_SERVICE_ETC=$OPTARG ;;
-    f)  export KARAF_SERVICE_TEMPLATE=$OPTARG ;;
-    x)  export KARAF_SERVICE_EXECUTABLE=$OPTARG ;;
-    e)  KARAF_ENV+=($OPTARG) ;;
+    k)  export KARAF_SERVICE_PATH="$OPTARG" ;;
+    d)  export KARAF_SERVICE_DATA="$OPTARG" ;;
+    c)  export KARAF_SERVICE_CONF="$OPTARG" ;;
+    p)  export KARAF_SERVICE_PIDFILE="$OPTARG" ;;
+    n)  export KARAF_SERVICE_NAME="$OPTARG" ;;
+    u)  export KARAF_SERVICE_USER="$OPTARG" ;;
+    g)  export KARAF_SERVICE_GROUP="$OPTARG" ;;
+    l)  export KARAF_SERVICE_LOG="$OPTARG" ;;
+    t)  export KARAF_SERVICE_ETC="$OPTARG" ;;
+    f)  export KARAF_SERVICE_TEMPLATE="$OPTARG" ;;
+    x)  export KARAF_SERVICE_EXECUTABLE="$OPTARG" ;;
+    e)  KARAF_ENV+=("$OPTARG") ;;
     h|?) usage ;;
     esac
 done
@@ -76,27 +76,27 @@ if [[ ! $KARAF_SERVICE_PATH ]]; then
 fi
 
 if [[ ! $KARAF_SERVICE_DATA ]]; then
-    export KARAF_SERVICE_DATA=${KARAF_SERVICE_PATH}/data
+    export KARAF_SERVICE_DATA="${KARAF_SERVICE_PATH}/data"
 fi
 
 if [[ ! $KARAF_SERVICE_ETC ]]; then
-    export KARAF_SERVICE_ETC=${KARAF_SERVICE_PATH}/etc
-fi
-
-if [[ ! $KARAF_SERVICE_CONF ]]; then
-    export 
KARAF_SERVICE_CONF=${KARAF_SERVICE_PATH}/etc/${KARAF_SERVICE_NAME}.conf
+    export KARAF_SERVICE_ETC="${KARAF_SERVICE_PATH}/etc"
 fi
 
 if [[ ! $KARAF_SERVICE_NAME ]]; then
     export KARAF_SERVICE_NAME="karaf"
 fi
 
+if [[ ! $KARAF_SERVICE_CONF ]]; then
+    export 
KARAF_SERVICE_CONF="${KARAF_SERVICE_PATH}/etc/${KARAF_SERVICE_NAME}.conf"
+fi
+
 if [[ ! $KARAF_SERVICE_PIDFILE ]]; then
-    export 
KARAF_SERVICE_PIDFILE=${KARAF_SERVICE_DATA}/${KARAF_SERVICE_NAME}.pid
+    export 
KARAF_SERVICE_PIDFILE="${KARAF_SERVICE_DATA}/${KARAF_SERVICE_NAME}.pid"
 fi
 
 if [[ ! $KARAF_SERVICE_LOG ]]; then
-    export 
KARAF_SERVICE_LOG=${KARAF_SERVICE_DATA}/log/${KARAF_SERVICE_NAME}-console.log
+    export 
KARAF_SERVICE_LOG="${KARAF_SERVICE_DATA}/log/${KARAF_SERVICE_NAME}-console.log"
 fi
 
 if [[ ! $KARAF_SERVICE_USER ]]; then
@@ -104,7 +104,7 @@ if [[ ! $KARAF_SERVICE_USER ]]; then
 fi
 
 if [[ ! $KARAF_SERVICE_GROUP ]]; then
-    export KARAF_SERVICE_GROUP=${KARAF_SERVICE_USER}
+    export KARAF_SERVICE_GROUP="${KARAF_SERVICE_USER}"
 fi
 
 if [[ ! $KARAF_SERVICE_EXECUTABLE ]]; then
@@ -116,16 +116,15 @@ fi
 
################################################################################
 
 function generate_service_descriptor {
-    echo "Writing service file $2"
-    perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < $1 > $2
+    echo "Writing service file \"$2\""
+    perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < "$1" > 
"$2"
 
     if [ $# -eq 4 ]; then
-
-        echo "Writing service configuration file $4"
-        perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < $3 
> $4
+        echo "Writing service configuration file \"$4\""
+        perl -p -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' < 
"$3" > "$4"
 
         for var in "${KARAF_ENV[@]}"; do
-          echo "${var}" >> $4
+          echo "${var}" >> "$4"
         done
     fi
 }
@@ -139,44 +138,44 @@ if [[ ! $KARAF_SERVICE_TEMPLATE ]]; then
         sunos)
             # smc vs initv
             generate_service_descriptor \
-                $SOLARIS_SMF_TEMPLATE \
-                ${PWD}/${KARAF_SERVICE_NAME}.xml
+                "$SOLARIS_SMF_TEMPLATE" \
+                "${PWD}/${KARAF_SERVICE_NAME}.xml"
             ;;
         linux)
             if [ -d /run/systemd/system ]; then
                 generate_service_descriptor \
-                    $SYSTEMD_TEMPLATE \
-                    ${PWD}/${KARAF_SERVICE_NAME}.service \
-                    ${CONF_TEMPLATE} \
-                    ${KARAF_SERVICE_CONF}
+                    "$SYSTEMD_TEMPLATE" \
+                    "${PWD}/${KARAF_SERVICE_NAME}.service" \
+                    "${CONF_TEMPLATE}" \
+                    "${KARAF_SERVICE_CONF}"
 
                 generate_service_descriptor \
-                    $SYSTEMD_TEMPLATE_INSTANCES \
-                    ${PWD}/${KARAF_SERVICE_NAME}@.service
+                    "$SYSTEMD_TEMPLATE_INSTANCES" \
+                    "${PWD}/${KARAF_SERVICE_NAME}@.service"
 
             elif [ -f /etc/redhat-release ]; then
                 generate_service_descriptor \
-                    $INIT_REDHAT_TEMPLATE \
-                    ${PWD}/${KARAF_SERVICE_NAME} \
-                    ${CONF_TEMPLATE} \
-                    ${KARAF_SERVICE_CONF}
+                    "$INIT_REDHAT_TEMPLATE" \
+                    "${PWD}/${KARAF_SERVICE_NAME}" \
+                    "${CONF_TEMPLATE}" \
+                    "${KARAF_SERVICE_CONF}"
 
-                chmod 755 ${PWD}/${KARAF_SERVICE_NAME} 
-            elif [ -f /etc/debian-release ]; then
+                chmod 755 "${PWD}/${KARAF_SERVICE_NAME}"
+            elif [ -f /etc/debian-release ] || [ -f /etc/debian_version ]; then
                 generate_service_descriptor \
-                    $INIT_DEBIAN_TEMPLATE \
-                    ${PWD}/${KARAF_SERVICE_NAME} \
-                    ${CONF_TEMPLATE} \
-                    ${KARAF_SERVICE_CONF}
+                    "$INIT_DEBIAN_TEMPLATE" \
+                    "${PWD}/${KARAF_SERVICE_NAME}" \
+                    "${CONF_TEMPLATE}" \
+                    "${KARAF_SERVICE_CONF}"
 
-                chmod 755 ${PWD}/${KARAF_SERVICE_NAME}
+                chmod 755 "${PWD}/${KARAF_SERVICE_NAME}"
             fi
             ;;
     esac
 else
     generate_service_descriptor \
-        $KARAF_SERVICE_TEMPLATE \
-        ${PWD}/${KARAF_SERVICE_NAME} \
-        ${CONF_TEMPLATE} \
-        ${KARAF_SERVICE_CONF}
+        "$KARAF_SERVICE_TEMPLATE" \
+        "${PWD}/${KARAF_SERVICE_NAME}" \
+        "${CONF_TEMPLATE}" \
+        "${KARAF_SERVICE_CONF}"
 fi

http://git-wip-us.apache.org/repos/asf/karaf/blob/ed95ab34/assemblies/features/base/src/main/resources/resources/bin/karaf
----------------------------------------------------------------------
diff --git a/assemblies/features/base/src/main/resources/resources/bin/karaf 
b/assemblies/features/base/src/main/resources/resources/bin/karaf
index 6a8e500..477bb23 100755
--- a/assemblies/features/base/src/main/resources/resources/bin/karaf
+++ b/assemblies/features/base/src/main/resources/resources/bin/karaf
@@ -435,7 +435,7 @@ run() {
     while true; do
         # When users want to update the lib version of, they just need to 
create
         # a lib.next directory and on the new restart, it will replace the 
current lib directory.
-        if [ -d ${KARAF_HOME}/lib.next ] ; then
+        if [ -d "${KARAF_HOME}/lib.next" ] ; then
             echo "Updating libs..."
             rm -rf "${KARAF_HOME}/lib"
             mv -f "${KARAF_HOME}/lib.next" "${KARAF_HOME}/lib"

Reply via email to