#!/sbin/sh 
#
# Start ssdb daemon
#
# $Revision: 1.18 $
#

IS_ON=/sbin/chkconfig
BASEDIR=/usr/etc
INITFILESDIR=/var/esp/init/datafiles
INITDIR=/etc/init.d
DAEMONDIR=/usr/etc
BINDIR=/usr/local/bin
DATADIR=/var/esp/ssdb/data
LOGDIR=$DATADIR
ADMINUSER=root
DAEMONUSER=root
PIDFILE=$LOGDIR/`uname -n`.pid
LOGFILE=$LOGDIR/`uname -n`.log

# On IRIX hostname is in /usr/bsd so add this to the path
PATH=$PATH:/usr/bsd
hostname=`uname -n`

DAEMONOPTS="--skip-networking --basedir=$BASEDIR --datadir=$DATADIR"

if $IS_ON verbose || test -t 1 ; then
    ECHO=echo
    QUIET=""
else
    ECHO=:
    QUIET='>/dev/null 2>&1'
fi
	ID=`id | sed 's/).*$//' | sed 's/^.*(//'`;
	if [ "$ID" != "root" ]; then
	    echo "Must be logged in as root to execute this"
	    exit 1
	fi
	case "$1" in
  'start')
	counter=0
        if test -x $DAEMONDIR/espdbd ; then
	    killall -9 espdbd espemd
	    rm -f /tmp/mysql.sock $PIDFILE

	    if [ ! -f "$DATADIR/ssdb/system.ISD" ] ; then
	        $DAEMONDIR/espdbd -Sg $DAEMONOPTS >>$LOGFILE 2>&1 &
		while [ "$counter" -lt 5 ]
		do
			/usr/sbin/espadmin ver > /dev/null 2>&1
			if test $? -eq 0 ; then 
				break
			fi
			sleep 2                     # This must be enough
			counter=`expr $counter + 1`
		done
		
		rm -f $DATADIR/mysql/*.ISD
		rm -f $DATADIR/mysql/*.ISM
		rm -f $DATADIR/mysql/*.frm
		cp -p $INITFILESDIR/*.frm $DATADIR/mysql
		sync
		# Sleep only here at the first time of databae creation
	        sleep 5
		/usr/sbin/espdbinit -d mysql -s "delete from db" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "delete from host" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "delete from user" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "delete from func" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "insert into host values ('localhost','ssdb','Y','Y','Y','Y','Y','Y')" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "insert into user values ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')" > /dev/null 2>&1
		/usr/sbin/espdbinit -d mysql -s "insert into db values ('localhost','ssdb','root','Y','Y','Y','Y','Y','Y')" > /dev/null 2>&1
		/usr/sbin/espadmin reload
		sync
		/usr/sbin/espdbinit -d mysql -s "create database ssdb" > /dev/null 2>&1
		/usr/sbin/espdbinit -f $INITFILESDIR/espschema > /dev/null 2>&1
		if [ $? -ne 0 ] ; then
		   /usr/bsd/logger "Cannot initalize Embedded Support Partner Database. Shutting down DB Server.."
		   /usr/sbin/espadmin -u $ADMINUSER shutdown >> $LOGFILE 2>&1
		   exit 1
		fi
		/usr/sbin/espadmin -u $ADMINUSER shutdown >> $LOGFILE 2>&1
		sleep 5
	    fi		
	    $DAEMONDIR/espdbd $DAEMONOPTS >>$LOGFILE 2>&1 &
	    counter=0
	    while [ "$counter" -lt 5 ]
                do      
                        /usr/sbin/espadmin ver > /dev/null 2>&1
                        if test $? -eq 0 ; then 
                                break
                        fi
                        sleep 2                     # This must be enough
                        counter=`expr $counter + 1`
                done
	    # Initialize/Update event list in sss.
	    /usr/sbin/espevents  > /dev/null 2>&1

            # Start up the espemd daemon
	    /usr/etc/espemd

            #
            # Refresh eventmon at this time
            #
            /usr/etc/eventmond -r
      fi
      ;;

  'stop')
      /usr/etc/espemd -q
      /usr/sbin/espadmin -u $ADMINUSER shutdown >> $LOGFILE 2>&1
      sleep 2
      ;;

  *)
      echo "usage: $0 {start|stop}"
      ;;
esac
