summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-09-30 21:57:59 +0200
committerLudovic Courtès <ludo@gnu.org>2018-09-30 22:20:13 +0200
commitf9051e387056fb1c29d8e67b76754168b304449d (patch)
tree32e569b63b5b74efd308312857ac52dbadf17c8f
parent0e2d3ce20e7bd71aaad5baa6b977b9684216b66e (diff)
downloadguix-f9051e387056fb1c29d8e67b76754168b304449d.tar.gz
status: Always print the daemon's "waiting for locks" messages.
Reported by Ricardo Wurmus <rekado@elephly.net>.

* guix/status.scm (print-build-event) <build-log>: Let "waiting for
locks" messages through.
-rw-r--r--guix/status.scm22
1 files changed, 14 insertions, 8 deletions
diff --git a/guix/status.scm b/guix/status.scm
index b19f0199d1..c6956066fd 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -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)))