From 32fc0e9a5a23cbb31f1965bd58d050c1cdd5c28b Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Wed, 25 Nov 2020 19:12:08 -0700 Subject: [PATCH] gnu: openssh: Add upstream bugfix patch. This fixes ssh-copy-id. * gnu/packages/nssh.scm (openssh)[source]: Add patch. * gnu/packages/patches/openssh-fix-eof-command-not-found.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../openssh-fix-eof-command-not-found.patch | 30 +++++++++++++++++++ gnu/packages/ssh.scm | 3 +- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openssh-fix-eof-command-not-found.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5277403196..6fc7b3f51d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1412,6 +1412,7 @@ dist_patch_DATA = \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ + %D%/packages/patches/openssh-fix-eof-command-not-found.patch \ %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \ %D%/packages/patches/openscad-parser-boost-1.72.patch \ diff --git a/gnu/packages/patches/openssh-fix-eof-command-not-found.patch b/gnu/packages/patches/openssh-fix-eof-command-not-found.patch new file mode 100644 index 0000000000..32713d43ff --- /dev/null +++ b/gnu/packages/patches/openssh-fix-eof-command-not-found.patch @@ -0,0 +1,30 @@ +From d9e727dcc04a52caaac87543ea1d230e9e6b5604 Mon Sep 17 00:00:00 2001 +From: Oleg +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}" diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index e5bcac33f2..d55c37844c 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -189,7 +189,8 @@ a server that supports the SSH-2 protocol.") (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" "openssh-" version ".tar.gz")) - (patches (search-patches "openssh-hurd.patch")) + (patches (search-patches "openssh-hurd.patch" + "openssh-fix-eof-command-not-found.patch")) (sha256 (base32 "091b3pxdlj47scxx6kkf4agkx8c8sdacdxx8m1dw1cby80pd40as")))) -- 2.29.2