summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-03-13 21:58:04 +0100
committerLudovic Courtès <ludo@gnu.org>2014-03-13 21:58:04 +0100
commitcecd72d55ae974f8ebe900e0088071f843866935 (patch)
tree904528c871e2ceb252bb6aa04451ca3b27f6329b
parent257b93412ad52dc26b53e0dae71a79b9b51ab33f (diff)
downloadguix-cecd72d55ae974f8ebe900e0088071f843866935.tar.gz
offload: Allow build machines to specify a port number.
* guix/scripts/offload.scm (<build-machine>): Add 'port' field.
  (remote-pipe, send-files): Use lsh's '-p' option when invoking it.
-rw-r--r--doc/guix.texi3
-rw-r--r--guix/scripts/offload.scm8
2 files changed, 9 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index d2a21a0f4a..f97051e88c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -345,6 +345,9 @@ A number of optional fields may be specified:
 
 @table @code
 
+@item port
+Port number of the machine's SSH server (default: 22).
+
 @item private-key
 The SSH private key file to use when connecting to the machine.
 
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 4d2f78f711..4a105e946f 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -56,6 +56,8 @@
   build-machine make-build-machine
   build-machine?
   (name            build-machine-name)            ; string
+  (port            build-machine-port             ; number
+                   (default 22))
   (system          build-machine-system)          ; string
   (user            build-machine-user)            ; string
   (private-key     build-machine-private-key      ; file name
@@ -161,8 +163,9 @@ determined."
   "Run COMMAND on MACHINE, assuming an lsh gateway has been set up."
   (catch 'system-error
     (lambda ()
-      (apply open-pipe* mode %lshg-command
-             "-l" (build-machine-user machine) "-z"
+      (apply open-pipe* mode %lshg-command "-z"
+             "-l" (build-machine-user machine)
+             "-p" (build-machine-port machine)
 
              ;; XXX: Remove '-i' when %LSHG-COMMAND really is lshg.
              "-i" (build-machine-private-key machine)
@@ -328,6 +331,7 @@ success, #f otherwise."
            (missing (filtered-port
                      (list (which %lshg-command)
                            "-l" (build-machine-user machine)
+                           "-p" (build-machine-port machine)
                            "-i" (build-machine-private-key machine)
                            (build-machine-name machine)
                            "guix" "archive" "--missing")