summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Propellor/CmdLine.hs2
-rw-r--r--src/Propellor/Server.hs10
2 files changed, 7 insertions, 5 deletions
diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs
index ec2ca7ed..99826c3a 100644
--- a/src/Propellor/CmdLine.hs
+++ b/src/Propellor/CmdLine.hs
@@ -176,7 +176,7 @@ spin hn hst = do
updatecmd = mkcmd
[ "if [ ! -d " ++ localdir ++ " ]"
, "then (" ++ intercalate " && "
- [ "apt-get update"
+ [ "apt-get-fail update"
, "apt-get --no-install-recommends --no-upgrade -y install git make"
, "echo " ++ toMarked statusMarker (show NeedGitClone)
] ++ ") || echo " ++ toMarked statusMarker (show NeedPrecompiled)
diff --git a/src/Propellor/Server.hs b/src/Propellor/Server.hs
index 786d1211..a8cd6a00 100644
--- a/src/Propellor/Server.hs
+++ b/src/Propellor/Server.hs
@@ -8,7 +8,9 @@ import Data.List
import System.Exit
import System.PosixCompat
import System.Posix.IO
+import System.Posix.Directory
import Control.Concurrent.Async
+import Control.Exception (bracket)
import qualified Data.ByteString as B
import Propellor
@@ -131,15 +133,15 @@ sendPrecompiled hn = void $ actionMessage ("Uploading locally compiled propellor
let shimdir = "propellor"
let me = localdir </> "propellor"
void $ Shim.setup me shimdir
- withTmpFile "propellor.tar" $ \tarball -> allM id
+ withTmpFile "propellor.tar" $ \tarball _ -> allM id
[ boolSystem "strip" [File me]
- , boolSystem "tar" [Param "cf", File tmp, File shimdir]
- , boolSystem "scp" $ cacheparams ++ [File tarball, Param ("root@"++hn++":"++remotetarball)
+ , boolSystem "tar" [Param "cf", File tarball, File shimdir]
+ , boolSystem "scp" $ cacheparams ++ [File tarball, Param ("root@"++hn++":"++remotetarball)]
, boolSystem "ssh" $ cacheparams ++ [Param ("root@"++hn), Param unpackcmd]
]
where
remotetarball = "/usr/local/propellor.tar"
- unpackcmd = shellSwap $ intercalate " && "
+ unpackcmd = shellWrap $ intercalate " && "
[ "cd " ++ takeDirectory remotetarball
, "tar xf " ++ remotetarball
, "rm -f " ++ remotetarball