reverse symlinks

This commit is contained in:
Joey Hess 2012-12-09 12:35:50 -04:00
parent 65a1820f9b
commit 8e26b2f941

View file

@ -42,16 +42,16 @@ installLibs appbase libmap = do
(needlibs, libmap') <- otool appbase libmap (needlibs, libmap') <- otool appbase libmap
libs <- forM needlibs $ \lib -> do libs <- forM needlibs $ \lib -> do
let shortlib = fromMaybe (error "internal") (M.lookup lib libmap') let shortlib = fromMaybe (error "internal") (M.lookup lib libmap')
let dest = appbase </> shortlib let dest = appbase </> takeFileName lib
let symdest = appbase </> takeFileName lib let symdest = appbase </> shortlib
ifM (doesFileExist dest) ifM (doesFileExist dest)
( return Nothing ( return Nothing
, do , do
createDirectoryIfMissing True appbase createDirectoryIfMissing True appbase
putStrLn $ "installing " ++ lib ++ " as " ++ dest putStrLn $ "installing " ++ lib ++ " as " ++ shortlib
_ <- boolSystem "cp" [File lib, File dest] _ <- boolSystem "cp" [File lib, File dest]
_ <- boolSystem "chmod" [Param "644", File dest] _ <- boolSystem "chmod" [Param "644", File dest]
_ <- boolSystem "ln" [Param "-s", File shortlib, File symdest] _ <- boolSystem "ln" [Param "-s", File (takeFileName lib), File symdest]
return $ Just appbase return $ Just appbase
) )
return (catMaybes libs, libmap') return (catMaybes libs, libmap')