Message ID | 20220717145021.19613-1-ludo@gnu.org |
---|---|
State | Accepted |
Headers | show |
Series | [bug#56616] deploy: Honor '--dry-run'. | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
On 17-07-2022 16:50, Ludovic Courtès wrote: > + (format (current-error-port) > + (N_ "The following ~d machine will be deployed:~%" Wouldn't 'The following machine will be deployed' be better? Unfortunately, (ice-9 format) emits a warning in that case, but you can work-around that with argument jumping: (format #t "~*The following machine will be deployed:~%") Greetings, Maxime.
Maxime Devos <maximedevos@telenet.be> skribis: > On 17-07-2022 16:50, Ludovic Courtès wrote: >> + (format (current-error-port) >> + (N_ "The following ~d machine will be deployed:~%" > > > Wouldn't 'The following machine will be deployed' be better? > Unfortunately, (ice-9 format) emits a warning in that case, but you > can work-around that with argument jumping: > > (format #t "~*The following machine will be deployed:~%") We used to do that but unfortunately that triggered a bug in xgettext; see 388b432cea4ae2bb9bf4b044026b7764ab002e1e and <https://bugs.gnu.org/37505>. Ludo’.
On 22-07-2022 14:15, Ludovic Courtès wrote: > Maxime Devos<maximedevos@telenet.be> skribis: > >> On 17-07-2022 16:50, Ludovic Courtès wrote: >>> + (format (current-error-port) >>> + (N_ "The following ~d machine will be deployed:~%" >> Wouldn't 'The following machine will be deployed' be better? >> Unfortunately, (ice-9 format) emits a warning in that case, but you >> can work-around that with argument jumping: >> >> (format #t "~*The following machine will be deployed:~%") > We used to do that but unfortunately that triggered a bug in xgettext; > see 388b432cea4ae2bb9bf4b044026b7764ab002e1e and > <https://bugs.gnu.org/37505>. > > Ludo’. It's closed, but the bug is still there? Where is the upstream bug report? Greetings, Maxime.
Maxime Devos <maximedevos@telenet.be> skribis: > On 22-07-2022 14:15, Ludovic Courtès wrote: >> Maxime Devos<maximedevos@telenet.be> skribis: [...] >>> (format #t "~*The following machine will be deployed:~%") >> We used to do that but unfortunately that triggered a bug in xgettext; >> see 388b432cea4ae2bb9bf4b044026b7764ab002e1e and >> <https://bugs.gnu.org/37505>. >> >> Ludo’. > > It's closed, but the bug is still there? Where is the upstream bug report? I can’t find one, neither in the thread above nor at <https://savannah.gnu.org/support/?group=gettext>, so maybe it’s time to report it for good. Ludo’.
Ludovic Courtès <ludo@gnu.org> skribis: > * guix/scripts/deploy.scm (%options): Add "dry-run". > (show-what-to-deploy): Add #:dry-run? and honor it. > (guix-deploy): Honor --dry-run. Pushed as ff94f9dfde142750be0ae3e48aaba82a76189da9.
diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 27478eabc0..2c76645173 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -76,6 +76,9 @@ (define %options (lambda args (show-version-and-exit "guix deploy"))) + (option '(#\n "dry-run") #f #f + (lambda (opt name arg result) + (alist-cons 'dry-run? #t result))) (option '(#\x "execute") #f #f (lambda (opt name arg result) (alist-cons 'execute-command? #t result))) @@ -110,14 +113,20 @@ (module (make-user-module (append '((gnu) (gnu machine)) environment-modules)))) (load* file module))) -(define (show-what-to-deploy machines) +(define* (show-what-to-deploy machines #:key (dry-run? #f)) "Show the list of machines to deploy, MACHINES." (let ((count (length machines))) - (format (current-error-port) - (N_ "The following ~d machine will be deployed:~%" - "The following ~d machines will be deployed:~%" + (if dry-run? + (format (current-error-port) + (N_ "The following ~d machine would be deployed:~%" + "The following ~d machines would be deployed:~%" + count) count) - count) + (format (current-error-port) + (N_ "The following ~d machine will be deployed:~%" + "The following ~d machines will be deployed:~%" + count) + count)) (display (indented-string (fill-paragraph (string-join (map machine-display-name machines) ", ") @@ -241,6 +250,7 @@ (define (handle-argument arg result) #:argument-handler handle-argument)) (file (assq-ref opts 'file)) (machines (and file (load-source-file file))) + (dry-run? (assoc-ref opts 'dry-run?)) (execute-command? (assoc-ref opts 'execute-command?))) (unless file (leave (G_ "missing deployment file argument~%"))) @@ -254,7 +264,8 @@ (define (handle-argument arg result) (with-build-handler (build-notifier #:use-substitutes? (assoc-ref opts 'substitutes?) #:verbosity - (assoc-ref opts 'verbosity)) + (assoc-ref opts 'verbosity) + #:dry-run? dry-run?) (parameterize ((%graft? (assq-ref opts 'graft?))) (if execute-command? (match command @@ -270,7 +281,8 @@ (define (handle-argument arg result) (_ (leave (G_ "'-x' specified but no command given~%")))) (begin - (show-what-to-deploy machines) - (map/accumulate-builds store - (cut deploy-machine* store <>) - machines)))))))))) + (show-what-to-deploy machines #:dry-run? dry-run?) + (unless dry-run? + (map/accumulate-builds store + (cut deploy-machine* store <>) + machines)))))))))))