#!/bin/sh # /etc/rc.d/rc.gpsd # Start/stop/restart gpsd # Sebastian Arcus and David Spencer # # To enable automatic discovery of your GPS device by udev, uncomment the # appropriate line of /etc/udev/rules.d/97-gpsd.rules # # Configuration options may be set in /etc/rc.d/rc.gpsd.conf # but the defaults will usually be adequate. gpsd_start() { if [ ! -x /lib/udev/gpsd.hotplug.wrapper ]; then echo "$(basename $0): /lib/udev/gpsd.hotplug.wrapper not found (or not executable); cannot start." fi if [ -r /etc/rc.d/rc.gpsd.conf ]; then . /etc/rc.d/rc.gpsd.conf fi # Set config defaults in case the .conf file was absent or bogus GPSD_DEVICES="${GPSD_DEVICES:-/dev/gps*}" GPSD_OPTIONS="${GPSD_OPTIONS:-}" GPSD_SOCKET="${GPSD_SOCKET:-/var/run/gpsd.sock}" for DEVNAME in $GPSD_DEVICES; do if [ -e $DEVNAME ]; then echo "$(basename $0): Starting gpsd for $DEVNAME" ACTION=add DEVNAME=$DEVNAME /lib/udev/gpsd.hotplug.wrapper else echo "$(basename $0): $DEVNAME not found, gpsd not started" fi done } gpsd_stop() { echo "Stopping gpsd..." killall gpsd >/dev/null 2>&1 return 0 } case "$1" in start) gpsd_start ;; stop) gpsd_stop ;; restart) gpsd_stop sleep 1 gpsd_start ;; *) echo "Usage: $0 start|stop|restart" exit 1 ;; esac