From patchwork Tue Jan 28 16:29:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 20013 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A97BF1637E; Tue, 28 Jan 2020 16:32:02 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 26D321637A for ; Tue, 28 Jan 2020 16:32:02 +0000 (GMT) Received: from localhost ([::1]:33032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTmT-0003Nn-CT for patchwork@mira.cbaines.net; Tue, 28 Jan 2020 11:32:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56373) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTkb-0000dn-5C for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwTkY-0004GE-Vs for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55030) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwTkY-0004FF-Rg for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iwTkY-0004DD-Kh for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39329] [PATCH v3 1/2] Add system start-up files for guix-daemon. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 28 Jan 2020 16:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39329 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 39329@debbugs.gnu.org Cc: Danny Milosavljevic Received: via spool by 39329-submit@debbugs.gnu.org id=B39329.158022896516109 (code B ref 39329); Tue, 28 Jan 2020 16:30:02 +0000 Received: (at 39329) by debbugs.gnu.org; 28 Jan 2020 16:29:25 +0000 Received: from localhost ([127.0.0.1]:60999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTjw-0004Bk-Gc for submit@debbugs.gnu.org; Tue, 28 Jan 2020 11:29:24 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:34488) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTjr-0004BM-NY for 39329@debbugs.gnu.org; Tue, 28 Jan 2020 11:29:22 -0500 Received: from localhost.localdomain (213162073155.public.t-mobile.at [213.162.73.155]) by dd26836.kasserver.com (Postfix) with ESMTPSA id D90DD33641B4; Tue, 28 Jan 2020 17:29:18 +0100 (CET) From: Danny Milosavljevic Date: Tue, 28 Jan 2020 17:29:13 +0100 Message-Id: <20200128162914.13008-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200128162914.13008-1-dannym@scratchpost.org> References: <20200128155529.12071-1-dannym@scratchpost.org> <20200128162914.13008-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * 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 . --- .gitignore | 1 + etc/init.d/guix-daemon.in | 80 +++++++++++++++++++++++++++++++++++++++ nix/local.mk | 16 +++++++- 3 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 etc/init.d/guix-daemon.in diff --git a/.gitignore b/.gitignore index df59a9176e..de058dda5e 100644 --- a/.gitignore +++ b/.gitignore @@ -71,6 +71,7 @@ /etc/guix-daemon.service /etc/guix-publish.conf /etc/guix-publish.service +/etc/init.d/guix-daemon /guix-daemon /guix/config.scm /libformat.a diff --git a/etc/init.d/guix-daemon.in b/etc/init.d/guix-daemon.in new file mode 100644 index 0000000000..b9c99204df --- /dev/null +++ b/etc/init.d/guix-daemon.in @@ -0,0 +1,80 @@ +#!/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 + } + sleep 10 + pkill --signal 9 -F "/var/run/guix-daemon.pid" guix-daemon || true + 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 diff --git a/nix/local.mk b/nix/local.mk index dc5a8398b2..a64bdd2137 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -164,6 +164,16 @@ etc/guix-%.service: etc/guix-%.service.in \ "$<" > "$@.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. upstartjobdir = $(libdir)/upstart/system nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf @@ -177,7 +187,8 @@ etc/guix-%.conf: etc/guix-%.conf.in \ CLEANFILES += \ $(nodist_systemdservice_DATA) \ - $(nodist_upstartjob_DATA) + $(nodist_upstartjob_DATA) \ + $(nodist_sysvinitservice_DATA) EXTRA_DIST += \ %D%/AUTHORS \ @@ -185,7 +196,8 @@ EXTRA_DIST += \ etc/guix-daemon.service.in \ etc/guix-daemon.conf.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 From patchwork Tue Jan 28 16:29:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 20011 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6AC0C1637E; Tue, 28 Jan 2020 16:31:46 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 4325A1637A for ; Tue, 28 Jan 2020 16:31:46 +0000 (GMT) Received: from localhost ([::1]:33016 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTmD-0002nU-KE for patchwork@mira.cbaines.net; Tue, 28 Jan 2020 11:31:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56371) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTka-0000dS-Vq for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwTkZ-0004IK-UZ for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwTkZ-0004IF-R7 for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iwTkZ-0004DY-Mg for guix-patches@gnu.org; Tue, 28 Jan 2020 11:30:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39329] [PATCH v3 2/2] guix-install.sh: Install sysv init script. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 28 Jan 2020 16:30:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39329 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 39329@debbugs.gnu.org Cc: Danny Milosavljevic Received: via spool by 39329-submit@debbugs.gnu.org id=B39329.158022896516123 (code B ref 39329); Tue, 28 Jan 2020 16:30:03 +0000 Received: (at 39329) by debbugs.gnu.org; 28 Jan 2020 16:29:25 +0000 Received: from localhost ([127.0.0.1]:32770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTjx-0004Bt-5x for submit@debbugs.gnu.org; Tue, 28 Jan 2020 11:29:25 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:34496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTjs-0004BO-J5 for 39329@debbugs.gnu.org; Tue, 28 Jan 2020 11:29:22 -0500 Received: from localhost.localdomain (213162073155.public.t-mobile.at [213.162.73.155]) by dd26836.kasserver.com (Postfix) with ESMTPSA id B75883365209; Tue, 28 Jan 2020 17:29:19 +0100 (CET) From: Danny Milosavljevic Date: Tue, 28 Jan 2020 17:29:14 +0100 Message-Id: <20200128162914.13008-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200128162914.13008-1-dannym@scratchpost.org> References: <20200128155529.12071-1-dannym@scratchpost.org> <20200128162914.13008-1-dannym@scratchpost.org> MIME-Version: 1.0 Tags: patch X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * etc/guix-install.sh (sys_enable_guix_daemon): Install sysv init script. --- etc/guix-install.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/etc/guix-install.sh b/etc/guix-install.sh index bfd3842933..e7f4d2cd59 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -361,6 +361,17 @@ sys_enable_guix_daemon() systemctl enable guix-daemon; } && _msg "${PAS}enabled Guix daemon via systemd" ;; + sysv-init) + { mkdir -p /etc/init.d; + cp "${ROOT_HOME}/.config/guix/current/etc/init.d/guix-daemon" \ + /etc/init.d/guix-daemon; + chmod 775 /etc/init.d/guix-daemon; + + update-rc.d guix-daemon defaults && + update-rc.d guix-daemon enable && + service guix-daemon start; } && + _msg "${PAS}enabled Guix daemon via sysv" + ;; NA|*) _msg "${ERR}unsupported init system; run the daemon manually:" echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"