guix-commits
[Top][All Lists]
Advanced

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

04/08: deploy: Show what machines will be deployed.


From: guix-commits
Subject: 04/08: deploy: Show what machines will be deployed.
Date: Mon, 23 Mar 2020 05:48:33 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 1bb248d0b10af77379096f4456ce6f5c5d1c23ac
Author: Ludovic Courtès <address@hidden>
AuthorDate: Fri Mar 20 12:46:06 2020 +0100

    deploy: Show what machines will be deployed.
    
    * guix/scripts/deploy.scm (show-what-to-deploy): New procedure.
    (guix-deploy): Call it.
---
 guix/scripts/deploy.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
index a82dde00..d4d07be 100644
--- a/guix/scripts/deploy.scm
+++ b/guix/scripts/deploy.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 David Thompson <address@hidden>
 ;;; Copyright © 2019 Jakob L. Kreuze <address@hidden>
+;;; Copyright © 2020 Ludovic Courtès <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -97,6 +98,22 @@ Perform the deployment specified by FILE.\n"))
                                            environment-modules))))
     (load* file module)))
 
+(define (show-what-to-deploy machines)
+  "Show the list of machines to deploy, MACHINES."
+  (let ((count (length machines)))
+    (format (current-error-port)
+            (N_ "The following ~*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)
+                                           ", ")
+                              (- (%text-width) 2) 2)
+              2)
+             (current-error-port))
+    (display "\n\n" (current-error-port))))
+
 (define (guix-deploy . args)
   (define (handle-argument arg result)
     (alist-cons 'file arg result))
@@ -105,6 +122,8 @@ Perform the deployment specified by FILE.\n"))
                                    #:argument-handler handle-argument))
          (file (assq-ref opts 'file))
          (machines (or (and file (load-source-file file)) '())))
+    (show-what-to-deploy machines)
+
     (with-status-verbosity (assoc-ref opts 'verbosity)
       (with-store store
         (set-build-options-from-command-line store opts)



reply via email to

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