#!/bin/sh # # dgee dgee short service description # #Start right before apache: # chkconfig: 345 84 16 # # description: dgee long service description # # $Id$ # Source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network # Set defaults GWCONFIG=/etc/dgeeconf.bin SRC_CONFIG=/etc/dgeeconf.xml # Get service config - may override defaults [ -f /etc/sysconfig/dgee ] && . /etc/sysconfig/dgee export GWCONFIG goldwater_start () { stat=`goldwater --prompt='dotGNU DGEE' start | grep -e"Goldwater Started."` if [ "$stat" = "Goldwater Started." ]; then return 0 fi return 1 } goldwater_stop () { goldwater --prompt='dotGNU DGEE' stop | \ grep -e "++ Halting" | \ awk 'BEGIN{err=0}/$12~"Halted"/{next}{err++}END{exit err}' if [ $? = "0" ]; then return 0; fi return 1; } goldwater_boot () { goldwater --prompt='dotGNU DGEE' boot | \ grep -e "++ Booting" | \ awk 'BEGIN{err=0}/$12~"Booted"/{next}{err++}END{exit err}' if [ $? = "0" ]; then return 0 fi return 1 } # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down dgee exit 1 fi else exit 0 fi RETVAL=0 # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/dgee ]; then msg_starting dgee busy goldwater_start if [ $? = "0" ]; then log_success "dgee startup" goldwater_boot if [ $? = "0" ]; then log_success "dgeews startup" ok touch /var/lock/subsys/dgee else log_failed "dgeews startup" goldwater_stop if [ $? != "0" ]; then log_failed "dgee shutdown" fi fail exit 1 fi else fail log_failed "dgee startup" exit 1 fi else msg_already_running dgee fi ;; stop) if [ -f /var/lock/subsys/dgee ]; then # Stop daemons. msg_stopping dgee busy goldwater_stop if [ $? = "0" ]; then log_success "dgee shutdown" ok rm -f /var/lock/subsys/dgee else log_failed "dgee shutdown" fail rm -f /var/lock/subsys/dgee fi else msg_not_running dgee fi ;; restart|force-reload) $0 stop $0 start exit $? ;; reload) if [ -f /var/lock/subsys/dgee ]; then goldwater --prompt='dotGNU DGEE' cycle RETVAL=$? else msg_not_running dgee >&2 RETVAL=7 fi ;; status) status dgee RETVAL=$? ;; compilecfg) if [ -n $2 ]; then SRC_CONFIG=$2 fi /usr/bin/gwmkcfg $SRC_CONFIG RETVAL=$? ;; *) msg_usage "$0 \ {start|stop|restart|reload-ws|force-reload|status|compilecfg}" exit 3 esac exit $RETVAL # This must be last line ! # vi:syntax=sh:tw=78:ts=8:sw=4