diff options
Diffstat (limited to 'packages/gpsd/files')
-rw-r--r-- | packages/gpsd/files/fic-gta01/gps-hardware | 41 | ||||
-rwxr-xr-x | packages/gpsd/files/fic-gta01/gpsd | 105 | ||||
-rw-r--r-- | packages/gpsd/files/gps-hardware | 2 | ||||
-rwxr-xr-x | packages/gpsd/files/gpsd | 11 |
4 files changed, 53 insertions, 106 deletions
diff --git a/packages/gpsd/files/fic-gta01/gps-hardware b/packages/gpsd/files/fic-gta01/gps-hardware new file mode 100644 index 0000000000..6490f52c27 --- /dev/null +++ b/packages/gpsd/files/fic-gta01/gps-hardware @@ -0,0 +1,41 @@ +#! /bin/sh +# +# Copyright Matthias Hentges <devel@hentges.net> (c) 2008 +# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) +# +# Filename: gps-hardware +# Date: 20080103 (YMD) +# +################################################################################# +# +# 20080103 - v0.0.1 - Initial release + +if ! test -e /home/root/gllin/gllin +then + echo -e "\n\ngllin GPS driver for Neo1973 not found," + echo "please install the gllin package from" + echo "http://3rdparty.downloads.openmoko.org/gllin/" + echo "" + exit 1 +fi + + +do_start() { + /home/root/gllin/gllin >/var/log/gllin.log 2>&1 & + sleep 1 +} + +do_stop() { + gllin_PIDs="`ps ax | grep "/home/root/gllin" | grep -v grep | awk '{print $1}'`" + test -n "$gllin_PIDs" && kill $gllin_PIDs +} + +do_status() { + ps ax | grep -v grep | grep -q gllin && echo "ready" || echo "unknown" +} + +case "$1" in + start) do_start ;; + stop) do_stop ;; + status) do_status ;; +esac diff --git a/packages/gpsd/files/fic-gta01/gpsd b/packages/gpsd/files/fic-gta01/gpsd deleted file mode 100755 index 113f43dd20..0000000000 --- a/packages/gpsd/files/fic-gta01/gpsd +++ /dev/null @@ -1,105 +0,0 @@ -#!/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 -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 -e /home/root/gllin/gllin - then - /home/root/gllin/gllin >/var/log/gllin.log 2>&1 & - else - echo -e "\n\ngllin GPS driver for Neo1973 not found," - echo "please install the gllin package from" - echo "http://3rdparty.downloads.openmoko.org/gllin/" - echo "" - exit 1 - fi - - if [ -e "${GPS_DEV}" ] - then - gpsd ${GPSD_OPTS} -p ${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 - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gpsd - return $RETVAL -} - -stop() { - # Stop daemons. - echo -n "Shutting down $prog: " - - gllin_PIDs="`ps ax | grep "/home/root/gllin" | grep -v grep | awk '{print $1}'`" - test -n "$gllin_PIDs" && kill $gllin_PIDs - - killall gpsd - killproc gpsd - RETVAL=$? - echo - if [ $RETVAL -eq 0 ] - then - rm -f /var/lock/subsys/gpsd; - fi - return $RETVAL -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - RETVAL=$? - ;; - condrestart) - if [ -f /var/lock/subsys/gpsd ]; then - stop - start - RETVAL=$? - fi - ;; - status) -# status gpsd -# RETVAL=$? - ;; - *) - echo "Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 -esac - -exit $RETVAL diff --git a/packages/gpsd/files/gps-hardware b/packages/gpsd/files/gps-hardware new file mode 100644 index 0000000000..ff2ddb3650 --- /dev/null +++ b/packages/gpsd/files/gps-hardware @@ -0,0 +1,2 @@ +# This is a dummy file. Some machines use it to bring up integrated GPS +# devices on demand. diff --git a/packages/gpsd/files/gpsd b/packages/gpsd/files/gpsd index 3a14867f8a..e536837e1c 100755 --- a/packages/gpsd/files/gpsd +++ b/packages/gpsd/files/gpsd @@ -29,9 +29,18 @@ start() { # 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 - gpsd ${GPSD_OPTS} -p ${GPS_DEV} + gpsd ${GPSD_OPTS} ${GPS_DEV} echo "success" else # User needs to symlink ${GPS_DEV} to the right thing |