From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 05 05:09:38 2018 Received: (at 30706) by debbugs.gnu.org; 5 Mar 2018 10:09:38 +0000 Received: from localhost ([127.0.0.1]:45149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esn3q-0000rU-7X for submit@debbugs.gnu.org; Mon, 05 Mar 2018 05:09:38 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:36008) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1esn3o-0000rM-LJ for 30706@debbugs.gnu.org; Mon, 05 Mar 2018 05:09:37 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id DA24B11E58; Mon, 5 Mar 2018 11:09:35 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RmCowKqbG7DY; Mon, 5 Mar 2018 11:09:35 +0100 (CET) Received: from ribbon (unknown [193.50.110.134]) by hera.aquilenet.fr (Postfix) with ESMTPSA id EB47A11E16; Mon, 5 Mar 2018 11:09:34 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Andreas Enge Subject: Re: bug#30706: Nginx service fails References: <20180304222749.GA23799@jurong> <20180304230637.GA24077@jurong> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 15 =?utf-8?Q?Vent=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 05 Mar 2018 11:09:34 +0100 In-Reply-To: <20180304230637.GA24077@jurong> (Andreas Enge's message of "Mon, 5 Mar 2018 00:06:37 +0100") Message-ID: <87k1uqbzq9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 30706 Cc: guix-devel@gnu.org, Danny Milosavljevic , 30706@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Andreas Enge skribis: > guix system: loading new services: user-homes term-auto nginx... > shepherd: Evaluating user expression (register-services (primitive-load "= /gnu/st?") ?). > guix system: error: exception caught while executing 'eval' on service 'r= oot': > find-long-options: unbound variable The problem we have here is that the agetty service expects =E2=80=98find-long-options=E2=80=99 from linux-boot.scm, and it expects it = at the top level. So what happens above is that we evaluate in PID=C2=A01 code like: (make ;; =E2=80=A6 #:start (let ((tty =E2=80=A6 (find-long-options =E2=80=A6) =E2=80=A6)) =E2=80=A6)) If you run this on an =E2=80=9Cold=E2=80=9D GuixSD, =E2=80=98find-long-opti= ons=E2=80=99 is undefined. Thus the whole (register-services =E2=80=A6) expression fails to evaluate, = and we end up with some of the services missing. Conclusions: 1. =E2=80=98guix system reconfigure=E2=80=99 should probably register ser= vices one by one so that if one of the service expressions is erroneous, we don=E2=80=99t bork everything. See =E2=80=98upgrade-shepherd-services= =E2=80=99. 2. IWBN to delay execution of this whole default-tty thing to the #:start method. Ideas, Danny? In general we should do as little as possible at the top level in the Shepherd config file. Ludo=E2=80=99.