summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-04-17 15:02:29 +0200
committerLudovic Courtès <ludo@gnu.org>2023-04-17 23:50:41 +0200
commit57e731c358d000f614fbda23654cae6a5e79df80 (patch)
treed484f36b4e2e1abaa7e9667a8641411c9c84f008
parent9fad6067d914066e3b80bc9da6a2cb8bb060b96d (diff)
downloadguix-57e731c358d000f614fbda23654cae6a5e79df80.tar.gz
services: agetty: 'term-console' succeeds by default.
Previously, on a typical setup without "console=ttyS0" or similar in
'kernel-arguments', the 'term-console' Shepherd service would always be
marked as failing to start.  This is undesirable because it raises a
false alarm: the service is expected to do nothing in this case.

This patch instead marks it as succeeding and logs a message explaining
it's doing nothing.

* gnu/services/base.scm (agetty-shepherd-service): In 'start' method,
succeed when TTY is #f and print a message.
-rw-r--r--gnu/services/base.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index e5c6bf5335..dfc7571e55 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1178,7 +1178,13 @@ to use as the tty.  This is primarily useful for headless systems."
                            #$@(if term
                                   #~(#$term)
                                   #~())))
-                    (const #f))                   ; never start.
+                    #$(if tty
+                          #~(const #f)         ;always fail to start
+                          #~(lambda _          ;succeed, but don't do anything
+                              (format #t "~a: \
+no serial port console requested; doing nothing~%"
+                                      '#$(car provision))
+                              'idle)))
                 args)))))
       (stop #~(make-kill-destructor))))))