summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-10-15 14:49:40 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-10-15 14:49:40 -0400
commitb6f1f7b167f0e7307744d5b8bbc5a329885d944d (patch)
tree2b57cf4cdef706c973822530e8f71ad4f1f5bb06
parent60e0990f8cf066045ffb4a24229add3bede62b03 (diff)
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).
-rw-r--r--Annex/Ssh.hs6
-rw-r--r--Makefile10
-rw-r--r--doc/bugs/SSH:_command-line:_line_0:_Bad_configuration_option:_ControlPersist___40__SSH_too_old_on_OS_X_10.6.8__63____41__.mdwn3
3 files changed, 17 insertions, 2 deletions
diff --git a/Annex/Ssh.hs b/Annex/Ssh.hs
index a0aae2b7e..294270e43 100644
--- a/Annex/Ssh.hs
+++ b/Annex/Ssh.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Annex.Ssh (
sshParams,
sshCleanup,
@@ -52,9 +54,13 @@ sshInfo (host, port) = ifM caching
, return (Nothing, [])
)
where
+#ifdef WITH_OLD_SSH
+ caching = return False
+#else
caching = fromMaybe SysConfig.sshconnectioncaching
. Git.Config.isTrue
<$> getConfig (annexConfig "sshcaching") ""
+#endif
cacheParams :: FilePath -> [CommandParam]
cacheParams socketfile =
diff --git a/Makefile b/Makefile
index e4b0b8207..74685d9f2 100644
--- a/Makefile
+++ b/Makefile
@@ -142,7 +142,10 @@ THIRDPARTY_BINS=git curl lsof xargs rsync uuid wget gpg \
sha1sum sha224sum sha256sum sha384sum sha512sum
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)"
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_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)"
install -d $(GIT_ANNEX_TMP_BUILD_DIR)/build-dmg
cp -R standalone/osx/git-annex.app "$(OSXAPP_DEST)"
diff --git a/doc/bugs/SSH:_command-line:_line_0:_Bad_configuration_option:_ControlPersist___40__SSH_too_old_on_OS_X_10.6.8__63____41__.mdwn b/doc/bugs/SSH:_command-line:_line_0:_Bad_configuration_option:_ControlPersist___40__SSH_too_old_on_OS_X_10.6.8__63____41__.mdwn
index bc6477203..a3d27e404 100644
--- a/doc/bugs/SSH:_command-line:_line_0:_Bad_configuration_option:_ControlPersist___40__SSH_too_old_on_OS_X_10.6.8__63____41__.mdwn
+++ b/doc/bugs/SSH:_command-line:_line_0:_Bad_configuration_option:_ControlPersist___40__SSH_too_old_on_OS_X_10.6.8__63____41__.mdwn
@@ -22,3 +22,6 @@ What version of git-annex are you using? On what operating system?
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
+
+> Future builds of the standalone binary will default annex.sshcaching to
+> false. [[done]] --[[Joey]]