Subject: bug#33486: closed (Re: [bug#33486] [PATCH] services: openssh: Install OpenSSH in the system profile.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 26 Nov 2018 10:13:02 +0000

Your bug report

#33486: [PATCH] services: openssh: Install OpenSSH in the system profile.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
33486: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=33486
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#33486] [PATCH] services: openssh: Install OpenSSH in the system profile.
From: [email-masked] (Ludovic Courtès)
To: Efraim Flashner <[email-masked]>
Cc: [email-masked]
Date: Mon, 26 Nov 2018 11:12:03 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Efraim Flashner <[email-masked]> skribis:

> On Sat, Nov 24, 2018 at 04:09:23PM +0100, Ludovic Courtès wrote:
>> This ensures one can scp to or from the GuixSD machine that uses the
>> service.
>> 
>
> That sounds like a great idea

Pushed as 0c17f72070cbfb04f311b776a080849b369aac25, thanks!

Ludo'.

Subject: [PATCH] services: openssh: Install OpenSSH in the system profile.
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Sat, 24 Nov 2018 16:09:23 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

This ensures one can scp to or from the GuixSD machine that uses the
service.

* gnu/services/ssh.scm (openssh-service-type)[extensions]: Add
PROFILE-SERVICE-TYPE extension.
* gnu/system/examples/bare-bones.tmpl <packages>: Remove OPENSSH.
* doc/guix.texi (Using the Configuration System): Adjust accordingly.
---
 doc/guix.texi                       |  6 +++---
 gnu/services/ssh.scm                | 10 +++++++++-
 gnu/system/examples/bare-bones.tmpl |  4 ++--
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a2af1e9cbd..917a3e9d57 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9727,9 +9727,9 @@ environment variable---in addition to the per-user profiles
 provides all the tools one would expect for basic user and administrator
 tasks---including the GNU Core Utilities, the GNU Networking Utilities,
 the GNU Zile lightweight text editor, @command{find}, @command{grep},
-etc.  The example above adds GNU@tie{}Screen and OpenSSH to those,
-taken from the @code{(gnu packages screen)} and @code{(gnu packages ssh)}
-modules (@pxref{Package Modules}).  The
+etc.  The example above adds GNU@tie{}Screen to those,
+taken from the @code{(gnu packages screen)}
+module (@pxref{Package Modules}).  The
 @code{(list package output)} syntax can be used to add a specific output
 of a package:
 
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 056602248f..bb94c5f41a 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -518,7 +518,15 @@ of user-name/file-like tuples."
                        (service-extension activation-service-type
                                           openssh-activation)
                        (service-extension account-service-type
-                                          (const %openssh-accounts))))
+                                          (const %openssh-accounts))
+
+                       ;; Install OpenSSH in the system profile.  That way,
+                       ;; 'scp' is found when someone tries to copy to or from
+                       ;; this machine.
+                       (service-extension profile-service-type
+                                          (lambda (config)
+                                            (list (openssh-configuration-openssh
+                                                   config))))))
                 (compose concatenate)
                 (extend extend-openssh-authorized-keys)
                 (default-value (openssh-configuration))))
diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl
index 889dcabe64..902dacbe57 100644
--- a/gnu/system/examples/bare-bones.tmpl
+++ b/gnu/system/examples/bare-bones.tmpl
@@ -3,7 +3,7 @@
 
 (use-modules (gnu))
 (use-service-modules networking ssh)
-(use-package-modules screen ssh)
+(use-package-modules screen)
 
 (operating-system
   (host-name "komputilo")
@@ -40,7 +40,7 @@
                %base-user-accounts))
 
   ;; Globally-installed packages.
-  (packages (cons* screen openssh %base-packages))
+  (packages (cons screen %base-packages))
 
   ;; Add services to the baseline: a DHCP client and
   ;; an SSH server.
-- 
2.19.1