From 6afc056f7d9cd81272f5fe1a126842cadd59a481 Mon Sep 17 00:00:00 2001 From: Guillaume Bour <guillaume@bour.cc> Date: Mon, 26 Aug 2013 22:21:58 +0200 Subject: [PATCH] init.d start/stop script for debian --- Makefile | 7 +++++ debian/fanout.default | 5 +++ debian/fanout.init | 72 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 debian/fanout.default create mode 100755 debian/fanout.init diff --git a/Makefile b/Makefile index d50b770..0f54193 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,13 @@ LFLAGS = -Wall $(DEBUG) fanout : fanout.c $(CC) $(LFLAGS) $(OBJS) -o $(PROJ) fanout.c +debian-install: + -groupadd -f fanout + -useradd -g fanout -d /var/run/fanout -m -s /bin/false fanout + cp fanout /usr/local/bin + cp debian/fanout.init /etc/init.d/fanout + cp debian/fanout.default /etc/default/fanout + clean: \rm fanout diff --git a/debian/fanout.default b/debian/fanout.default new file mode 100644 index 0000000..3c7526b --- /dev/null +++ b/debian/fanout.default @@ -0,0 +1,5 @@ + +# Default settings for fanout server + +# Options to pass to fanout +FANOUT_OPTS="--daemon --pidfile=/var/run/fanout.pid --run-as=fanout:fanout --logfile=/var/log/fanout.log --debug-level=2" diff --git a/debian/fanout.init b/debian/fanout.init new file mode 100755 index 0000000..b9fae66 --- /dev/null +++ b/debian/fanout.init @@ -0,0 +1,72 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: fanout +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Fanout SparkleShare pubsub server +### END INIT INFO + +set -e + +SERVICE=fanout +DAEMON=/usr/local/bin/$SERVICE +PIDFILE=/var/run/$SERVICE.pid + +test -x $DAEMON || exit 0 + +umask 022 + +if test -f /etc/default/$SERVICE; then + . /etc/default/$SERVICE +fi + +. /lib/lsb/init-functions + +if [ -n "$2" ]; then + FANOUT_OPTS="$FANOUT_OPTS $2" +fi + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" + +case "$1" in + start) + log_daemon_msg "Starting Fanout server" "fanout" || true + if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- $FANOUT_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + stop) + log_daemon_msg "Stopping Fanout server" "fanout" || true + if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + restart) + log_daemon_msg "Restarting Fanout server" "fanout" || true + start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE + if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- $FANOUT_OPTS; then + log_end_msg 0 || true + else + log_end_msg 1 || true + fi + ;; + + status) + status_of_proc -p $PIDFILE $DAEMON $SERVICE && exit 0 || exit $? + ;; + + *) + log_action_msg "Usage: /etc/init.d/$SERVICE {start|stop|restart|status}" || true + exit 1 +esac + +exit 0 -- GitLab