aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/gpsd/files/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gpsd/files/gpsd')
-rwxr-xr-xrecipes/gpsd/files/gpsd87
1 files changed, 87 insertions, 0 deletions
diff --git a/recipes/gpsd/files/gpsd b/recipes/gpsd/files/gpsd
new file mode 100755
index 0000000000..91f09c1b75
--- /dev/null
+++ b/recipes/gpsd/files/gpsd
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# gpsd This shell script starts and stops gpsd.
+#
+# chkconfig: 345 90 40
+# description: Gpsd manages access to a serial- or USB-connected GPS
+# processname: gpsd
+
+# Source function library.
+#. /etc/rc.d/init.d/functions
+
+RETVAL=0
+DAEMON=/usr/sbin/gpsd
+prog="gpsd"
+
+test -f /etc/default/$prog && . /etc/default/$prog
+
+start() {
+ # Start daemons.
+ echo -n "Starting $prog: "
+ # We don't use the daemon function here because of a known bug
+ # in initlog -- it spuriously returns a nonzero status when
+ # starting daemons that fork themselves. See
+ # http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=130629
+ # for discussion. Fortunately:
+ #
+ # 1. gpsd startup can't fail, or at least not in the absence of
+ # much larger resource-exhaustion problems that would be very obvious.
+ #
+ # 2. We don't need all the logging crud that daemon/initlog sets
+ # up -- gpsd does its own syslog calls.
+ #
+
+ if test -x /etc/init.d/gps-hardware
+ then
+ if ! ( /etc/init.d/gps-hardware status | grep -q "ready" )
+ then
+ /etc/init.d/gps-hardware start
+ fi
+ fi
+
+ if [ -e "${GPS_DEV}" ]
+ then
+ start-stop-daemon -S -x ${DAEMON} -- ${GPSD_OPTS} ${GPS_DEV}
+ echo "success"
+ else
+ # User needs to symlink ${GPS_DEV} to the right thing
+ echo "No ${GPS_DEV} GPS device, aborting gpsd startup. Check /etc/default/$prog"
+ fi
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+stop() {
+ # Stop daemons.
+ echo -n "Shutting down $prog: "
+ start-stop-daemon -K -x ${DAEMON}
+# killproc gpsd
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ stop
+ start
+ RETVAL=$?
+ ;;
+ status)
+# status gpsd
+# RETVAL=$?
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+esac
+
+exit $RETVAL