summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-03-05 13:23:21 -0500
committerLeo Famulari <leo@famulari.name>2017-03-06 13:39:29 -0500
commit23f22ba8afa9d3318c8a79022216dea3b9c866df (patch)
tree16dc5d42e1c1d8240947c3b79cf28191eba9516e
parent613d0895b92c677e0639d5e77c55043e38e020c8 (diff)
downloadguix-23f22ba8afa9d3318c8a79022216dea3b9c866df.tar.gz
services: openssh: Parameterize the OpenSSH package used by the service.
* gnu/services/ssh.scm (<openssh-configuration>)[openssh]: New field.
(openssh-activation, openssh-shepherd-service): Use it.
-rw-r--r--gnu/services/ssh.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 7b2d4a8f06..c1d42e70ce 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -260,6 +260,8 @@ The other options should be self-descriptive."
 (define-record-type* <openssh-configuration>
   openssh-configuration make-openssh-configuration
   openssh-configuration?
+  (openssh               openssh-configuration-openssh ;package
+                         (default openssh))
   (pid-file              openssh-configuration-pid-file
                          (default "/var/run/sshd.pid"))
   (port-number           openssh-configuration-port-number ;integer
@@ -297,7 +299,8 @@ The other options should be self-descriptive."
       (mkdir-p (dirname #$(openssh-configuration-pid-file config)))
 
       ;; Generate missing host keys.
-      (system* (string-append #$openssh "/bin/ssh-keygen") "-A")))
+      (system* (string-append #$(openssh-configuration-openssh config)
+                              "/bin/ssh-keygen") "-A")))
 
 (define (openssh-config-file config)
   "Return the sshd configuration file corresponding to CONFIG."
@@ -342,7 +345,7 @@ The other options should be self-descriptive."
     (openssh-configuration-pid-file config))
 
   (define openssh-command
-    #~(list (string-append #$openssh "/sbin/sshd")
+    #~(list (string-append #$(openssh-configuration-openssh config) "/sbin/sshd")
             "-D" "-f" #$(openssh-config-file config)))
 
   (list (shepherd-service