aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--daemon.am16
-rw-r--r--doc/guix.texi9
-rw-r--r--etc/guix-daemon.conf.in12
4 files changed, 35 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 6e8bfaca95..412d09ca11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -125,6 +125,7 @@ GTAGS
/doc/os-config-desktop.texi
/doc/*.1
/etc/guix-daemon.service
+/etc/guix-daemon.conf
/doc/images/bootstrap-graph.pdf
/doc/images/coreutils-bag-graph.png
/doc/images/coreutils-graph.png
diff --git a/daemon.am b/daemon.am
index f2cb0a499e..f75eef2e98 100644
--- a/daemon.am
+++ b/daemon.am
@@ -21,7 +21,7 @@
#
BUILT_SOURCES += nix/libstore/schema.sql.hh
-CLEANFILES += $(BUILT_SOURCES) etc/guix-daemon.service
+CLEANFILES += $(BUILT_SOURCES) etc/guix-daemon.service etc/guix-daemon.conf
noinst_LIBRARIES = libformat.a libutil.a libstore.a
@@ -191,11 +191,23 @@ etc/guix-daemon.service: etc/guix-daemon.service.in \
"$(srcdir)/etc/guix-daemon.service.in" > "$@.tmp"
mv "$@.tmp" "$@"
+# The '.conf' job for Upstart.
+upstartjobdir = $(libdir)/upstart/system
+nodist_upstartjob_DATA = etc/guix-daemon.conf
+
+etc/guix-daemon.conf: etc/guix-daemon.conf.in \
+ $(top_builddir)/config.status
+ $(MKDIR_P) "`dirname "$@"`"
+ $(SED) -e 's|@''bindir''@|$(bindir)|' < \
+ "$(srcdir)/etc/guix-daemon.conf.in" > "$@.tmp"
+ mv "$@.tmp" "$@"
+
EXTRA_DIST += \
nix/libstore/schema.sql \
nix/AUTHORS \
nix/COPYING \
- etc/guix-daemon.service.in
+ etc/guix-daemon.service.in \
+ etc/guix-daemon.conf.in
AM_TESTS_ENVIRONMENT += \
top_builddir="$(abs_top_builddir)"
diff --git a/doc/guix.texi b/doc/guix.texi
index 8ecb7ccc17..b4044531ed 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -366,6 +366,10 @@ On hosts using the systemd init system, drop
@file{~root/.guix-profile/lib/systemd/system/guix-daemon.service} in
@file{/etc/systemd/system}.
+Likewise, on hosts using the Upstart init system, drop
+@file{~root/.guix-profile/lib/upstart/system/guix-daemon.conf} in
+@file{/etc/init}.
+
@item
Make the @command{guix} command available to other users on the machine,
for instance with:
@@ -554,7 +558,10 @@ parallel, as specified by the @option{--max-jobs} option
following command@footnote{If your machine uses the systemd init system,
dropping the @file{@var{prefix}/lib/systemd/system/guix-daemon.service}
file in @file{/etc/systemd/system} will ensure that
-@command{guix-daemon} is automatically started.}:
+@command{guix-daemon} is automatically started. Similarly, if your
+machine uses the Upstart init system, drop the
+@file{@var{prefix}/lib/upstart/system/guix-daemon.conf}
+file in @file{/etc/init}.}:
@example
# guix-daemon --build-users-group=guixbuild
diff --git a/etc/guix-daemon.conf.in b/etc/guix-daemon.conf.in
new file mode 100644
index 0000000000..8f833cb693
--- /dev/null
+++ b/etc/guix-daemon.conf.in
@@ -0,0 +1,12 @@
+# This is a "job" for the Upstart init system to launch 'guix-daemon'.
+# Drop it in /etc/init to have 'guix-daemon' automatically started.
+
+description "Build daemon for GNU Guix"
+
+start on runlevel [2345]
+
+stop on runlevel [016]
+
+task
+
+exec @bindir@/guix-daemon --build-users-group=guixbuild