diff options
author | Joey Hess <joey@kitenet.net> | 2013-02-13 14:30:04 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-02-13 14:30:04 -0400 |
commit | 86a2e79338c13108e100859a942883690ad286f3 (patch) | |
tree | 375323fc282638ae62b8b8a0b8834b6dbdf92d18 /Assistant | |
parent | 9aadec552b0590fbed10ed9e1d74540bbaf5fb7f (diff) |
deal with Android's nonstandard shell location
This is so gratutious and pointless. It's a shame that everything we
learned about Unix portability and the importance of standards has been
thrown out the window by these guys.
Diffstat (limited to 'Assistant')
-rw-r--r-- | Assistant/Install.hs | 3 | ||||
-rw-r--r-- | Assistant/Ssh.hs | 3 | ||||
-rw-r--r-- | Assistant/XMPP/Git.hs | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/Assistant/Install.hs b/Assistant/Install.hs index 989843e90..0db021ef7 100644 --- a/Assistant/Install.hs +++ b/Assistant/Install.hs @@ -14,6 +14,7 @@ import Assistant.Install.AutoStart import Assistant.Ssh import Locations.UserConfig import Utility.FileMode +import Utility.Shell #ifdef darwin_HOST_OS import Utility.OSX @@ -58,7 +59,7 @@ ensureInstalled = go =<< standaloneAppBase sshdir <- sshDir let shim = sshdir </> "git-annex-shell" let content = unlines - [ "#!/bin/sh" + [ shebang , "set -e" , "exec", base </> "runshell" ++ " git-annex-shell -c \"$SSH_ORIGINAL_COMMAND\"" diff --git a/Assistant/Ssh.hs b/Assistant/Ssh.hs index 15c97ab53..753babad4 100644 --- a/Assistant/Ssh.hs +++ b/Assistant/Ssh.hs @@ -10,6 +10,7 @@ module Assistant.Ssh where import Common.Annex import Utility.TempFile import Utility.UserInfo +import Utility.Shell import Git.Remote import Data.Text (Text) @@ -155,7 +156,7 @@ addAuthorizedKeysCommand rsynconly dir pubkey = join "&&" echoval v = "echo " ++ shellEscape v wrapper = "~/.ssh/git-annex-shell" script = - [ "#!/bin/sh" + [ shebang , "set -e" , "exec git-annex-shell -c \"$SSH_ORIGINAL_COMMAND\"" ] diff --git a/Assistant/XMPP/Git.hs b/Assistant/XMPP/Git.hs index d3c8343c2..8dba309a8 100644 --- a/Assistant/XMPP/Git.hs +++ b/Assistant/XMPP/Git.hs @@ -25,6 +25,7 @@ import qualified Git.Branch import Locations.UserConfig import qualified Types.Remote as Remote import Utility.FileMode +import Utility.Shell import Network.Protocol.XMPP import qualified Data.Text as T @@ -141,7 +142,7 @@ xmppPush cid gitpush = runPush SendPack cid handleDeferred $ do let wrapper = tmpdir </> "git-remote-xmpp" program <- readProgramFile writeFile wrapper $ unlines - [ "#!/bin/sh" + [ shebang , "exec " ++ program ++ " xmppgit" ] modifyFileMode wrapper $ addModes executeModes |