#!/bin/bash

# init file for Compaq Storage peer
#
# processname: cmastorpeerd

PKGBIN=/opt/compaq/storage/bin
PATH=/opt/compaq/storage/bin:$PATH
LOGFILE=/var/spool/compaq/cma.log
NAME="Compaq Storage peer"
PNAME="cmastorpeerd"
PFLAGS=
SNMPD="snmpd"

cmaecho () {
  echo "  " $*
  echo "  " $* >>$LOGFILE 2>&1
}

cmaechon () {
  echo -n "  " $*
  echo -n "  " $* >>$LOGFILE 2>&1
}

# Identify OS Vendor
if [ -f /etc/redhat-release ]; then
  VENDOR="RedHat"
elif [ -f /etc/SuSE-release ]; then
  VENDOR="SuSE"
fi

case "$VENDOR" in
  RedHat)
        # source function library
        . /etc/rc.d/init.d/functions
        RETVAL=0
        PATH=$PKGBIN:$PATH
        case "$1" in
          start)
                cmaechon "Starting $NAME ($PNAME): "
                SNMPPID=`pidof $SNMPD`
                if [ -z "$SNMPPID" ]; then
                  cmaecho
                  cmaecho "Can not start $PNAME! ($SNMPD is not running)"
                  RETVAL=1
                else
                  pidlist=`pidof -o $$ $PNAME`
                  if [ -z "$pidlist" ]; then
                    $PNAME $PFLAGS >> $LOGFILE 2>&1 &
                    RETVAL=$?
                  else
                    RETVAL=1
                  fi
                fi
                cmaecho
                ;;
          stop)
                cmaechon "Shutting down $NAME ($PNAME): "
                killproc $PNAME
                RETVAL=$?
                cmaecho
                ;;
          restart)
                $0 stop
                $0 start
                RETVAL=$?
                ;;
          status)
                status $PNAME
                RETVAL=$?
                ;;
          *)
                cmaecho "Usage: $PNAME {start|stop|restart|status}"
                exit 1
        esac

        exit $RETVAL
        ;;
  SuSE)
        . /etc/rc.config
        RETVAL=0
        PATH=$PKGBIN:$PATH
        case "$1" in
          start)
                cmaechon "Starting $NAME ($PNAME): "
                SNMPPID=`pidof $SNMPD`
                if [ -z "$SNMPPID" ]; then
                  cmaecho
                  cmaecho "Can not start $PNAME! ($SNMPD is not running)"
                  RETVAL=1
                else
                  pidlist=`pidof -o $$ $PNAME`
                  if [ -z "$pidlist" ]; then
                    $PNAME $PFLAGS >> $LOGFILE 2>&1 &
                    RETVAL=$?
                  else
                    RETVAL=1
                  fi
                fi
                cmaecho
                ;;
          stop)
                cmaechon "Shutting down $NAME ($PNAME): "
                killproc $PKGBIN/$PNAME
                RETVAL=$?
                cmaecho
                ;;
          restart)
                $0 stop
                $0 start
                RETVAL=$?
                ;;
          status)
                echo -n "Checking for $PNAME: "
                /sbin/checkproc $PKGBIN/$PNAME && echo OK || echo No process
                RETVAL=$?
                ;;
          *)
                cmaecho "Usage: $PNAME {start|stop|restart|status}"
                exit 1
        esac

        exit $RETVAL
        ;;
     *)
        cmaecho "ERROR: Can't identify Linux OS Vendor $VENDOR"
        exit 1
esac

case "$1" in
  start)
	cmaechon "Starting $NAME ($PNAME): "
        SNMPPID=`pidof $SNMPD`
        if [ -z "$SNMPPID" ]; then
	  cmaecho
          cmaecho "Can not start $PNAME! ($SNMPD is not running)"
	  RETVAL=1
        else
          pidlist=`pidof -o $$ $PNAME`
          if [ -z "$pidlist" ]; then
            $PNAME $PFLAGS >> $LOGFILE 2>&1 &
	    RETVAL=$?
          else
            RETVAL=1
          fi
        fi
	cmaecho
	;;
  stop)
	cmaechon "Shutting down $NAME ($PNAME): "
	killproc $PNAME
	RETVAL=$?
	cmaecho
	;;
  restart)
        $0 stop
        $0 start
	RETVAL=$?
        ;;
  status)
        status $PNAME
	RETVAL=$?
        ;;
  *)
	cmaecho "Usage: $PNAME {start|stop|restart|status}"
	exit 1
esac

exit $RETVAL
