avoid removing whole localdir every time the precompiled tarball is uploaded
There's some state in there.. Moved it to a shim subdir, which can be deleted and the tarball unpacked to recreate it.
This commit is contained in:
parent
001c193a43
commit
40bec41f56
|
@ -217,7 +217,7 @@ sendPrecompiled hn = void $ actionMessage ("Uploading locally compiled propellor
|
||||||
where
|
where
|
||||||
go tmpdir = do
|
go tmpdir = do
|
||||||
cacheparams <- sshCachingParams hn
|
cacheparams <- sshCachingParams hn
|
||||||
let shimdir = takeFileName localdir
|
let shimdir = takeFileName localdir </> "shim"
|
||||||
createDirectoryIfMissing True (tmpdir </> shimdir)
|
createDirectoryIfMissing True (tmpdir </> shimdir)
|
||||||
changeWorkingDirectory (tmpdir </> shimdir)
|
changeWorkingDirectory (tmpdir </> shimdir)
|
||||||
me <- readSymbolicLink "/proc/self/exe"
|
me <- readSymbolicLink "/proc/self/exe"
|
||||||
|
@ -237,9 +237,10 @@ sendPrecompiled hn = void $ actionMessage ("Uploading locally compiled propellor
|
||||||
|
|
||||||
unpackcmd = shellWrap $ intercalate " && "
|
unpackcmd = shellWrap $ intercalate " && "
|
||||||
[ "cd " ++ takeDirectory remotetarball
|
[ "cd " ++ takeDirectory remotetarball
|
||||||
, "rm -rf " ++ localdir
|
, "rm -rf " ++ localdir </> "shim"
|
||||||
, "tar xzf " ++ remotetarball
|
, "tar xzf " ++ remotetarball
|
||||||
, "rm -f " ++ remotetarball
|
, "rm -f " ++ remotetarball
|
||||||
|
, "ln -sf shim/propellor propellor/propellor"
|
||||||
]
|
]
|
||||||
|
|
||||||
-- Shim for git push over the propellor ssh channel.
|
-- Shim for git push over the propellor ssh channel.
|
||||||
|
|
Loading…
Reference in New Issue