#!/bin/bash
#
# /etc/rc.d/init.d/gpsd
#
# Starts the gps daemon
#
# chkconfig: 345 44 56
# description: Listen and dispatch GPS events
# processname: gpsd

# Source function library.
. /lib/lsb/init-functions

DAEMON=gps
PROGNAME=${DAEMON}d
TTY=/dev/ttyUSB0
PIDFILE=/var/run/gpsd.pid
CONTROL_SOCKET=/var/run/gpsd.sock
OPTIONS="-n -F $CONTROL_SOCKET -P $PIDFILE"

test -x /usr/sbin/$PROGNAME || exit 0

RETVAL=0

#
# See how we were called.
#

start() {
# Check if it is already running
  [ "$EUID" != "0" ] && exit 4
  if [ ! -f /var/lock/$PROGNAME ]; then
    echo -n "Starting $DAEMON daemon: "
    /usr/sbin/$PROGNAME $OPTIONS $TTY
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/$PROGNAME
    echo
  fi
  return $RETVAL
}

stop() {
  [ "$EUID" != "0" ] && exit 4
  echo -n "Stopping $DAEMON daemon: "
  pkill $PROGNAME
  RETVAL=$?
  [ $RETVAL -eq 0 ] && rm -f /var/lock/$PROGNAME
  echo
  return $RETVAL
}


restart() {
  stop
  start
}

reload() {
  trap "" SIGHUP
  killall -HUP $PROGNAME
}

case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
  reload)
    reload
  ;;
  restart)
    restart
  ;;
  condrestart)
    if [ -f /var/lock/$PROGNAME ]; then
      restart
    fi
  ;;
  status)
    status $PROGNAME
  ;;
  *)
    INITNAME=`basename $0`
    echo "Usage: $INITNAME {start|stop|restart|condrestart|status}"
    exit 1
esac

exit $RETVAL
