disable ssh connection caching for standalone builds

The standalone build does not bundle its own ssh, so should be built
to support as wide an array of ssh versions as possible, so turn off
connection caching.

Unfortunatly, as implemented this forces a full rebuild when building the
standalone binary, and of course it makes it somewhat slower.

This is not ideal, but neither is probing the ssh version every time it's
run (slow), or once when initializing a repo (fragile).
This commit is contained in:
Joey Hess 2012-10-15 14:49:40 -04:00
parent 147c07c84e
commit 3156febec8
3 changed files with 17 additions and 2 deletions

View file

@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE CPP #-}
module Annex.Ssh ( module Annex.Ssh (
sshParams, sshParams,
sshCleanup, sshCleanup,
@ -52,9 +54,13 @@ sshInfo (host, port) = ifM caching
, return (Nothing, []) , return (Nothing, [])
) )
where where
#ifdef WITH_OLD_SSH
caching = return False
#else
caching = fromMaybe SysConfig.sshconnectioncaching caching = fromMaybe SysConfig.sshconnectioncaching
. Git.Config.isTrue . Git.Config.isTrue
<$> getConfig (annexConfig "sshcaching") "" <$> getConfig (annexConfig "sshcaching") ""
#endif
cacheParams :: FilePath -> [CommandParam] cacheParams :: FilePath -> [CommandParam]
cacheParams socketfile = cacheParams socketfile =

View file

@ -142,7 +142,10 @@ THIRDPARTY_BINS=git curl lsof xargs rsync uuid wget gpg \
sha1sum sha224sum sha256sum sha384sum sha512sum sha1sum sha224sum sha256sum sha384sum sha512sum
LINUXSTANDALONE_DEST=$(GIT_ANNEX_TMP_BUILD_DIR)/git-annex.linux LINUXSTANDALONE_DEST=$(GIT_ANNEX_TMP_BUILD_DIR)/git-annex.linux
linuxstandalone: $(bins) linuxstandalone:
$(make clean)
GIT_ANNEX_LOCAL_FEATURES="$(GIT_ANNEX_LOCAL_FEATURES) -DWITH_OLD_SSH" $(MAKE)
rm -rf "$(LINUXSTANDALONE_DEST)" rm -rf "$(LINUXSTANDALONE_DEST)"
cp -R standalone/linux "$(LINUXSTANDALONE_DEST)" cp -R standalone/linux "$(LINUXSTANDALONE_DEST)"
@ -178,7 +181,10 @@ linuxstandalone: $(bins)
OSXAPP_DEST=$(GIT_ANNEX_TMP_BUILD_DIR)/build-dmg/git-annex.app OSXAPP_DEST=$(GIT_ANNEX_TMP_BUILD_DIR)/build-dmg/git-annex.app
OSXAPP_BASE=$(OSXAPP_DEST)/Contents/MacOS OSXAPP_BASE=$(OSXAPP_DEST)/Contents/MacOS
osxapp: $(bins) osxapp:
$(make clean)
GIT_ANNEX_LOCAL_FEATURES="$(GIT_ANNEX_LOCAL_FEATURES) -DWITH_OLD_SSH" $(MAKE)
rm -rf "$(OSXAPP_DEST)" rm -rf "$(OSXAPP_DEST)"
install -d $(GIT_ANNEX_TMP_BUILD_DIR)/build-dmg install -d $(GIT_ANNEX_TMP_BUILD_DIR)/build-dmg
cp -R standalone/osx/git-annex.app "$(OSXAPP_DEST)" cp -R standalone/osx/git-annex.app "$(OSXAPP_DEST)"

View file

@ -22,3 +22,6 @@ What version of git-annex are you using? On what operating system?
upgrade supported from repository versions: 0 1 2 upgrade supported from repository versions: 0 1 2
I seems that this option is passed to SSH, but SSH is too old: OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb I seems that this option is passed to SSH, but SSH is too old: OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb
> Future builds of the standalone binary will default annex.sshcaching to
> false. [[done]] --[[Joey]]