#! /bin/sh

LOGFILE=~/var/log/gale.log
ERRORLOG=~/var/log/gale-errors.log
GSUB=$(which gsub)

case "$1" in
    start)
        if [ -e $LOGFILE -o -e $ERRORLOG ]
        then
          WIBBLE=true
          echo -n "Preserving old logfiles:"
        fi
        if [ -e $LOGFILE ]
	then
	  echo -n " gale.log"
	  mv ${LOGFILE} ${LOGFILE}.$(stat -c '%Y' ${LOGFILE})
        fi
        if [ -e $ERRORLOG ]
	then
	  echo -n " gale-errors.log"
	  mv ${ERRORLOG} ${ERRORLOG}.$(stat -c '%Y' ${ERRORLOG})
        fi
        if [ "x$WIBBLE" != "$WIBBLE" ]
        then
          echo
        fi
	$0 resume
        ;;
    resume)
        echo "Starting: gsub"
        /sbin/start-stop-daemon --start --make-pidfile --quiet \
        --pidfile ~/var/run/gsub.pid --exec $GSUB -- -A >>$LOGFILE 2>>$ERRORLOG &
        ;;
    stop)
	$0 compress
        echo "Stopping: gsub"
        /sbin/start-stop-daemon --stop --make-pidfile --quiet \
        --pidfile ~/var/run/gsub.pid --exec $GSUB -- -A >>$LOGFILE 2>>$ERRORLOG &
        ;;
    compress)
	set - ${LOGFILE}.*[0-9]
	if [ -e "$1" ]
        then
          echo -n "Compressing old logs:"
	  for x in ${LOGFILE}.*[0-9] ${ERRORLOG}.*[0-9]
          do
	    echo -n " $x"
            gzip -9 $x
          done
          echo
        fi
        ;;
    restart)
        $0 stop && $0 start
        ;;
    reload)
        $0 stop && $0 resume
        ;;
esac
