summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/openssh-fix-ssh-copy-id.patch
diff options
context:
space:
mode:
authorJesse Gibbons <jgibbons2357+guix@gmail.com>2020-11-25 19:12:08 -0700
committerLeo Famulari <leo@famulari.name>2020-11-25 22:09:28 -0500
commit81fbe03b509414aa1ede960141a7ffd241d5f9ee (patch)
tree12cd01959685e9180d40362e2cc57f8b7fef8abb /gnu/packages/patches/openssh-fix-ssh-copy-id.patch
parent723badf5aedeb0648f31db73778c32c5d78dc238 (diff)
gnu: openssh: Fix ssh-copy-id.
* gnu/packages/patches/openssh-fix-ssh-copy-id.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ssh.scm (openssh)[source]: Use it. Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages/patches/openssh-fix-ssh-copy-id.patch')
-rw-r--r--gnu/packages/patches/openssh-fix-ssh-copy-id.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/patches/openssh-fix-ssh-copy-id.patch b/gnu/packages/patches/openssh-fix-ssh-copy-id.patch
new file mode 100644
index 0000000000..6adba639a3
--- /dev/null
+++ b/gnu/packages/patches/openssh-fix-ssh-copy-id.patch
@@ -0,0 +1,38 @@
+Fix a bug where ssh-copy-id would fail with "EOF: command not found":
+
+https://github.com/openssh/openssh-portable/pull/206
+
+Patch copied from upstream source repository:
+
+https://github.com/openssh/openssh-portable/commit/d9e727dcc04a52caaac87543ea1d230e9e6b5604
+
+From d9e727dcc04a52caaac87543ea1d230e9e6b5604 Mon Sep 17 00:00:00 2001
+From: Oleg <Fallmay@users.noreply.github.com>
+Date: Thu, 1 Oct 2020 12:09:08 +0300
+Subject: [PATCH] Fix `EOF: command not found` error in ssh-copy-id
+
+---
+ contrib/ssh-copy-id | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id
+index 392f64f94..a76907717 100644
+--- a/contrib/ssh-copy-id
++++ b/contrib/ssh-copy-id
+@@ -247,7 +247,7 @@ installkeys_sh() {
+ # the -z `tail ...` checks for a trailing newline. The echo adds one if was missing
+ # the cat adds the keys we're getting via STDIN
+ # and if available restorecon is used to restore the SELinux context
+- INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF)
++ INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF
+ cd;
+ umask 077;
+ mkdir -p $(dirname "${AUTH_KEY_FILE}") &&
+@@ -258,6 +258,7 @@ installkeys_sh() {
+ restorecon -F .ssh ${AUTH_KEY_FILE};
+ fi
+ EOF
++ )
+
+ # to defend against quirky remote shells: use 'exec sh -c' to get POSIX;
+ printf "exec sh -c '%s'" "${INSTALLKEYS_SH}"