have freeside-cdrd disable itself if there's no appropriate package definition, RT...
[freeside.git] / init.d / freeside-init
index a62b187..54ebea2 100644 (file)
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 #
 # chkconfig: 345 86 16
 # description: Freeside daemons
@@ -12,6 +12,8 @@ SELFSERVICE_MACHINES="%%%SELFSERVICE_MACHINES%%%"
 PATH="$PATH:/usr/local/bin"
 export PATH
 
+[ -r /etc/default/freeside ] && . /etc/default/freeside
+
 case "$1" in
   start)
         # Start daemons.
@@ -19,14 +21,18 @@ case "$1" in
         freeside-queued $QUEUED_USER
         echo "done."
 
-        #echo -n "Starting freeside-sqlradius-radacctd: "
-        #freeside-sqlradius-radacctd $QUEUED_USER
-        #echo "done."
+        echo -n "Starting freeside-sqlradius-radacctd: "
+        freeside-sqlradius-radacctd $QUEUED_USER
+        echo "done."
 
         echo -n "Starting freeside-prepaidd: "
         freeside-prepaidd $QUEUED_USER
         echo "done."
 
+        echo -n "Starting freeside-cdrd: "
+        freeside-cdrd $QUEUED_USER
+        echo "done."
+
         for MACHINE in $SELFSERVICE_MACHINES; do
           echo -n "Starting freeside-selfservice-server to $MACHINE: "
           freeside-selfservice-server $SELFSERVICE_USER $MACHINE
@@ -37,31 +43,45 @@ case "$1" in
   stop)
         # Stop daemons.
         echo -n "Stopping freeside-queued: "
-        kill `cat /var/run/freeside-queued.pid`
-        echo "done."
-
+        [ -e /var/run/freeside-queued.pid ] && kill `cat /var/run/freeside-queued.pid`
         #and
+        sleep 2;
         killall freeside-queued
-
-        echo -n "Stopping freeside-sqlradius-radacctd: "
-        kill `cat /var/run/freeside-sqlradius-radacctd.pid`
         echo "done."
 
-        echo -n "Stopping freeside-prepaidd: "
-        kill `cat /var/run/freeside-prepaidd.pid`
-        echo "done."
+        if [ -e /var/run/freeside-sqlradius-radacctd.pid ]; then
+          echo -n "Stopping freeside-sqlradius-radacctd: "
+          kill `cat /var/run/freeside-sqlradius-radacctd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-prepaidd.pid ]; then
+          echo -n "Stopping freeside-prepaidd: "
+          kill `cat /var/run/freeside-prepaidd.pid`
+          echo "done."
+        fi
+
+        if [ -e /var/run/freeside-cdrd.pid ]; then
+          echo -n "Stopping freeside-cdrd: "
+          kill `cat /var/run/freeside-cdrd.pid`
+          echo "done."
+        fi
 
         if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid ]
         then
           echo -n "Stopping (old) freeside-selfservice-server: "
           kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid`
           rm /var/run/freeside-selfservice-server.$SELFSERVICE_USER.pid
+          echo "done."
         fi
 
         for MACHINE in $SELFSERVICE_MACHINES; do
-          echo -n "Stopping freeside-selfservice-server to $MACHINE: "
-          kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
-          echo "done."
+          if [ -e /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid ]
+          then
+            echo -n "Stopping freeside-selfservice-server to $MACHINE: "
+            kill `cat /var/run/freeside-selfservice-server.$SELFSERVICE_USER.$MACHINE.pid`
+            echo "done."
+          fi
         done
 
         ;;