summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-07-09 10:06:19 +0200
committerLudovic Courtès <ludo@gnu.org>2015-07-09 11:59:26 +0200
commitb19649a132e83d0b8a29a685e9b8c1b061ef0dfa (patch)
tree46962a6b011aa01d3bf5126c2ebfcc8030ebc9d5
parent92f1b4a54c58d57bcc8d52e6970785c2b895c6b9 (diff)
downloadguix-b19649a132e83d0b8a29a685e9b8c1b061ef0dfa.tar.gz
offload: Add 'ssh-options' field to <build-machine>.
* guix/scripts/offload.scm (<build-machine>)[ssh-options]: New field.
  (remote-pipe): Use it.
  (send-files): Likewise.
-rw-r--r--guix/scripts/offload.scm25
1 files changed, 15 insertions, 10 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index e6be8b4465..c0df03b98f 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -69,6 +69,8 @@
   (speed           build-machine-speed            ; inexact real
                    (default 1.0))
   (features        build-machine-features         ; list of strings
+                   (default '()))
+  (ssh-options     build-machine-ssh-options      ; list of strings
                    (default '())))
 
 (define-record-type* <build-requirements>
@@ -200,10 +202,11 @@ not be started."
            ;; XXX: Remove '-i' when %LSHG-COMMAND really is lshg.
            "-i" (build-machine-private-key machine)
 
-           (build-machine-name machine)
-           (if quote?
-               (map shell-quote command)
-               command))))
+           (append (build-machine-ssh-options machine)
+                   (list (build-machine-name machine))
+                   (if quote?
+                       (map shell-quote command)
+                       command)))))
 
 
 ;;;
@@ -448,12 +451,14 @@ success, #f otherwise."
                    (format #f "~{~a~%~}" files))
                   ((missing pids)
                    (filtered-port
-                    (list (which %lshg-command)
-                          "-l" (build-machine-user machine)
-                          "-p" (number->string (build-machine-port machine))
-                          "-i" (build-machine-private-key machine)
-                          (build-machine-name machine)
-                          "guix" "archive" "--missing")
+                    (append (list (which %lshg-command)
+                                  "-l" (build-machine-user machine)
+                                  "-p" (number->string
+                                        (build-machine-port machine))
+                                  "-i" (build-machine-private-key machine))
+                            (build-machine-ssh-options machine)
+                            (cons (build-machine-name machine)
+                                  '("guix" "archive" "--missing")))
                     (open-input-string files)))
                   ((result)
                    (get-string-all missing)))