From a2bdcb74d46c3b1002df03365330772a049c5173 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 18 Oct 2016 14:43:24 -0400 Subject: Added a LSB init script, for non-systemd systems. (It currently uses Debian's start-stop-daemon, so would need porting for other distributions.) This commit was sponsored by Fernando Jimenez on Patreon. --- CHANGELOG | 3 +++ Makefile | 2 ++ keysafe.cabal | 1 + keysafe.init | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100755 keysafe.init diff --git a/CHANGELOG b/CHANGELOG index 7763a4f..00c5a26 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ keysafe (0.20161007) UNRELEASED; urgency=medium * Check if --store-local directory is writable. * Removed dependency on crypto-random. + * Added a LSB init script, for non-systemd systems. + (It currently uses Debian's start-stop-daemon, so would need porting + for other distributions.) -- Joey Hess Thu, 06 Oct 2016 16:48:57 -0400 diff --git a/Makefile b/Makefile index da28d31..32bc244 100644 --- a/Makefile +++ b/Makefile @@ -32,5 +32,7 @@ install-files: keysafe install -m 0644 keysafe.service $(PREFIX)/lib/systemd/system/keysafe.service install -d $(PREFIX)/usr/share/applications/ install -m 0644 keysafe.desktop $(PREFIX)/usr/share/applications/keysafe.desktop + install -d $(PREFIX)/etc/init.d + install -m 0755 keysafe.init $(PREFIX)/etc/init.d/keysafe install -d $(PREFIX)/etc/xdg/autostart/ install -m 0644 keysafe.autostart $(PREFIX)/etc/xdg/autostart/keysafe.desktop diff --git a/keysafe.cabal b/keysafe.cabal index e5edad4..2d2257d 100644 --- a/keysafe.cabal +++ b/keysafe.cabal @@ -23,6 +23,7 @@ Extra-Source-Files: INSTALL keysafe.1 keysafe.service + keysafe.init keysafe.desktop keysafe.autostart Makefile diff --git a/keysafe.init b/keysafe.init new file mode 100755 index 0000000..4aa1348 --- /dev/null +++ b/keysafe.init @@ -0,0 +1,60 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: keysafe +# Required-Start: $network $remote_fs +# Required-Stop: $network $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Keysafe server +# Description: Starts keysafe in server mode +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +NAME=keysafe +DESC="Keysafe server" +DAEMON="/usr/bin/keysafe" +PIDFILE=/var/run/"$NAME".pid + +test -x /usr/bin/keysafe || exit 0 + +. /lib/lsb/init-functions + +# Parameters to pass to keysafe. This can be overridden in /etc/default/keysafe +DAEMON_PARAMS="--port 4242 --store-directory=/var/lib/keysafe/" +if [ -e /etc/default/keysafe ]; then + . /etc/default/keysafe +fi + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + start-stop-daemon --start --quiet --oknodo \ + --background --no-close \ + --pidfile "$PIDFILE" --make-pidfile \ + --chuid keysafe:keysafe \ + --exec "$DAEMON" -- --server $DAEMON_PARAMS \ + > /var/log/keysafe.log + log_end_msg $? + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + killproc -p "$PIDFILE" "$DAEMON" + RETVAL=$? + [ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE + log_end_msg $RETVAL + ;; + restart|reload|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + $0 stop + $0 start + ;; + status) + status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + log_action_msg "Usage: /etc/init.d/keysafe {start|stop|status|restart|reload|force-reload}" + exit 2 + ;; +esac +exit 0 -- cgit v1.2.3