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 .
This commit is contained in:
parent
57f85eef46
commit
73fbe04107
1
.gitignore
vendored
1
.gitignore
vendored
@ -71,6 +71,7 @@
|
|||||||
/etc/guix-daemon.service
|
/etc/guix-daemon.service
|
||||||
/etc/guix-publish.conf
|
/etc/guix-publish.conf
|
||||||
/etc/guix-publish.service
|
/etc/guix-publish.service
|
||||||
|
/etc/init.d/guix-daemon
|
||||||
/guix-daemon
|
/guix-daemon
|
||||||
/guix/config.scm
|
/guix/config.scm
|
||||||
/libformat.a
|
/libformat.a
|
||||||
|
78
etc/init.d/guix-daemon.in
Normal file
78
etc/init.d/guix-daemon.in
Normal file
@ -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
|
16
nix/local.mk
16
nix/local.mk
@ -164,6 +164,16 @@ etc/guix-%.service: etc/guix-%.service.in \
|
|||||||
"$<" > "$@.tmp"; \
|
"$<" > "$@.tmp"; \
|
||||||
mv "$@.tmp" "$@"
|
mv "$@.tmp" "$@"
|
||||||
|
|
||||||
|
sysvinitservicedir = $(sysconfdir)/init.d
|
||||||
|
nodist_sysvinitservice_DATA = etc/init.d/guix-daemon
|
||||||
|
|
||||||
|
etc/init.d/guix-daemon: etc/init.d/guix-daemon.in \
|
||||||
|
$(top_builddir)/config.status
|
||||||
|
$(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \
|
||||||
|
$(SED) -e 's|@''localstatedir''@|$(localstatedir)|' < \
|
||||||
|
"$<" > "$@.tmp"; \
|
||||||
|
mv "$@.tmp" "$@"
|
||||||
|
|
||||||
# The '.conf' jobs for Upstart.
|
# The '.conf' jobs for Upstart.
|
||||||
upstartjobdir = $(libdir)/upstart/system
|
upstartjobdir = $(libdir)/upstart/system
|
||||||
nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf
|
nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf
|
||||||
@ -177,7 +187,8 @@ etc/guix-%.conf: etc/guix-%.conf.in \
|
|||||||
|
|
||||||
CLEANFILES += \
|
CLEANFILES += \
|
||||||
$(nodist_systemdservice_DATA) \
|
$(nodist_systemdservice_DATA) \
|
||||||
$(nodist_upstartjob_DATA)
|
$(nodist_upstartjob_DATA) \
|
||||||
|
$(nodist_sysvinitservice_DATA)
|
||||||
|
|
||||||
EXTRA_DIST += \
|
EXTRA_DIST += \
|
||||||
%D%/AUTHORS \
|
%D%/AUTHORS \
|
||||||
@ -185,7 +196,8 @@ EXTRA_DIST += \
|
|||||||
etc/guix-daemon.service.in \
|
etc/guix-daemon.service.in \
|
||||||
etc/guix-daemon.conf.in \
|
etc/guix-daemon.conf.in \
|
||||||
etc/guix-publish.service.in \
|
etc/guix-publish.service.in \
|
||||||
etc/guix-publish.conf.in
|
etc/guix-publish.conf.in \
|
||||||
|
etc/init.d/guix-daemon.in
|
||||||
|
|
||||||
if CAN_RUN_TESTS
|
if CAN_RUN_TESTS
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user