Fix bug introduced in the last release that broke git-annex sync when git-annex was installed from the standalone tarball.
This was introduced by commit 450ee53ab6
However, the same problem could affect other calls to programPath,
specifically some on the assistant. So, I fixed it at a deeper level.
This commit is contained in:
parent
00a6f5500f
commit
5be536e523
5 changed files with 23 additions and 52 deletions
|
@ -11,7 +11,9 @@ module Annex.Path where
|
||||||
|
|
||||||
import Common
|
import Common
|
||||||
import Config.Files
|
import Config.Files
|
||||||
import System.Environment
|
import Utility.Env
|
||||||
|
|
||||||
|
import System.Environment (getExecutablePath)
|
||||||
|
|
||||||
{- A fully qualified path to the currently running git-annex program.
|
{- A fully qualified path to the currently running git-annex program.
|
||||||
-
|
-
|
||||||
|
@ -19,15 +21,22 @@ import System.Environment
|
||||||
- well, it returns the complete path to the program. But, on other OSs,
|
- well, it returns the complete path to the program. But, on other OSs,
|
||||||
- it might return just the basename. Fall back to reading the programFile,
|
- it might return just the basename. Fall back to reading the programFile,
|
||||||
- or searching for the command name in PATH.
|
- or searching for the command name in PATH.
|
||||||
|
-
|
||||||
|
- The standalone build runs git-annex via ld.so, and defeats
|
||||||
|
- getExecutablePath. It sets GIT_ANNEX_PROGRAMPATH to the correct path
|
||||||
|
- to the wrapper script to use.
|
||||||
-}
|
-}
|
||||||
programPath :: IO FilePath
|
programPath :: IO FilePath
|
||||||
programPath = do
|
programPath = go =<< getEnv "GIT_ANNEX_PROGRAMPATH"
|
||||||
|
where
|
||||||
|
go (Just p) = return p
|
||||||
|
go Nothing = do
|
||||||
#if MIN_VERSION_base(4,6,0)
|
#if MIN_VERSION_base(4,6,0)
|
||||||
exe <- getExecutablePath
|
exe <- getExecutablePath
|
||||||
p <- if isAbsolute exe
|
p <- if isAbsolute exe
|
||||||
then return exe
|
then return exe
|
||||||
else readProgramFile
|
else readProgramFile
|
||||||
#else
|
#else
|
||||||
p <- readProgramFile
|
p <- readProgramFile
|
||||||
#endif
|
#endif
|
||||||
maybe cannotFindProgram return =<< searchPath p
|
maybe cannotFindProgram return =<< searchPath p
|
||||||
|
|
2
debian/changelog
vendored
2
debian/changelog
vendored
|
@ -18,6 +18,8 @@ git-annex (5.20150318) UNRELEASED; urgency=medium
|
||||||
command-line length limits and cause the commit to fail. This
|
command-line length limits and cause the commit to fail. This
|
||||||
only happened when using the assistant in an indirect mode repository.
|
only happened when using the assistant in an indirect mode repository.
|
||||||
* Work around curl bug when asked to download an empty url to a file.
|
* Work around curl bug when asked to download an empty url to a file.
|
||||||
|
* Fix bug introduced in the last release that broke git-annex sync
|
||||||
|
when git-annex was installed from the standalone tarball.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Thu, 19 Mar 2015 17:05:32 -0400
|
-- Joey Hess <id@joeyh.name> Thu, 19 Mar 2015 17:05:32 -0400
|
||||||
|
|
||||||
|
|
|
@ -43,3 +43,4 @@ git-annex: sync: 2 failed
|
||||||
# End of transcript or log.
|
# End of transcript or log.
|
||||||
"""]]
|
"""]]
|
||||||
|
|
||||||
|
> [[fixed|done]] --[[Joey]]
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
### Please describe the problem.
|
|
||||||
git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
|
|
||||||
|
|
||||||
### What steps will reproduce the problem?
|
|
||||||
Running "git annex sync" in a normal git annex repo.
|
|
||||||
|
|
||||||
### What version of git-annex are you using? On what operating system?
|
|
||||||
Arch Linux with git-annex from the git-annex-bin AUR package:
|
|
||||||
git-annex version: 5.20150317-g237d5b0
|
|
||||||
|
|
||||||
build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
|
|
||||||
|
|
||||||
key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
|
|
||||||
|
|
||||||
remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
|
|
||||||
|
|
||||||
### Please provide any additional information below.
|
|
||||||
people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
|
|
||||||
|
|
||||||
SSH and normal git operations work fine.
|
|
||||||
|
|
||||||
[[!format sh """
|
|
||||||
# If you can, paste a complete transcript of the problem occurring here.
|
|
||||||
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log
|
|
||||||
[dafo@simon-desktop dokumente_ga]$ git annex sync
|
|
||||||
commit ok
|
|
||||||
pull leno
|
|
||||||
dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
|
|
||||||
fatal: Could not read from remote repository.
|
|
||||||
Please make sure you have the correct access rights
|
|
||||||
and the repository exists.
|
|
||||||
failed
|
|
||||||
push leno
|
|
||||||
dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
|
|
||||||
fatal: Could not read from remote repository.
|
|
||||||
Please make sure you have the correct access rights
|
|
||||||
and the repository exists.
|
|
||||||
Pushing to leno failed.
|
|
||||||
(non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
|
|
||||||
failed
|
|
||||||
git-annex: sync: 2 failed
|
|
||||||
|
|
||||||
# End of transcript or log.
|
|
||||||
"""]]
|
|
|
@ -28,4 +28,7 @@ if [ -e "$base/bin/git-annex" ]; then
|
||||||
export GIT_ANNEX_APP_BASE
|
export GIT_ANNEX_APP_BASE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
GIT_ANNEX_PROGRAMPATH="$0"
|
||||||
|
export GIT_ANNEX_PROGRAMPATH
|
||||||
|
|
||||||
exec "$base/runshell" git-annex "$@"
|
exec "$base/runshell" git-annex "$@"
|
||||||
|
|
Loading…
Add table
Reference in a new issue