bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#30706: Nginx service fails


From: Ludovic Courtès
Subject: bug#30706: Nginx service fails
Date: Mon, 05 Mar 2018 11:09:34 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)

Andreas Enge <address@hidden> 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 'root':
> find-long-options: unbound variable

The problem we have here is that the agetty service expects
‘find-long-options’ from linux-boot.scm, and it expects it at the top
level.

So what happens above is that we evaluate in PID 1 code like:

  (make <service>
    ;; …
    #:start (let ((tty … (find-long-options …) …))
               …))

If you run this on an “old” GuixSD, ‘find-long-options’ is undefined.

Thus the whole (register-services …) expression fails to evaluate, and
we end up with some of the services missing.

Conclusions:

  1. ‘guix system reconfigure’ should probably register services one by
     one so that if one of the service expressions is erroneous, we
     don’t bork everything.  See ‘upgrade-shepherd-services’.

  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’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]