Author: glen
Date: Sat Jul 25 21:24:32 2009
New Revision: 10425

Modified:
   rc-scripts/trunk/rc.d/init.d/template.init
Log:
- add checkconfig action sample

Modified: rc-scripts/trunk/rc.d/init.d/template.init
==============================================================================
--- rc-scripts/trunk/rc.d/init.d/template.init  (original)
+++ rc-scripts/trunk/rc.d/init.d/template.init  Sat Jul 25 21:24:32 2009
@@ -37,6 +37,40 @@
        exit 0
 fi
 
+# configtest itself
+configtest() {
+       local rc out
+
+       # capture program output from configtest, print it out only on error
+       out=`/usr/sbin/<service> -t 2>&1`; rc=$?
+       if [ $rc -gt 0 ]; then
+               echo >&2 "$out"
+       fi
+       return $rc
+}
+
+# wrapper for configtest:
+checkconfig() {
+       local details=${1:-0}
+
+       if [ $details = 1 ]; then
+               # run config test and display report (status action)
+               show "Checking %s configuration" "<service_name>"; busy; echo
+               configtest
+               RETVAL=$?
+       else
+               # run config test and abort with nice message if failed
+               # (for actions checking status before action).
+               configtest >/dev/null 2>&1
+               RETVAL=$?
+               if [ $RETVAL != 0 ]; then
+                       show "Checking %s configuration" "<service_name>"; fail
+                       nls 'Configuration test failed. See details with %s 
"checkconfig"' $0
+                       exit $RETVAL
+               fi
+       fi
+}
+
 start() {
        # Check if the service is already running?
        if [ -f /var/lock/subsys/<service> ]; then
@@ -44,6 +78,7 @@
                return
        fi
 
+       checkconfig
        msg_starting "<service_name>"
        daemon /usr/sbin/<service>
        RETVAL=$?
@@ -70,6 +105,7 @@
                return
        fi
 
+       checkconfig
        msg_reloading "<service_name>"
        killproc <service> -HUP
        killproc --pidfile /var/run/<service>.pid <service> -HUP
@@ -83,6 +119,7 @@
                return
        fi
 
+       checkconfig
        stop
        start
 }
@@ -97,6 +134,7 @@
        stop
        ;;
   restart)
+       checkconfig
        stop
        start
        ;;
@@ -112,12 +150,15 @@
   force-reload)
        condrestart 7
        ;;
+  checkconfig)
+       checkconfig 1
+       ;;
   status)
        status <service>
        RETVAL=$?
        ;;
   *)
-       msg_usage "$0 
{start|stop|restart|try-restart|reload|force-reload|status}"
+       msg_usage "$0 
{start|stop|restart|try-restart|reload|force-reload|checkconfig|status}"
        exit 3
 esac
 
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to