Commit | Line | Data |
---|---|---|
73fbe041 DM |
1 | #!/bin/bash |
2 | ### BEGIN INIT INFO | |
3 | # Provides: guix-daemon | |
4 | # Required-Start: $remote_fs $syslog | |
5 | # Required-Stop: $remote_fs $syslog | |
6 | # Default-Start: 2 3 4 5 | |
7 | # Default-Stop: 0 1 6 | |
8 | # Short-Description: Guix build daemon | |
9 | # Description: Provides a daemon that does builds for Guix | |
10 | ### END INIT INFO | |
11 | ||
12 | set -e | |
13 | mkdir -p "/var/run" | |
14 | if [ ! -f "@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon" ] | |
15 | then | |
16 | exit 5 | |
17 | fi | |
18 | ||
19 | case "$1" in | |
20 | start) | |
21 | if [ -f "/var/run/guix-daemon.pid" ] | |
22 | then | |
23 | if pgrep -F "/var/run/guix-daemon.pid" guix-daemon | |
24 | then | |
25 | exit 0 | |
26 | else | |
27 | echo "guix-daemon has a stale pid file" >&2 | |
28 | exit 1 | |
29 | fi | |
30 | else | |
31 | daemonize \ | |
32 | -a \ | |
33 | -e "/var/log/guix-daemon-stderr.log" \ | |
34 | -o "/var/log/guix-daemon-stdout.log" \ | |
35 | -E GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale \ | |
36 | -E LC_ALL=en_US.utf8 \ | |
37 | -p "/var/run/guix-daemon.pid" \ | |
38 | @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \ | |
39 | --build-users-group=guixbuild | |
40 | fi | |
41 | ;; | |
42 | stop) | |
43 | if [ -f "/var/run/guix-daemon.pid" ] | |
44 | then | |
45 | pkill -F "/var/run/guix-daemon.pid" guix-daemon || { | |
46 | exit 1 | |
47 | } | |
48 | rm -f "/var/run/guix-daemon.pid" | |
49 | exit 0 | |
50 | else | |
51 | exit 0 | |
52 | fi | |
53 | ;; | |
54 | status) | |
55 | if [ -f "/var/run/guix-daemon.pid" ] | |
56 | then | |
57 | if pgrep -F "/var/run/guix-daemon.pid" guix-daemon | |
58 | then | |
59 | echo "guix-daemon is running" | |
60 | exit 0 | |
61 | else | |
62 | echo "guix-daemon has a stale pid file" | |
63 | exit 1 | |
64 | fi | |
65 | else | |
66 | echo "guix-daemon is not running" | |
67 | exit 3 | |
68 | fi | |
69 | ;; | |
70 | restart|force-reload) | |
71 | "$0" stop | |
72 | "$0" start | |
73 | ;; | |
74 | *) | |
75 | echo "Usage: $0 (start|stop|status|restart|force-reload)" | |
76 | exit 3 | |
77 | ;; | |
78 | esac |