Browse Source
* 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 .guile-daemon

3 changed files with 93 additions and 2 deletions
@ -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 |
Loading…
Reference in new issue