status: Always print the daemon's "waiting for locks" messages.
authorLudovic Courtès <ludo@gnu.org>
Sun, 30 Sep 2018 19:57:59 +0000 (21:57 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 30 Sep 2018 20:20:13 +0000 (22:20 +0200)
Reported by Ricardo Wurmus <rekado@elephly.net>.

* guix/status.scm (print-build-event) <build-log>: Let "waiting for
locks" messages through.

guix/status.scm

index b19f019..c695606 100644 (file)
@@ -383,14 +383,20 @@ addition to build events."
   actual hash:   ~a~%"))
              expected actual))
     (('build-log line)
-     ;; The daemon prefixes early messages coming with 'guix substitute' with
-     ;; "substitute:".  These are useful ("updating substitutes from URL"), so
-     ;; let them through.
-     (if (string-prefix? "substitute: " line)
-         (begin
-           (format port line)
-           (force-output port))
-         (print-log-line line)))
+     ;; TODO: Better distinguish daemon messages and build log lines.
+     (cond ((string-prefix? "substitute: " line)
+            ;; The daemon prefixes early messages coming with 'guix
+            ;; substitute' with "substitute:".  These are useful ("updating
+            ;; substitutes from URL"), so let them through.
+            (format port line)
+            (force-output port))
+           ((string-prefix? "waiting for locks" line)
+            ;; This is when a derivation is already being built and we're just
+            ;; waiting for the build to complete.
+            (display (info (string-trim-right line)) port)
+            (newline))
+           (else
+            (print-log-line line))))
     (_
      event)))