summaryrefslogtreecommitdiff
path: root/src/Propellor/Shim.hs
diff options
context:
space:
mode:
authorJoey Hess2015-02-16 19:01:32 -0400
committerJoey Hess2015-02-16 19:01:32 -0400
commitbe1a3a7c89ca8ea8aecb9a9748380ef840598171 (patch)
tree05225c6799d2f90d515ca6acca8404599eca1dee /src/Propellor/Shim.hs
parent90643c1d986438d039b14be90bc994b6ae9cf001 (diff)
When running shimmed (eg in a docker container), improve process name visible in ps.
Diffstat (limited to 'src/Propellor/Shim.hs')
-rw-r--r--src/Propellor/Shim.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Propellor/Shim.hs b/src/Propellor/Shim.hs
index da4c96eb..e1ea2825 100644
--- a/src/Propellor/Shim.hs
+++ b/src/Propellor/Shim.hs
@@ -33,6 +33,9 @@ setup propellorbin propellorbinpath dest = checkAlreadyShimmed propellorbin $ do
let linker = (dest ++) $
fromMaybe (error "cannot find ld-linux linker") $
headMaybe $ filter ("ld-linux" `isInfixOf`) libs'
+ let linkersym = takeDirectory linker </> takeFileName propellorbin
+ createSymbolicLink linkersym (takeFileName linker)
+
let gconvdir = (dest ++) $ takeDirectory $
fromMaybe (error "cannot find gconv directory") $
headMaybe $ filter ("/gconv/" `isInfixOf`) glibclibs
@@ -42,7 +45,7 @@ setup propellorbin propellorbinpath dest = checkAlreadyShimmed propellorbin $ do
[ shebang
, "GCONV_PATH=" ++ shellEscape gconvdir
, "export GCONV_PATH"
- , "exec " ++ unwords (map shellEscape $ linker : linkerparams) ++
+ , "exec " ++ unwords (map shellEscape $ linkersym : linkerparams) ++
" " ++ shellEscape (fromMaybe propellorbin propellorbinpath) ++ " \"$@\""
]
modifyFileMode shim (addModes executeModes)