diff options
author | Danny Milosavljevic <dannym@scratchpost.org> | 2020-01-28 18:38:57 +0100 |
---|---|---|
committer | Danny Milosavljevic <dannym@scratchpost.org> | 2020-03-11 02:45:33 +0100 |
commit | 73fbe04107d38f4561636c74d28d7a4935cbb1ef (patch) | |
tree | 1c7e52ad7d5de7b76571596997d217b65827bac2 /etc | |
parent | 57f85eef462d0ce33d4ebfa3faaea1ff90dad65a (diff) | |
download | guix-73fbe04107d38f4561636c74d28d7a4935cbb1ef.tar.gz guix-73fbe04107d38f4561636c74d28d7a4935cbb1ef.zip |
Add system start-up files for guix-daemon.
* etc/init.d/guix-daemon.in: New file.
* nix/local.mk (etc/init.d/guix-daemon): New rule.
(nodist_sysvinitservice_DATA): Add etc/init.d/guix-daemon.in .
(CLEANFILES): Add etc/init.d/guix-daemon .
* .gitignore: Add etc/init.d/guix-daemon .
Diffstat (limited to 'etc')
-rw-r--r-- | etc/init.d/guix-daemon.in | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/etc/init.d/guix-daemon.in b/etc/init.d/guix-daemon.in new file mode 100644 index 0000000000..1cc49fed89 --- /dev/null +++ b/etc/init.d/guix-daemon.in @@ -0,0 +1,78 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: guix-daemon +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Guix build daemon +# Description: Provides a daemon that does builds for Guix +### END INIT INFO + +set -e +mkdir -p "/var/run" +if [ ! -f "@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon" ] +then + exit 5 +fi + +case "$1" in +start) + if [ -f "/var/run/guix-daemon.pid" ] + then + if pgrep -F "/var/run/guix-daemon.pid" guix-daemon + then + exit 0 + else + echo "guix-daemon has a stale pid file" >&2 + exit 1 + fi + else + daemonize \ + -a \ + -e "/var/log/guix-daemon-stderr.log" \ + -o "/var/log/guix-daemon-stdout.log" \ + -E GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale \ + -E LC_ALL=en_US.utf8 \ + -p "/var/run/guix-daemon.pid" \ + @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \ + --build-users-group=guixbuild + fi + ;; +stop) + if [ -f "/var/run/guix-daemon.pid" ] + then + pkill -F "/var/run/guix-daemon.pid" guix-daemon || { + exit 1 + } + rm -f "/var/run/guix-daemon.pid" + exit 0 + else + exit 0 + fi + ;; +status) + if [ -f "/var/run/guix-daemon.pid" ] + then + if pgrep -F "/var/run/guix-daemon.pid" guix-daemon + then + echo "guix-daemon is running" + exit 0 + else + echo "guix-daemon has a stale pid file" + exit 1 + fi + else + echo "guix-daemon is not running" + exit 3 + fi + ;; +restart|force-reload) + "$0" stop + "$0" start + ;; +*) + echo "Usage: $0 (start|stop|status|restart|force-reload)" + exit 3 + ;; +esac |