From a7ed1f67ee5dbbdbe45e15e6461b5f7c886747d8 Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Sun, 27 May 2012 17:34:49 +0700 Subject: [PATCH] On systems with SystemD, install the service descriptor for nix-worker, and enable and start it --- misc/systemd/nix-worker.service | 12 ++++++++++++ nix.spec.in | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 misc/systemd/nix-worker.service diff --git a/misc/systemd/nix-worker.service b/misc/systemd/nix-worker.service new file mode 100644 index 0000000000..1701088853 --- /dev/null +++ b/misc/systemd/nix-worker.service @@ -0,0 +1,12 @@ +[Unit] +Description=Helper daemon for managing secure, multi-user Nix stores +After=syslog.target + +[Service] +Type=simple +#PIDFile=/var/run/tuned/tuned.pid +#BusName=com.redhat.tuned +ExecStart=/usr/bin/nix-worker --daemon + +[Install] +WantedBy=multi-user.target diff --git a/nix.spec.in b/nix.spec.in index cbbd65e917..44ea8d7c94 100644 --- a/nix.spec.in +++ b/nix.spec.in @@ -137,6 +137,14 @@ done # (until this is fixed in the relevant Makefile) chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/nix.sh +# systemd not available on RHEL yet +%if ! 0%{?rhel} +# install systemd service descriptor +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system +cp -p misc/systemd/nix-worker.service \ + $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system/ +%endif + # Copy the byte-compiled mode file by hand cp -p misc/emacs/nix-mode.elc $RPM_BUILD_ROOT%{_emacs_sitelispdir}/ @@ -165,6 +173,11 @@ done %post chgrp %{nixbld_group} /nix/store chmod 1775 /nix/store +%if ! 0%{?rhel} +# Enable and start Nix worker +systemctl enable nix-worker.service +systemctl start nix-worker.service +%endif %files %doc COPYING AUTHORS README @@ -174,6 +187,9 @@ chmod 1775 /nix/store %{perl_vendorarch}/* %exclude %dir %{perl_vendorarch}/auto/ %{_prefix}/libexec/* +%if ! 0%{?rhel} +%{_prefix}/lib/systemd/system/nix-worker.service +%endif %{_datadir}/emacs/site-lisp/nix-mode.el %{_datadir}/nix %{_mandir}/man1/nix-*.1*