summaryrefslogtreecommitdiff
path: root/Propellor/Property/Docker/Shim.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Propellor/Property/Docker/Shim.hs')
-rw-r--r--Propellor/Property/Docker/Shim.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/Propellor/Property/Docker/Shim.hs b/Propellor/Property/Docker/Shim.hs
index a210e162..7d4f56f6 100644
--- a/Propellor/Property/Docker/Shim.hs
+++ b/Propellor/Property/Docker/Shim.hs
@@ -29,10 +29,15 @@ setup propellorbin dest = do
let linker = (dest ++) $
fromMaybe (error "cannot find ld-linux linker") $
headMaybe $ filter ("ld-linux" `isInfixOf`) libs'
+ let gconvdir = (dest ++) $ parentDir $
+ fromMaybe (error "cannot find gconv directory") $
+ headMaybe $ filter ("/gconv/" `isInfixOf`) glibclibs
let linkerparams = ["--library-path", intercalate ":" libdirs ]
let shim = file propellorbin dest
writeFile shim $ unlines
[ "#!/bin/sh"
+ , "set GCONV_PATH=" ++ shellEscape gconvdir
+ , "export GCONV_PATH"
, "exec " ++ unwords (map shellEscape $ linker : linkerparams) ++
" " ++ shellEscape propellorbin ++ " \"$@\""
]