summaryrefslogtreecommitdiff
path: root/packages/gsm/files/gsmd
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2007-03-19 20:26:01 +0000
committerPhilipp Zabel <philipp.zabel@gmail.com>2007-03-19 20:26:01 +0000
commit3aea1c400ca4298e347ab5d49658a01e537bc311 (patch)
tree3d8bc96bfbc0a25dc2603ba7bce877e04f004335 /packages/gsm/files/gsmd
parent0b8f21805badca0721be2f3bc9f3e6448b48aad8 (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/gsmd103
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