summaryrefslogtreecommitdiff
path: root/src/Propellor/Shim.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Propellor/Shim.hs')
-rw-r--r--src/Propellor/Shim.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Propellor/Shim.hs b/src/Propellor/Shim.hs
index 6262ea5c..a97bf5c8 100644
--- a/src/Propellor/Shim.hs
+++ b/src/Propellor/Shim.hs
@@ -21,8 +21,8 @@ import System.Posix.Files
--
-- Propellor may be running from an existing shim, in which case it's
-- simply reused.
-setup :: FilePath -> FilePath -> IO FilePath
-setup propellorbin dest = checkAlreadyShimmed propellorbin $ do
+setup :: FilePath -> Maybe FilePath -> FilePath -> IO FilePath
+setup propellorbin propellorbinpath dest = checkAlreadyShimmed propellorbin $ do
createDirectoryIfMissing True dest
libs <- parseLdd <$> readProcess "ldd" [propellorbin]
@@ -44,7 +44,7 @@ setup propellorbin dest = checkAlreadyShimmed propellorbin $ do
, "GCONV_PATH=" ++ shellEscape gconvdir
, "export GCONV_PATH"
, "exec " ++ unwords (map shellEscape $ linker : linkerparams) ++
- " " ++ shellEscape propellorbin ++ " \"$@\""
+ " " ++ shellEscape (fromMaybe propellorbin propellorbinpath) ++ " \"$@\""
]
modifyFileMode shim (addModes executeModes)
return shim