Reverted back to original debconf variable names.
[carnet-upgrade.git] / usr / share / carnet-upgrade / scripts / check_services
index 7677ffc..ee5a9e6 100755 (executable)
@@ -31,6 +31,25 @@ cs_preupgrade () {
   fi
 }
 
+cs_pgrep () {
+    local failed_services
+
+    while read line; do
+        # get service param from stdin
+        user=$(echo "$line" | awk -F ' ' '{print $2}')
+        psname=$(echo "$line" | awk -F '       ' '{print $3}')
+        nicename=$(echo "$line" | awk -F '     ' '{print $4}')
+
+        # check if service is running
+        if ! pgrep -u $user -f "$psname" > /dev/null; then
+            failed_services="$failed_services, $nicename"
+
+        fi
+    done
+
+    echo ${failed_services#, }
+}
+
 # uzmi iz debconfa instalirane servise, i provjeri rade li
 cs_postupgrade () {
   local services i failed_services msg_header
@@ -44,20 +63,14 @@ cs_postupgrade () {
   esac
 
   db_get cn-upgrade/check-services || true
-  services="$RET"
-
-  for i in $(echo "$services"); do
-    user=$(echo "$services_to_check" | grep ^${i} | sed 's/            */      /g'| awk -F'    ' '{print $2}')
-    psname=$(echo "$services_to_check" | grep ^${i} | sed 's/          */      /g'| awk -F'    ' '{print $3}')
-    nicename=$(echo "$services_to_check" | grep ^${i} | sed 's/                */      /g'| awk -F'    ' '{print $4}')
-    if ! pgrep -u $user -f "$psname" > /dev/null; then
-      if [ -z "$failed_services" ]; then
-        failed_services="$nicename"
-      else
-        failed_services="$failed_services, $nicename"
-      fi
-    fi
-  done
+  services="${RET// /|}"
+
+  failed_services=$(
+    echo "$services_to_check" \
+    | grep -E "^($services)" \
+    | sed 's/          */      /g' \
+    | cs_pgrep
+  )
 
   if [ -n "$failed_services" ]; then
     notice "$msg_header$msg_failed_services$failed_services"