From patchwork Tue Jan 28 15:58:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 20009 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 E5D931637E; Tue, 28 Jan 2020 16:00:40 +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 615031637A for ; Tue, 28 Jan 2020 16:00:40 +0000 (GMT) Received: from localhost ([::1]:60844 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTI7-0002xR-Pq for patchwork@mira.cbaines.net; Tue, 28 Jan 2020 11:00:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43380) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTHZ-0002RK-VC for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwTHX-0003Xq-E1 for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55002) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwTHX-0003XB-5B for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iwTHX-0003Ro-6x for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39329] [PATCH 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:00: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.158022715113139 (code B ref 39329); Tue, 28 Jan 2020 16:00:03 +0000 Received: (at 39329) by debbugs.gnu.org; 28 Jan 2020 15:59:11 +0000 Received: from localhost ([127.0.0.1]:60974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTGh-0003Pq-6X for submit@debbugs.gnu.org; Tue, 28 Jan 2020 10:59:11 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:60160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTGb-0003PR-Qw for 39329@debbugs.gnu.org; Tue, 28 Jan 2020 10:59:08 -0500 Received: from localhost.localdomain (213162073155.public.t-mobile.at [213.162.73.155]) by dd26836.kasserver.com (Postfix) with ESMTPSA id EDD3433641B4; Tue, 28 Jan 2020 16:59:03 +0100 (CET) From: Danny Milosavljevic Date: Tue, 28 Jan 2020 16:58:59 +0100 Message-Id: <20200128155900.12137-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200128155529.12071-1-dannym@scratchpost.org> References: <20200128155529.12071-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 | 88 +++++++++++++++++++++++++++++++++++++++ nix/local.mk | 16 ++++++- 3 files changed, 103 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..8974a5d215 --- /dev/null +++ b/etc/init.d/guix-daemon.in @@ -0,0 +1,88 @@ +#!/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 +set -o pipefail +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 + pid="`cat /var/run/guix-daemon.pid`" + if ps www "${pid}" |grep -qa 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 + pid="`cat /var/run/guix-daemon.pid`" + if ps www "${pid}" |grep -qa guix-daemon + then + kill "${pid}" + sleep 10 + kill -9 "${pid}" || true + exit 0 + else + echo "guix-daemon has a stale pid file" >&2 + exit 1 + fi + else + exit 0 + fi + ;; +status) + if [ -f "/var/run/guix-daemon.pid" ] + then + pid="`cat /var/run/guix-daemon.pid`" + if ps www "${pid}" |grep -qa 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 15:59:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Danny Milosavljevic X-Patchwork-Id: 20010 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 9D34C1637E; Tue, 28 Jan 2020 16:00:48 +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 7263D1637A for ; Tue, 28 Jan 2020 16:00:48 +0000 (GMT) Received: from localhost ([::1]:60854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTIG-000351-0r for patchwork@mira.cbaines.net; Tue, 28 Jan 2020 11:00:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43389) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iwTHc-0002U3-Df for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iwTHX-0003Xk-Do for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:08 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:55001) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iwTHW-0003V5-Jp for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iwTHW-0003Rb-LQ for guix-patches@gnu.org; Tue, 28 Jan 2020 11:00:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39329] [PATCH 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:00: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.158022714713122 (code B ref 39329); Tue, 28 Jan 2020 16:00:02 +0000 Received: (at 39329) by debbugs.gnu.org; 28 Jan 2020 15:59:07 +0000 Received: from localhost ([127.0.0.1]:60972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTGc-0003Pa-Vs for submit@debbugs.gnu.org; Tue, 28 Jan 2020 10:59:07 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:60168) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iwTGc-0003PT-6u for 39329@debbugs.gnu.org; Tue, 28 Jan 2020 10:59:06 -0500 Received: from localhost.localdomain (213162073155.public.t-mobile.at [213.162.73.155]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 29D5B3365209; Tue, 28 Jan 2020 16:59:05 +0100 (CET) From: Danny Milosavljevic Date: Tue, 28 Jan 2020 16:59:00 +0100 Message-Id: <20200128155900.12137-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200128155900.12137-1-dannym@scratchpost.org> References: <20200128155529.12071-1-dannym@scratchpost.org> <20200128155900.12137-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..f3ea1def32 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 664 /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"