aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-03-02 17:40:40 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-03-02 17:40:40 -0400
commit191e80050f4d314061d4d585a65f9aacb41f5b61 (patch)
tree3546481465cf12453075564e1eb277dc2d89704e
parent3aaee3c7027b0208d7feb1d123d3b48f961796ab (diff)
Linux standalone builds put the bundled ssh last in PATH, so any system ssh will be preferred over it.
This commit was sponsored by Denis Dzyubenko on Patreon.
-rw-r--r--Build/BundledPrograms.hs19
-rw-r--r--CHANGELOG2
-rw-r--r--doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible.mdwn1
-rw-r--r--doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible/comment_1_abdd5622dc1733a8b59dc11885083799._comment20
4 files changed, 33 insertions, 9 deletions
diff --git a/Build/BundledPrograms.hs b/Build/BundledPrograms.hs
index a9a29b603..271e1dd98 100644
--- a/Build/BundledPrograms.hs
+++ b/Build/BundledPrograms.hs
@@ -32,6 +32,16 @@ extraBundledPrograms = catMaybes
#else
[
#endif
+#ifndef darwin_HOST_OS
+#ifndef mingw32_HOST_OS
+ -- OS X has ssh installed by default.
+ -- On Windows, git provides ssh.
+ -- Linux probably has ssh installed system wide,
+ -- and if so the user probably wants to use that one.
+ , Just "ssh"
+ , Just "ssh-keygen"
+#endif
+#endif
]
{- Programs that should be preferred for use from the bundle, over
@@ -57,15 +67,6 @@ preferredBundledPrograms = catMaybes
, Just "xargs"
#endif
, Just "rsync"
-#ifndef darwin_HOST_OS
-#ifndef mingw32_HOST_OS
- -- OS X has ssh installed by default.
- -- Linux probably has ssh, but not guaranteed.
- -- On Windows, git provides ssh.
- , Just "ssh"
- , Just "ssh-keygen"
-#endif
-#endif
#ifndef mingw32_HOST_OS
, Just "sh"
#endif
diff --git a/CHANGELOG b/CHANGELOG
index 393976291..524ad53c2 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,8 @@ git-annex (6.20170301.2) UNRELEASED; urgency=medium
* Bugfix: Passing a command a filename that does not exist sometimes
did not display an error, when a path to a directory was also passed.
* status: Propigate nonzero exit code from git status.
+ * Linux standalone builds put the bundled ssh last in PATH,
+ so any system ssh will be preferred over it.
-- Joey Hess <id@joeyh.name> Thu, 02 Mar 2017 12:51:40 -0400
diff --git a/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible.mdwn b/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible.mdwn
index 13f09d964..a61caca66 100644
--- a/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible.mdwn
+++ b/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible.mdwn
@@ -51,3 +51,4 @@ git-annex: sync: 2 failed
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
+> [[done]]; moved ssh to extra directory. --[[Joey]]
diff --git a/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible/comment_1_abdd5622dc1733a8b59dc11885083799._comment b/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible/comment_1_abdd5622dc1733a8b59dc11885083799._comment
new file mode 100644
index 000000000..2024b296f
--- /dev/null
+++ b/doc/bugs/configuration_options_for_system_ssh_and_bundled_ssh_are_incompatible/comment_1_abdd5622dc1733a8b59dc11885083799._comment
@@ -0,0 +1,20 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2017-03-02T21:30:55Z"
+ content="""
+One way to deal with this would be to put the bundled ssh in the
+git-annex.linux/extra/ directory. Programs in that directory are added to the
+end of the path, so that system versions will be preferred when available.
+
+That was earlier done for gpg and didn't cause any problems.
+
+There is the potential for some sort of versioning problem. Currently the
+only thing git-annex probes about the bundled ssh is if it supports
+connection caching. That's quite an old feature by now, so a system ssh not
+supporting it would either be super out of date and insecure openssh, or
+perhaps some other ssh implementation.
+
+Seems worth moving the bundled ssh to the extra directory, and see what
+breaks..
+"""]]