machine: Add 'build-locally?' field for managed hosts.
authorJakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
Wed, 7 Aug 2019 12:44:18 +0000 (08:44 -0400)
committerChristopher Lemmer Webber <cwebber@dustycloud.org>
Wed, 7 Aug 2019 22:29:07 +0000 (18:29 -0400)
* gnu/machine/ssh.scm (machine-ssh-configuration-build-locally?): New
variable.
(managed-host-remote-eval): Pass 'build-locally?' to 'remote-eval'.

gnu/machine/ssh.scm

index 274d56d..ba3e33c 100644 (file)
@@ -44,6 +44,7 @@
             machine-ssh-configuration
 
             machine-ssh-configuration-host-name
+            machine-ssh-configuration-build-locally?
             machine-ssh-configuration-port
             machine-ssh-configuration-user
             machine-ssh-configuration-session))
   make-machine-ssh-configuration
   machine-ssh-configuration?
   this-machine-ssh-configuration
-  (host-name machine-ssh-configuration-host-name) ; string
-  (port      machine-ssh-configuration-port       ; integer
-             (default 22))
-  (user      machine-ssh-configuration-user       ; string
-             (default "root"))
-  (identity  machine-ssh-configuration-identity   ; path to a private key
-             (default #f))
-  (session   machine-ssh-configuration-session    ; session
-             (default #f)))
+  (host-name      machine-ssh-configuration-host-name) ; string
+  (build-locally? machine-ssh-configuration-build-locally?
+                  (default #t))
+  (port           machine-ssh-configuration-port       ; integer
+                  (default 22))
+  (user           machine-ssh-configuration-user       ; string
+                  (default "root"))
+  (identity       machine-ssh-configuration-identity   ; path to a private key
+                  (default #f))
+  (session        machine-ssh-configuration-session    ; session
+                  (default #f)))
 
 (define (machine-ssh-session machine)
   "Return the SSH session that was given in MACHINE's configuration, or create
@@ -100,7 +103,10 @@ one from the configuration's parameters if one was not provided."
   "Internal implementation of 'machine-remote-eval' for MACHINE instances with
 an environment type of 'managed-host."
   (maybe-raise-unsupported-configuration-error machine)
-  (remote-eval exp (machine-ssh-session machine)))
+  (remote-eval exp (machine-ssh-session machine)
+               #:build-locally?
+               (machine-ssh-configuration-build-locally?
+                (machine-configuration machine))))
 
 \f
 ;;;