summaryrefslogtreecommitdiffstats
path: root/servers/fpga_server_lin/debian
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 21:34:23 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 21:34:23 -0600
commit8ffcca498e0776498341c466d975fe0aa2579cc1 (patch)
treed44793439c9be9c14e23337cf514e1a12e879878 /servers/fpga_server_lin/debian
parent869276765f726ed5465676af3acf4559ee720a6a (diff)
downloadulab-8ffcca498e0776498341c466d975fe0aa2579cc1.tar.gz
ulab-8ffcca498e0776498341c466d975fe0aa2579cc1.zip
Add Debian/Ubuntu init files for remaining services
Diffstat (limited to 'servers/fpga_server_lin/debian')
-rw-r--r--servers/fpga_server_lin/debian/remotefpga-fpgaserver.init108
1 files changed, 108 insertions, 0 deletions
diff --git a/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init b/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init
new file mode 100644
index 0000000..a55b341
--- /dev/null
+++ b/servers/fpga_server_lin/debian/remotefpga-fpgaserver.init
@@ -0,0 +1,108 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: remotefpga-fpgaserver
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Should-Start: console-screen kbd acpid hal krb5-kdc nis
+# Should-Stop: console-screen kbd
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: RemoteFPGA FPGA Server
+# Description: RemoteFPGA FPGA Server
+### END INIT INFO
+# /etc/init.d/remotefpga-fpgaserver: start or stop the RemoteFPGA FPGA Server
+#
+# description: RemoteFPGA FPGA Server
+#
+
+. /lib/lsb/init-functions
+
+set -e
+
+PATH=/opt/trinity/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/opt/trinity/bin/remotefpga_fpgaserver
+PIDFILE=/var/run/remotefpga_authserver.pid
+UPGRADEFILE=/var/run/remotefpga_authserver.upgrade
+
+DESC="RemoteFPGA FPGA Server"
+
+# If we upgraded the daemon, we can't use the --exec argument to
+# start-stop-daemon since the inode will have changed. The risk here is that
+# in a situation where the daemon died, its pidfile was not cleaned up, and
+# some other process is now running under that pid, start-stop-daemon will send
+# signals to an innocent process. However, this seems like a corner case.
+# C'est la vie!
+if [ -e $UPGRADEFILE ]; then
+ SSD_ARGS="--pidfile $PIDFILE --startas $DAEMON"
+else
+ SSD_ARGS="--pidfile $PIDFILE --exec $DAEMON"
+fi
+
+stillrunning () {
+ if expr "$(cat /proc/$DAEMONPID/cmdline 2> /dev/null)" : "$DAEMON" > /dev/null 2>&1; then
+ true
+ else
+ # if the daemon does not remove its own pidfile, we will
+ rm -f $PIDFILE $UPGRADEFILE
+ false
+ fi;
+}
+
+case "$1" in
+ start)
+ log_action_begin_msg "Starting $DESC"
+ if start-stop-daemon --background --start --make-pidfile --quiet $SSD_ARGS -- $ARG; then
+ log_action_end_msg 0
+ else
+ log_warning_msg "already running"
+ log_action_end_msg 0
+ fi
+ ;;
+
+ restart)
+ /etc/init.d/remotefpga-fpgaserver stop
+ if [ -f $PIDFILE ]; then
+ if stillrunning; then
+ exit 1
+ fi
+ fi
+ /etc/init.d/remotefpga-fpgaserver start
+ ;;
+
+ reload)
+ log_action_begin_msg "Reloading $DESC"
+ if start-stop-daemon --stop --signal 1 --quiet $SSD_ARGS; then
+ log_action_end_msg 0
+ else
+ log_failure_msg "not running"
+ log_action_end_msg 1
+ fi
+ ;;
+
+ force-reload)
+ /etc/init.d/remotefpga-fpgaserver reload
+ ;;
+
+ stop)
+ log_action_begin_msg "Stopping $DESC"
+ if [ ! -f $PIDFILE ]; then
+ log_failure_msg "Not running ($PIDFILE not found)"
+ log_action_end_msg 0
+ exit 0
+ else
+ if start-stop-daemon --stop --quiet $SSD_ARGS; then
+ log_action_end_msg 0
+ else
+ log_failure_msg "not running"
+ log_action_end_msg 1
+ fi
+ fi
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/remotefpga-fpgaserver {start|stop|restart|reload|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0