guix-commits
[Top][All Lists]
Advanced

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

11/11: status: Don't display download URLs for '--verbosity=1'.


From: guix-commits
Subject: 11/11: status: Don't display download URLs for '--verbosity=1'.
Date: Wed, 31 Mar 2021 10:01:47 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit e45ef9a648c155c35b51e6b15049a1bd5416f0a1
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Mar 21 17:23:40 2021 +0100

    status: Don't display download URLs for '--verbosity=1'.
    
    With this change, each substitute occupies a single line of
    output (instead of two) when using '-v1', the default for 'guix package'
    & co.
    
    * guix/status.scm (print-build-event): Add #:print-urls? and honor it.
    (print-build-event/quiet): Pass #:print-urls? #f.
    (print-build-event/quiet-with-urls): New procedure.
    (logger-for-level): Add case for LEVEL 2.
    * doc/guix.texi (Common Build Options): Adjust '--verbosity'
    documentation.
---
 doc/guix.texi   |  7 ++++---
 guix/status.scm | 23 +++++++++++++++++++----
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 642d886..af8a514 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10264,9 +10264,10 @@ guix-daemon, @option{--timeout}}).
 @cindex build logs, verbosity
 @item -v @var{level}
 @itemx --verbosity=@var{level}
-Use the given verbosity @var{level}, an integer.  Choosing 0 means that no
-output is produced, 1 is for quiet output, and 2 shows all the build log
-output on standard error.
+Use the given verbosity @var{level}, an integer.  Choosing 0 means that
+no output is produced, 1 is for quiet output; 2 is similar to 1 but it
+additionally displays download URLs; 3 shows all the build log output on
+standard error.
 
 @item --cores=@var{n}
 @itemx -c @var{n}
diff --git a/guix/status.scm b/guix/status.scm
index d47bf17..362ae28 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -403,10 +403,12 @@ the current build phase."
                             #:optional (port (current-error-port))
                             #:key
                             (colorize? (color-output? port))
+                            (print-urls? #t)
                             (print-log? #t))
   "Print information about EVENT and STATUS to PORT.  When COLORIZE? is true,
 produce colorful output.  When PRINT-LOG? is true, display the build log in
-addition to build events."
+addition to build events.  When PRINT-URLS? is true, display the URL of
+substitutes being downloaded."
   (define info
     (if colorize?
         (cute colorize-string <> (color BOLD))
@@ -526,9 +528,10 @@ addition to build events."
        (format port (info (G_ "substituting ~a...")) item)
        (newline port)))
     (('download-started item uri _ ...)
-     (erase-current-line*)
-     (format port (info (G_ "downloading from ~a ...")) uri)
-     (newline port))
+     (when print-urls?
+       (erase-current-line*)
+       (format port (info (G_ "downloading from ~a ...")) uri)
+       (newline port)))
     (('download-progress item uri
                          (= string->number size)
                          (= string->number transferred))
@@ -602,6 +605,17 @@ addition to build events."
                                   (colorize? (color-output? port)))
   (print-build-event event old-status status port
                      #:colorize? colorize?
+                     #:print-urls? #f
+                     #:print-log? #f))
+
+(define* (print-build-event/quiet-with-urls event old-status status
+                                            #:optional
+                                            (port (current-error-port))
+                                            #:key
+                                            (colorize? (color-output? port)))
+  (print-build-event event old-status status port
+                     #:colorize? colorize?
+                     #:print-urls? #t             ;show download URLs
                      #:print-log? #f))
 
 (define* (build-status-updater #:optional (on-change (const #t)))
@@ -787,6 +801,7 @@ evaluate EXP... in that context."
   "Return the logging procedure that corresponds to LEVEL."
   (cond ((<= level 0) (const #t))
         ((= level 1)  print-build-event/quiet)
+        ((= level 2)  print-build-event/quiet-with-urls)
         (else         print-build-event)))
 
 (define (call-with-status-verbosity level thunk)



reply via email to

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