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.
This commit is contained in:
Ludovic Courtès 2021-03-21 17:23:40 +01:00
parent 1fa4aff1fb
commit e45ef9a648
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 23 additions and 7 deletions

View file

@ -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}

View file

@ -403,10 +403,12 @@ (define* (print-build-event event old-status status
#: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 @@ (define erase-current-line*
(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 @@ (define* (print-build-event/quiet event old-status status
(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 @@ (define (logger-for-level level)
"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)