fix use of wrong shebang when android is installing git-annex-shell wrapper on server

This commit is contained in:
Joey Hess 2013-05-06 15:58:13 -04:00
parent 2a7d573280
commit 749c197947
5 changed files with 15 additions and 9 deletions

View file

@ -63,7 +63,7 @@ ensureInstalled = go =<< standaloneAppBase
let runshell var = "exec " ++ base </> "runshell" ++
" git-annex-shell -c \"" ++ var ++ "\""
let content = unlines
[ shebang
[ shebang_local
, "set -e"
, "if [ \"x$SSH_ORIGINAL_COMMAND\" != \"x\" ]; then"
, runshell "$SSH_ORIGINAL_COMMAND"

View file

@ -125,7 +125,7 @@ addAuthorizedKeysCommand rsynconly dir pubkey = intercalate "&&"
echoval v = "echo " ++ shellEscape v
wrapper = "~/.ssh/git-annex-shell"
script =
[ shebang
[ shebang_portable
, "set -e"
, "if [ \"x$SSH_ORIGINAL_COMMAND\" != \"x\" ]; then"
, runshell "$SSH_ORIGINAL_COMMAND"

View file

@ -156,7 +156,7 @@ xmppPush cid gitpush handledeferred = runPush SendPack cid handledeferred $ do
let wrapper = tmpdir </> "git-remote-xmpp"
program <- readProgramFile
writeFile wrapper $ unlines
[ shebang
[ shebang_local
, "exec " ++ program ++ " xmppgit"
]
modifyFileMode wrapper $ addModes executeModes

View file

@ -106,7 +106,7 @@ preCommitHook = (</>) <$> fromRepo Git.localGitDir <*> pure "hooks/pre-commit"
preCommitScript :: String
preCommitScript = unlines
[ shebang
[ shebang_local
, "# automatically configured by git-annex"
, "git annex pre-commit ."
]

View file

@ -9,12 +9,18 @@
module Utility.Shell where
shellPath :: FilePath
shellPath_portable :: FilePath
shellPath_portable = "/bin/sh"
shellPath_local :: FilePath
#ifndef __ANDROID__
shellPath = "/bin/sh"
shellPath_local = shellPath_portable
#else
shellPath = "/system/bin/sh"
shellPath_local = "/system/bin/sh"
#endif
shebang :: String
shebang = "#!" ++ shellPath
shebang_portable :: String
shebang_portable = "#!" ++ shellPath_portable
shebang_local :: String
shebang_local = "#!" ++ shellPath_local