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.
This commit is contained in:
Joey Hess 2017-03-02 17:40:40 -04:00
parent d797f750e4
commit 11d3219985
No known key found for this signature in database
GPG key ID: C910D9222512E3C7
4 changed files with 33 additions and 9 deletions

View file

@ -31,6 +31,16 @@ extraBundledPrograms = catMaybes
[ SysConfig.gpg
#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
]
@ -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

View file

@ -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

View file

@ -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]]

View file

@ -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..
"""]]