diff options
| author | Joey Hess <joey@kitenet.net> | 2014-03-30 01:13:53 -0400 |
|---|---|---|
| committer | Joey Hess <joey@kitenet.net> | 2014-03-30 01:13:53 -0400 |
| commit | 8684db8bbf886d5dc41523e2b79df54aa1702cf8 (patch) | |
| tree | 168828f2920a74c52e6ec747970f2c603ce39701 /Property | |
| parent | e812acce3e46b7dd259783fc28c2c65d4ad7a228 (diff) | |
run apt noninteractively
Diffstat (limited to 'Property')
| -rw-r--r-- | Property/Apt.hs | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/Property/Apt.hs b/Property/Apt.hs index 98dc3541..c326170c 100644 --- a/Property/Apt.hs +++ b/Property/Apt.hs @@ -47,24 +47,31 @@ stdSourcesList = setSourcesList . debCdn setSourcesList :: [Line] -> Property setSourcesList ls = fileHasContent sourcesList ls `onChange` update +runApt :: [CommandParam] -> Property +runApt ps = cmdProperty' "apt-get" ps env + where + env = + [ ("DEBIAN_FRONTEND", "noninteractive") + , ("APT_LISTCHANGES_FRONTEND", "none") + ] + update :: Property -update = cmdProperty "apt-get" [Param "update"] +update = runApt [Param "update"] upgrade :: Property -upgrade = cmdProperty "apt-get" [Params "-y safe-upgrade"] +upgrade = runApt [Params "-y safe-upgrade"] type Package = String installed :: [Package] -> Property installed ps = check (isInstallable ps) go where - go = cmdProperty "apt-get" $ - [Param "-y", Param "install"] ++ map Param ps + go = runApt $ [Param "-y", Param "install"] ++ map Param ps removed :: [Package] -> Property removed ps = check (or <$> isInstalled ps) go where - go = cmdProperty "apt-get" $ [Param "-y", Param "remove"] ++ map Param ps + go = runApt $ [Param "-y", Param "remove"] ++ map Param ps isInstallable :: [Package] -> IO Bool isInstallable ps = do @@ -85,4 +92,4 @@ isInstalled ps = catMaybes . map parse . lines | otherwise = Nothing autoRemove :: Property -autoRemove = cmdProperty "apt-get" [Param "-y", Param "autoremove"] +autoRemove = runApt [Param "-y", Param "autoremove"] |
