1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/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 ]; then
- echo "$(basename $0): /lib/udev/gpsd.hotplug not found (or not executable); cannot start."
- exit 1
- 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
- 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
|