machine: Add 'build-locally?' field for managed hosts.

* gnu/machine/ssh.scm (machine-ssh-configuration-build-locally?): New
variable.
(managed-host-remote-eval): Pass 'build-locally?' to 'remote-eval'.
This commit is contained in:
Jakob L. Kreuze 2019-08-07 08:44:18 -04:00 committed by Christopher Lemmer Webber
parent 9bd1333e58
commit d84e9b75b2
No known key found for this signature in database
GPG key ID: 4BC025925FF8F4D3

View file

@ -44,6 +44,7 @@ (define-module (gnu machine ssh)
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))
@ -66,15 +67,17 @@ (define-record-type* <machine-ssh-configuration> machine-ssh-configuration
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 @@ (define (managed-host-remote-eval machine exp)
"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))))
;;;