diff options
author | Philipp Zabel <philipp.zabel@gmail.com> | 2007-03-19 20:26:01 +0000 |
---|---|---|
committer | Philipp Zabel <philipp.zabel@gmail.com> | 2007-03-19 20:26:01 +0000 |
commit | 3aea1c400ca4298e347ab5d49658a01e537bc311 (patch) | |
tree | 3d8bc96bfbc0a25dc2603ba7bce877e04f004335 /packages/gsm/files/gsmd | |
parent | 0b8f21805badca0721be2f3bc9f3e6448b48aad8 (diff) |
libgsmd: gsmd init script updates
- split out machine configuration into /etc/default/gsmd
- add machine configuration for magician
- remove uucp/spool handling, it is not needed for gsmd
Diffstat (limited to 'packages/gsm/files/gsmd')
-rw-r--r-- | packages/gsm/files/gsmd | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/packages/gsm/files/gsmd b/packages/gsm/files/gsmd new file mode 100644 index 0000000000..26ff56aa5c --- /dev/null +++ b/packages/gsm/files/gsmd @@ -0,0 +1,103 @@ +#!/bin/sh +# +# gsmd This shell script starts and stops gsmd. +# +# chkconfig: 345 90 40 +# description: Gsmd manages access to a serial- or USB-connected GSM +# processname: gsmd + +# Source configuration +. /etc/default/gsmd + +# Source function library. +#. /etc/rc.d/init.d/functions + +RETVAL=0 +prog="gsmd" + +start() { + # FIXME add check whether GSM_POW is set at all, otherwise don't try to power on + # Power on GSM device + if [ -e "${GSM_POW}" ] + then + echo -n "Powering up GSM device..." + echo "1" > ${GSM_POW} + sleep 1 + echo "done" + else + echo "GSM device not found. Aborting startup" + return false + fi + # 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. gsmd 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 -- gsmd does its own syslog calls. + # + if [ -e "${GSM_DEV}" ] + then + stty -F ${GSM_DEV} crtscts + gsmd -p ${GSM_DEV} ${GSMD_OPTS} >/tmp/gsm.log 2>&1 & + echo "success" + else + # User needs to symlink ${GPS_DEV} to the right thing + echo "No ${GSM_DEV} device, aborting gsmd startup." + fi + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gsmd + return $RETVAL +} + +stop() { + # Stop daemons. + echo -n "Shutting down $prog: " + killall gsmd +# killproc gsmd + RETVAL=$? + echo + if [ $RETVAL -eq 0 ] + then + rm -f /var/lock/subsys/gsmd; + 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/gsmd ]; then + stop + start + RETVAL=$? + fi + ;; + status) +# status gsmd +# RETVAL=$? + ;; + *) + echo "Usage: $0 {start|stop|restart|condrestart|status}" + exit 1 +esac + +exit $RETVAL |