guix build: Re-purpose '--verbosity' and add '--debug'.
The previous '--verbosity' option was misleading and rarely what users were looking for. The new option provides a consistent way to choose whether or not to display the build log. * guix/scripts/build.scm (show-build-options-help): Remove "--verbosity" and add "--debug". (set-build-options-from-command-line): Use the 'debug key of OPTS for #:verbosity. (%standard-build-options): Change "verbosity" to "debug". Use 'string->number*' instead of 'string->number'. (%default-options): Change 'verbosity to 'debug and add a 'verbosity key. (show-help): Add '--verbosity'. (%options): Likewise, and change '--quiet' to set the 'verbosity key of RESULT. (guix-build): Use 'with-status-verbosity' instead of parameterizing CURRENT-BUILD-OUTPUT-PORT, honor the 'verbosity key of OPTS, and remove 'quiet?'. * guix/scripts/environment.scm (show-help, %options): Add '--verbosity'. (%default-options): Add 'debug'. (guix-environment): Honor the 'verbosity key of OPTS. * guix/scripts/pack.scm (%default-options): Add 'debug. (%options, show-help): Add '--verbosity'. (guix-pack): Honor the 'verbosity key of OPTS. * guix/scripts/package.scm (%default-options): Add 'debug. (show-help, %options): Add '--verbosity'. Mark '--verbose' as deprecated and change it to set 'verbosity. (guix-package): Honor the 'verbosity key of OPTS and remove 'verbose?'. * guix/scripts/pull.scm (%default-options): Add 'debug. (show-help, %options): Add '--verbosity'. (guix-pull): Honor the 'verbosity key of OPTS. * guix/scripts/system.scm (show-help, %options): Add '--verbosity'. (%default-options): Add 'debug. (guix-system): Honor the 'verbosity key of OPTS. * guix/scripts/archive.scm (%default-options): Add 'debug, 'print-build-trace?, 'print-extended-build-trace?, and 'multiplexed-build-output?. (show-help, %options): Add '--verbosity'. (export-from-store): Remove call to 'set-build-options-from-command-line'. (guix-archive): Wrap body in 'with-status-verbosity'. Add call to 'set-build-options-from-command-line. * doc/guix.texi (Common Build Options): Document '--verbosity' and '--debug'. (Additional Build Options): Adjust description of '--quiet'.
This commit is contained in:
		
							parent
							
								
									7804c45b9c
								
							
						
					
					
						commit
						f1de676ea8
					
				
					 8 changed files with 175 additions and 114 deletions
				
			
		|  | @ -2101,10 +2101,6 @@ By default, @command{guix package} reports as an error @dfn{collisions} | |||
| in the profile.  Collisions happen when two or more different versions | ||||
| or variants of a given package end up in the profile. | ||||
| 
 | ||||
| @item --verbose | ||||
| Produce verbose output.  In particular, emit the build log of the | ||||
| environment on the standard error port. | ||||
| 
 | ||||
| @item --bootstrap | ||||
| Use the bootstrap Guile to build the profile.  This option is only | ||||
| useful to distribution developers. | ||||
|  | @ -6363,10 +6359,15 @@ Likewise, when the build or substitution process lasts for more than | |||
| By default, the daemon's setting is honored (@pxref{Invoking | ||||
| guix-daemon, @code{--timeout}}). | ||||
| 
 | ||||
| @item --verbosity=@var{level} | ||||
| Use the given verbosity level.  @var{level} must be an integer between 0 | ||||
| and 5; higher means more verbose output.  Setting a level of 4 or more | ||||
| may be helpful when debugging setup issues with the build daemon. | ||||
| @c Note: This option is actually not part of %standard-build-options but | ||||
| @c most programs honor it. | ||||
| @cindex verbosity, of the command-line tools | ||||
| @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. | ||||
| 
 | ||||
| @item --cores=@var{n} | ||||
| @itemx -c @var{n} | ||||
|  | @ -6379,6 +6380,11 @@ Allow at most @var{n} build jobs in parallel.  @xref{Invoking | |||
| guix-daemon, @code{--max-jobs}}, for details about this option and the | ||||
| equivalent @command{guix-daemon} option. | ||||
| 
 | ||||
| @item --debug=@var{level} | ||||
| Produce debugging output coming from the build daemon.  @var{level} must be an | ||||
| integer between 0 and 5; higher means more verbose output.  Setting a level of | ||||
| 4 or more may be helpful when debugging setup issues with the build daemon. | ||||
| 
 | ||||
| @end table | ||||
| 
 | ||||
| Behind the scenes, @command{guix build} is essentially an interface to | ||||
|  | @ -6547,9 +6553,9 @@ build}. | |||
| 
 | ||||
| @item --quiet | ||||
| @itemx -q | ||||
| Build quietly, without displaying the build log.  Upon completion, the | ||||
| build log is kept in @file{/var} (or similar) and can always be | ||||
| retrieved using the @option{--log-file} option. | ||||
| Build quietly, without displaying the build log; this is equivalent to | ||||
| @code{--verbosity=0}.  Upon completion, the build log is kept in @file{/var} | ||||
| (or similar) and can always be retrieved using the @option{--log-file} option. | ||||
| 
 | ||||
| @item --file=@var{file} | ||||
| @itemx -f @var{file} | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -23,6 +23,7 @@ | |||
|   #:use-module ((guix build utils) #:select (mkdir-p)) | ||||
|   #:use-module ((guix serialization) #:select (restore-file)) | ||||
|   #:use-module (guix store) | ||||
|   #:use-module (guix status) | ||||
|   #:use-module (guix grafts) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix derivations) | ||||
|  | @ -55,7 +56,11 @@ | |||
|     (substitutes? . #t) | ||||
|     (build-hook? . #t) | ||||
|     (graft? . #t) | ||||
|     (verbosity . 0))) | ||||
|     (print-build-trace? . #t) | ||||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (verbosity . 2) | ||||
|     (debug . 0))) | ||||
| 
 | ||||
| (define (show-help) | ||||
|   (display (G_ "Usage: guix archive [OPTION]... PACKAGE... | ||||
|  | @ -85,6 +90,8 @@ Export/import one or more packages from/to the store.\n")) | |||
|   -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\"")) | ||||
|   (display (G_ " | ||||
|       --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\"")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
| 
 | ||||
|   (newline) | ||||
|   (show-build-options-help) | ||||
|  | @ -161,6 +168,11 @@ Export/import one or more packages from/to the store.\n")) | |||
|          (option '(#\e "expression") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'expression arg result))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '(#\n "dry-run") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) | ||||
|  | @ -239,7 +251,6 @@ build and a list of store files to transfer." | |||
| resulting archive to the standard output port." | ||||
|   (let-values (((drv files) | ||||
|                 (options->derivations+files store opts))) | ||||
|     (set-build-options-from-command-line store opts) | ||||
|     (show-what-to-build store drv | ||||
|                         #:use-substitutes? (assoc-ref opts 'substitutes?) | ||||
|                         #:dry-run? (assoc-ref opts 'dry-run?)) | ||||
|  | @ -329,21 +340,23 @@ the input port." | |||
|                 ((assoc-ref opts 'authorize) | ||||
|                  (authorize-key)) | ||||
|                 (else | ||||
|                  (with-store store | ||||
|                    (cond ((assoc-ref opts 'export) | ||||
|                           (export-from-store store opts)) | ||||
|                          ((assoc-ref opts 'import) | ||||
|                           (import-paths store (current-input-port))) | ||||
|                          ((assoc-ref opts 'missing) | ||||
|                           (let* ((files   (lines (current-input-port))) | ||||
|                                  (missing (remove (cut valid-path? store <>) | ||||
|                                                   files))) | ||||
|                             (format #t "~{~a~%~}" missing))) | ||||
|                          ((assoc-ref opts 'extract) | ||||
|                           => | ||||
|                           (lambda (target) | ||||
|                             (restore-file (current-input-port) target))) | ||||
|                          (else | ||||
|                           (leave | ||||
|                            (G_ "either '--export' or '--import' \ | ||||
| must be specified~%")))))))))))) | ||||
|                  (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|                    (with-store store | ||||
|                      (set-build-options-from-command-line store opts) | ||||
|                      (cond ((assoc-ref opts 'export) | ||||
|                             (export-from-store store opts)) | ||||
|                            ((assoc-ref opts 'import) | ||||
|                             (import-paths store (current-input-port))) | ||||
|                            ((assoc-ref opts 'missing) | ||||
|                             (let* ((files   (lines (current-input-port))) | ||||
|                                    (missing (remove (cut valid-path? store <>) | ||||
|                                                     files))) | ||||
|                               (format #t "~{~a~%~}" missing))) | ||||
|                            ((assoc-ref opts 'extract) | ||||
|                             => | ||||
|                             (lambda (target) | ||||
|                               (restore-file (current-input-port) target))) | ||||
|                            (else | ||||
|                             (leave | ||||
|                              (G_ "either '--export' or '--import' \ | ||||
| must be specified~%"))))))))))))) | ||||
|  |  | |||
|  | @ -449,14 +449,14 @@ options handled by 'set-build-options-from-command-line', and listed in | |||
|                          mark the build as failed after SECONDS of silence")) | ||||
|   (display (G_ " | ||||
|       --timeout=SECONDS  mark the build as failed after SECONDS of activity")) | ||||
|   (display (G_ " | ||||
|       --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|       --rounds=N         build N times in a row to detect non-determinism")) | ||||
|   (display (G_ " | ||||
|   -c, --cores=N          allow the use of up to N CPU cores for the build")) | ||||
|   (display (G_ " | ||||
|   -M, --max-jobs=N       allow at most N build jobs"))) | ||||
|   -M, --max-jobs=N       allow at most N build jobs")) | ||||
|   (display (G_ " | ||||
|       --debug=LEVEL      produce debugging output at LEVEL"))) | ||||
| 
 | ||||
| (define (set-build-options-from-command-line store opts) | ||||
|   "Given OPTS, an alist as returned by 'args-fold' given | ||||
|  | @ -479,7 +479,7 @@ options handled by 'set-build-options-from-command-line', and listed in | |||
|                      (assoc-ref opts 'print-extended-build-trace?) | ||||
|                      #:multiplexed-build-output? | ||||
|                      (assoc-ref opts 'multiplexed-build-output?) | ||||
|                      #:verbosity (assoc-ref opts 'verbosity))) | ||||
|                      #:verbosity (assoc-ref opts 'debug))) | ||||
| 
 | ||||
| (define set-build-options-from-command-line* | ||||
|   (store-lift set-build-options-from-command-line)) | ||||
|  | @ -553,12 +553,12 @@ options handled by 'set-build-options-from-command-line', and listed in | |||
|                   (apply values | ||||
|                          (alist-cons 'timeout (string->number* arg) result) | ||||
|                          rest))) | ||||
|         (option '("verbosity") #t #f | ||||
|         (option '("debug") #t #f | ||||
|                 (lambda (opt name arg result . rest) | ||||
|                   (let ((level (string->number arg))) | ||||
|                   (let ((level (string->number* arg))) | ||||
|                     (apply values | ||||
|                            (alist-cons 'verbosity level | ||||
|                                        (alist-delete 'verbosity result)) | ||||
|                            (alist-cons 'debug level | ||||
|                                        (alist-delete 'debug result)) | ||||
|                            rest)))) | ||||
|         (option '(#\c "cores") #t #f | ||||
|                 (lambda (opt name arg result . rest) | ||||
|  | @ -590,7 +590,8 @@ options handled by 'set-build-options-from-command-line', and listed in | |||
|     (print-build-trace? . #t) | ||||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (verbosity . 0))) | ||||
|     (verbosity . 2) | ||||
|     (debug . 0))) | ||||
| 
 | ||||
| (define (show-help) | ||||
|   (display (G_ "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION... | ||||
|  | @ -619,6 +620,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) | |||
|   -r, --root=FILE        make FILE a symlink to the result, and register it | ||||
|                          as a garbage collector root")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|   -q, --quiet            do not show the build log")) | ||||
|   (display (G_ " | ||||
|       --log-file         return the log file names for the given derivations")) | ||||
|  | @ -694,9 +697,15 @@ must be one of 'package', 'all', or 'transitive'~%") | |||
|          (option '(#\r "root") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'gc-root arg result))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '(#\q "quiet") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'quiet? #t result))) | ||||
|                    (alist-cons 'verbosity 0 | ||||
|                                (alist-delete 'verbosity result)))) | ||||
|          (option '("log-file") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'log-file? #t result))) | ||||
|  | @ -819,66 +828,59 @@ needed." | |||
|     (parse-command-line args %options | ||||
|                         (list %default-options))) | ||||
| 
 | ||||
|   (define quiet? | ||||
|     (assoc-ref opts 'quiet?)) | ||||
| 
 | ||||
|   (with-error-handling | ||||
|     ;; Ask for absolute file names so that .drv file names passed from the | ||||
|     ;; user to 'read-derivation' are absolute when it returns. | ||||
|     (with-fluids ((%file-port-name-canonicalization 'absolute)) | ||||
|       (with-store store | ||||
|         ;; Set the build options before we do anything else. | ||||
|         (set-build-options-from-command-line store opts) | ||||
|       (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|         (with-store store | ||||
|           ;; Set the build options before we do anything else. | ||||
|           (set-build-options-from-command-line store opts) | ||||
| 
 | ||||
|         (parameterize ((current-terminal-columns (terminal-columns)) | ||||
|                        (current-build-output-port | ||||
|                         (if quiet? | ||||
|                             (%make-void-port "w") | ||||
|                             (build-event-output-port | ||||
|                              (build-status-updater print-build-event))))) | ||||
|           (let* ((mode  (assoc-ref opts 'build-mode)) | ||||
|                  (drv   (options->derivations store opts)) | ||||
|                  (urls  (map (cut string-append <> "/log") | ||||
|                              (if (assoc-ref opts 'substitutes?) | ||||
|                                  (or (assoc-ref opts 'substitute-urls) | ||||
|                                      ;; XXX: This does not necessarily match the | ||||
|                                      ;; daemon's substitute URLs. | ||||
|                                      %default-substitute-urls) | ||||
|                                  '()))) | ||||
|                  (items (filter-map (match-lambda | ||||
|                                       (('argument . (? store-path? file)) | ||||
|                                        file) | ||||
|                                       (_ #f)) | ||||
|                                     opts)) | ||||
|                  (roots (filter-map (match-lambda | ||||
|                                       (('gc-root . root) root) | ||||
|                                       (_ #f)) | ||||
|                                     opts))) | ||||
|           (parameterize ((current-terminal-columns (terminal-columns))) | ||||
|             (let* ((mode  (assoc-ref opts 'build-mode)) | ||||
|                    (drv   (options->derivations store opts)) | ||||
|                    (urls  (map (cut string-append <> "/log") | ||||
|                                (if (assoc-ref opts 'substitutes?) | ||||
|                                    (or (assoc-ref opts 'substitute-urls) | ||||
|                                        ;; XXX: This does not necessarily match the | ||||
|                                        ;; daemon's substitute URLs. | ||||
|                                        %default-substitute-urls) | ||||
|                                    '()))) | ||||
|                    (items (filter-map (match-lambda | ||||
|                                         (('argument . (? store-path? file)) | ||||
|                                          file) | ||||
|                                         (_ #f)) | ||||
|                                       opts)) | ||||
|                    (roots (filter-map (match-lambda | ||||
|                                         (('gc-root . root) root) | ||||
|                                         (_ #f)) | ||||
|                                       opts))) | ||||
| 
 | ||||
|             (unless (or (assoc-ref opts 'log-file?) | ||||
|                         (assoc-ref opts 'derivations-only?)) | ||||
|               (show-what-to-build store drv | ||||
|                                   #:use-substitutes? | ||||
|                                   (assoc-ref opts 'substitutes?) | ||||
|                                   #:dry-run? (assoc-ref opts 'dry-run?) | ||||
|                                   #:mode mode)) | ||||
|               (unless (or (assoc-ref opts 'log-file?) | ||||
|                           (assoc-ref opts 'derivations-only?)) | ||||
|                 (show-what-to-build store drv | ||||
|                                     #:use-substitutes? | ||||
|                                     (assoc-ref opts 'substitutes?) | ||||
|                                     #:dry-run? (assoc-ref opts 'dry-run?) | ||||
|                                     #:mode mode)) | ||||
| 
 | ||||
|             (cond ((assoc-ref opts 'log-file?) | ||||
|                    (for-each (cut show-build-log store <> urls) | ||||
|                              (delete-duplicates | ||||
|                               (append (map derivation-file-name drv) | ||||
|                                       items)))) | ||||
|                   ((assoc-ref opts 'derivations-only?) | ||||
|                    (format #t "~{~a~%~}" (map derivation-file-name drv)) | ||||
|                    (for-each (cut register-root store <> <>) | ||||
|                              (map (compose list derivation-file-name) drv) | ||||
|                              roots)) | ||||
|                   ((not (assoc-ref opts 'dry-run?)) | ||||
|                    (and (build-derivations store drv mode) | ||||
|                         (for-each show-derivation-outputs drv) | ||||
|                         (for-each (cut register-root store <> <>) | ||||
|                                   (map (lambda (drv) | ||||
|                                          (map cdr | ||||
|                                               (derivation->output-paths drv))) | ||||
|                                        drv) | ||||
|                                   roots)))))))))) | ||||
|               (cond ((assoc-ref opts 'log-file?) | ||||
|                      (for-each (cut show-build-log store <> urls) | ||||
|                                (delete-duplicates | ||||
|                                 (append (map derivation-file-name drv) | ||||
|                                         items)))) | ||||
|                     ((assoc-ref opts 'derivations-only?) | ||||
|                      (format #t "~{~a~%~}" (map derivation-file-name drv)) | ||||
|                      (for-each (cut register-root store <> <>) | ||||
|                                (map (compose list derivation-file-name) drv) | ||||
|                                roots)) | ||||
|                     ((not (assoc-ref opts 'dry-run?)) | ||||
|                      (and (build-derivations store drv mode) | ||||
|                           (for-each show-derivation-outputs drv) | ||||
|                           (for-each (cut register-root store <> <>) | ||||
|                                     (map (lambda (drv) | ||||
|                                            (map cdr | ||||
|                                                 (derivation->output-paths drv))) | ||||
|                                          drv) | ||||
|                                     roots))))))))))) | ||||
|  |  | |||
|  | @ -157,6 +157,8 @@ COMMAND or an interactive shell in that environment.\n")) | |||
|   (display (G_ " | ||||
|       --expose=SPEC      for containers, expose read-only host file system | ||||
|                          according to SPEC")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|       --bootstrap        use bootstrap binaries to build the environment")) | ||||
|   (newline) | ||||
|  | @ -179,7 +181,8 @@ COMMAND or an interactive shell in that environment.\n")) | |||
|     (print-build-trace? . #t) | ||||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (verbosity . 0))) | ||||
|     (debug . 0) | ||||
|     (verbosity . 2))) | ||||
| 
 | ||||
| (define (tag-package-arg opts arg) | ||||
|   "Return a two-element list with the form (TAG ARG) that tags ARG with either | ||||
|  | @ -260,6 +263,11 @@ COMMAND or an interactive shell in that environment.\n")) | |||
|          (option '(#\r "root") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'gc-root arg result))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '("bootstrap") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'bootstrap? #t result))) | ||||
|  | @ -674,7 +682,7 @@ message if any test fails." | |||
|         (leave (G_ "'--user' cannot be used without '--container'~%"))) | ||||
| 
 | ||||
|       (with-store store | ||||
|         (with-status-verbosity 1 | ||||
|         (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|           (define manifest | ||||
|             (options/resolve-packages store opts)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -598,7 +598,8 @@ please email '~a'~%") | |||
|     (print-build-trace? . #t) | ||||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (verbosity . 0) | ||||
|     (debug . 0) | ||||
|     (verbosity . 2) | ||||
|     (symlinks . ()) | ||||
|     (compressor . ,(first %compressors)))) | ||||
| 
 | ||||
|  | @ -685,6 +686,11 @@ please email '~a'~%") | |||
|                       (alist-cons 'profile-name arg result)) | ||||
|                      (_ | ||||
|                       (leave (G_ "~a: unsupported profile name~%") arg))))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '("bootstrap") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'bootstrap? #t result))) | ||||
|  | @ -722,6 +728,8 @@ Create a bundle of PACKAGE.\n")) | |||
|   (display (G_ " | ||||
|       --profile-name=NAME | ||||
|                          populate /var/guix/profiles/.../NAME")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|       --bootstrap        use the bootstrap binaries to build the pack")) | ||||
|   (newline) | ||||
|  | @ -772,7 +780,7 @@ Create a bundle of PACKAGE.\n")) | |||
| 
 | ||||
|   (with-error-handling | ||||
|     (with-store store | ||||
|       (with-status-verbosity 2 | ||||
|       (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|         ;; Set the build options before we do anything else. | ||||
|         (set-build-options-from-command-line store opts) | ||||
| 
 | ||||
|  |  | |||
|  | @ -293,7 +293,8 @@ ENTRIES, a list of manifest entries, in the context of PROFILE." | |||
| 
 | ||||
| (define %default-options | ||||
|   ;; Alist of default option values. | ||||
|   `((verbosity . 0) | ||||
|   `((verbosity . 1) | ||||
|     (debug . 0) | ||||
|     (graft? . #t) | ||||
|     (substitutes? . #t) | ||||
|     (build-hook? . #t) | ||||
|  | @ -346,7 +347,7 @@ Install, remove, or upgrade packages in a single transaction.\n")) | |||
|   (display (G_ " | ||||
|       --bootstrap        use the bootstrap Guile to build the profile")) | ||||
|   (display (G_ " | ||||
|       --verbose          produce verbose output")) | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (newline) | ||||
|   (display (G_ " | ||||
|   -s, --search=REGEXP    search in synopsis and description using REGEXP")) | ||||
|  | @ -472,13 +473,21 @@ kind of search path~%") | |||
|                    (values (alist-cons 'dry-run? #t | ||||
|                                        (alist-cons 'graft? #f result)) | ||||
|                            #f))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result arg-handler) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (values (alist-cons 'verbosity level | ||||
|                                          (alist-delete 'verbosity result)) | ||||
|                              #f)))) | ||||
|          (option '("bootstrap") #f #f | ||||
|                  (lambda (opt name arg result arg-handler) | ||||
|                    (values (alist-cons 'bootstrap? #t result) | ||||
|                            #f))) | ||||
|          (option '("verbose") #f #f | ||||
|          (option '("verbose") #f #f               ;deprecated | ||||
|                  (lambda (opt name arg result arg-handler) | ||||
|                    (values (alist-cons 'verbose? #t result) | ||||
|                    (values (alist-cons 'verbosity 2 | ||||
|                                        (alist-delete 'verbosity | ||||
|                                                      result)) | ||||
|                            #f))) | ||||
|          (option '("allow-collisions") #f #f | ||||
|                  (lambda (opt name arg result arg-handler) | ||||
|  | @ -907,14 +916,12 @@ processed, #f otherwise." | |||
|   (define opts | ||||
|     (parse-command-line args %options (list %default-options #f) | ||||
|                         #:argument-handler handle-argument)) | ||||
|   (define verbose? | ||||
|     (assoc-ref opts 'verbose?)) | ||||
| 
 | ||||
|   (with-error-handling | ||||
|     (or (process-query opts) | ||||
|         (parameterize ((%store  (open-connection)) | ||||
|                        (%graft? (assoc-ref opts 'graft?))) | ||||
|           (with-status-verbosity 1 | ||||
|           (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|             (set-build-options-from-command-line (%store) opts) | ||||
|             (parameterize ((%guile-for-build | ||||
|                             (package-derivation | ||||
|  |  | |||
|  | @ -66,7 +66,8 @@ | |||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (graft? . #t) | ||||
|     (verbosity . 0))) | ||||
|     (debug . 0) | ||||
|     (verbosity . 2))) | ||||
| 
 | ||||
| (define (show-help) | ||||
|   (display (G_ "Usage: guix pull [OPTION]... | ||||
|  | @ -89,6 +90,8 @@ Download and deploy the latest version of Guix.\n")) | |||
|   (display (G_ " | ||||
|   -n, --dry-run          show what would be pulled and built")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (display (G_ " | ||||
|   -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\"")) | ||||
|   (display (G_ " | ||||
|       --bootstrap        use the bootstrap Guile to build the new Guix")) | ||||
|  | @ -135,6 +138,11 @@ Download and deploy the latest version of Guix.\n")) | |||
|          (option '(#\n "dry-run") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '("bootstrap") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'bootstrap? #t result))) | ||||
|  | @ -510,7 +518,7 @@ Use '~/.config/guix/channels.scm' instead.")) | |||
|               (process-query opts profile)) | ||||
|              (else | ||||
|               (with-store store | ||||
|                 (with-status-verbosity 2 | ||||
|                 (with-status-verbosity (assoc-ref opts 'verbosity) | ||||
|                   (parameterize ((%current-system (assoc-ref opts 'system)) | ||||
|                                  (%graft? (assoc-ref opts 'graft?)) | ||||
|                                  (%repository-cache-directory cache)) | ||||
|  |  | |||
|  | @ -1015,6 +1015,8 @@ Some ACTIONS support additional ARGS.\n")) | |||
|       --full-boot        for 'vm', make a full boot sequence")) | ||||
|   (display (G_ " | ||||
|       --skip-checks      skip file system and initrd module safety checks")) | ||||
|   (display (G_ " | ||||
|   -v, --verbosity=LEVEL  use the given verbosity LEVEL")) | ||||
|   (newline) | ||||
|   (display (G_ " | ||||
|   -h, --help             display this help and exit")) | ||||
|  | @ -1074,6 +1076,11 @@ Some ACTIONS support additional ARGS.\n")) | |||
|          (option '(#\n "dry-run") #f #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'dry-run? #t (alist-cons 'graft? #f result)))) | ||||
|          (option '(#\v "verbosity") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (let ((level (string->number* arg))) | ||||
|                      (alist-cons 'verbosity level | ||||
|                                  (alist-delete 'verbosity result))))) | ||||
|          (option '(#\s "system") #t #f | ||||
|                  (lambda (opt name arg result) | ||||
|                    (alist-cons 'system arg | ||||
|  | @ -1092,7 +1099,8 @@ Some ACTIONS support additional ARGS.\n")) | |||
|     (print-extended-build-trace? . #t) | ||||
|     (multiplexed-build-output? . #t) | ||||
|     (graft? . #t) | ||||
|     (verbosity . 0) | ||||
|     (debug . 0) | ||||
|     (verbosity . #f)                              ;default | ||||
|     (file-system-type . "ext4") | ||||
|     (image-size . guess) | ||||
|     (install-bootloader? . #t))) | ||||
|  | @ -1267,8 +1275,9 @@ argument list and OPTS is the option alist." | |||
|            (args     (option-arguments opts)) | ||||
|            (command  (assoc-ref opts 'action))) | ||||
|       (parameterize ((%graft? (assoc-ref opts 'graft?))) | ||||
|         (with-status-verbosity (if (memq command '(init reconfigure)) | ||||
|                                    1 2) | ||||
|         (with-status-verbosity (or (assoc-ref opts 'verbosity) | ||||
|                                    (if (memq command '(init reconfigure)) | ||||
|                                        1 2)) | ||||
|           (process-command command args opts)))))) | ||||
| 
 | ||||
| ;;; Local Variables: | ||||
|  |  | |||
		Reference in a new issue