diff options
-rw-r--r-- | Build/LinuxMkLibs.hs | 10 | ||||
-rw-r--r-- | debian/changelog | 1 | ||||
-rw-r--r-- | doc/bugs/android_cannot_get_from_5.20131221.mdwn | 4 |
3 files changed, 15 insertions, 0 deletions
diff --git a/Build/LinuxMkLibs.hs b/Build/LinuxMkLibs.hs index 0d47c4cb3..152c6b28d 100644 --- a/Build/LinuxMkLibs.hs +++ b/Build/LinuxMkLibs.hs @@ -36,6 +36,7 @@ main = getArgs >>= go mklibs :: FilePath -> IO () mklibs top = do fs <- dirContentsRecursive top + mapM_ symToHardLink fs exes <- filterM checkExe fs libs <- parseLdd <$> readProcess "ldd" exes glibclibs <- glibcLibs @@ -91,6 +92,15 @@ installLinkerShim top exe = do shimdir = top </> "shimmed" </> base exedest = shimdir </> base +{- Converting symlinks to hard links simplifies the binary shimming + - process. -} +symToHardLink :: FilePath -> IO () +symToHardLink f = whenM (isSymbolicLink <$> getSymbolicLinkStatus f) $ do + l <- readSymbolicLink f + let absl = absPathFrom (parentDir f) l + nukeFile f + createLink absl f + installFile :: FilePath -> FilePath -> IO () installFile top f = do createDirectoryIfMissing True destdir diff --git a/debian/changelog b/debian/changelog index 74a5c8db3..6e0ae120a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ git-annex (5.20131222) UNRELEASED; urgency=medium * Add tasty to build-depends, so that test suite builds again. (tasty was stuck in incoming.) * Fix typo in test suite. + * Fix bug in Linux standalone build's shimming that broke git-annex-shell. -- Joey Hess <joeyh@debian.org> Tue, 24 Dec 2013 13:54:32 -0400 diff --git a/doc/bugs/android_cannot_get_from_5.20131221.mdwn b/doc/bugs/android_cannot_get_from_5.20131221.mdwn index 244c93b05..72335f5f2 100644 --- a/doc/bugs/android_cannot_get_from_5.20131221.mdwn +++ b/doc/bugs/android_cannot_get_from_5.20131221.mdwn @@ -26,3 +26,7 @@ linux standalone 5.20131213 and 5.20131221 are both able to `get` from linux sta - Remote was set up by the Assistant > [[clacke]] + +> Bug is in the shimming used for the linux standalone builds +> (not android), which causes git-annex-shell to run git-annex. +> [[fixed|done]] --[[Joey]] |