summaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-05-03 11:12:07 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-05-03 11:12:07 +0200
commita647c163ca1bb384aae4b77fe9768114bf08d08c (patch)
tree3a075cde52c01bbffa2baf34c185ee6e773fd967 /misc
parent33dc8c5e87ac70c6dabccc4287622a70aaec04a3 (diff)
parenta86fb15a154b7ca71826c69e90cba3690f7d3834 (diff)
Merge pull request #894 from adevress/systemV-support
SystemV init file for BSD systems, old Linux distributions (RHEL 6) a…
Diffstat (limited to 'misc')
-rwxr-xr-xmisc/systemv/nix-daemon113
1 files changed, 113 insertions, 0 deletions
diff --git a/misc/systemv/nix-daemon b/misc/systemv/nix-daemon
new file mode 100755
index 000000000..fea537167
--- /dev/null
+++ b/misc/systemv/nix-daemon
@@ -0,0 +1,113 @@
+#!/bin/sh
+#
+# nix-daemon: Starts the nix package manager daemon
+#
+# chkconfig: 345 24 02
+# description: This is a daemon which enable the multi-user mode
+# of the nix package manager.
+# processname: nix-daemon
+# pidfile: /var/run/nix/nix-daemon.pid
+
+### BEGIN INIT INFO
+# Required-Start:
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Starts the nix daemon
+# Description: This is a daemon which enable the multi-user mode
+# of the nix package manager.
+### END INIT INFO
+
+NIX_DAEMON_BIN=/usr/bin/nix-daemon
+#NIX_DAEMON_USER="root"
+NIX_DAEMON_USER="nix-daemon"
+NIX_DAEMON_OPTS="--daemon"
+
+umask 0022
+
+if [ "$1" = 'status' ]; then
+ test -x $NIX_DAEMON_BIN || exit 4
+else
+ test -x $NIX_DAEMON_BIN || exit 5
+fi
+
+# Source function library.
+. /etc/init.d/functions
+
+LOCKFILE=/var/lock/subsys/nix-daemon
+RUNDIR=/var/run/nix
+PIDFILE=${RUNDIR}/nix-daemon.pid
+RETVAL=0
+
+base=${0##*/}
+
+start() {
+
+ mkdir -p ${RUNDIR}
+ chown ${NIX_DAEMON_USER}:${NIX_DAEMON_USER} ${RUNDIR}
+
+ echo -n $"Starting nix daemon... "
+
+ daemonize -u $NIX_DAEMON_USER -p ${PIDFILE} $NIX_DAEMON_BIN $NIX_DAEMON_OPTS
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch ${LOCKFILE}
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Shutting down nix daemon: "
+ killproc -p ${PIDFILE} $NIX_DAEMON_BIN
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
+ echo
+ return $RETVAL
+}
+
+reload() {
+ echo -n $"Reloading nix daemon... "
+ killproc -p ${PIDFILE} $NIX_DAEMON_BIN -HUP
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
+
+RETVAL=0
+
+# caller switch
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status -p ${PIDFILE} $NIX_DAEMON_BIN
+ RETVAL=$?
+ ;;
+ restart)
+ restart
+ ;;
+ reload)
+ reload
+ ;;
+ condrestart)
+ if [ -f $LOCKFILE ]; then
+ restart
+ fi
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart}"
+ exit 2
+ ;;
+esac
+
+exit $RETVAL