From 06975ec5e1b9e7d6018074aad55aa8b56cd64aba Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 8 Dec 2014 01:12:55 -0400 Subject: another place to use toResult --- src/Propellor/Property/Debootstrap.hs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Propellor/Property/Debootstrap.hs b/src/Propellor/Property/Debootstrap.hs index 0181d58a..0a7308ff 100644 --- a/src/Propellor/Property/Debootstrap.hs +++ b/src/Propellor/Property/Debootstrap.hs @@ -148,18 +148,16 @@ sourceInstall = property "debootstrap installed from source" (liftIO sourceInsta `requires` arInstalled perlInstalled :: Property -perlInstalled = check (not <$> inPath "perl") $ property "perl installed" $ do - v <- liftIO $ firstM id +perlInstalled = check (not <$> inPath "perl") $ property "perl installed" $ + liftIO $ toResult . isJust <$> firstM id [ yumInstall "perl" ] - if isJust v then return MadeChange else return FailedChange arInstalled :: Property -arInstalled = check (not <$> inPath "ar") $ property "ar installed" $ do - v <- liftIO $ firstM id +arInstalled = check (not <$> inPath "ar") $ property "ar installed" $ + liftIO $ toResult . isJust <$> firstM id [ yumInstall "binutils" ] - if isJust v then return MadeChange else return FailedChange yumInstall :: String -> IO Bool yumInstall p = boolSystem "yum" [Param "-y", Param "install", Param p] -- cgit v1.2.3 From 834a05e25a5844ff3aec4e4acecf00cc762d6545 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 8 Dec 2014 01:22:29 -0400 Subject: refactor --- src/Propellor/Property/Service.hs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/Propellor/Property/Service.hs b/src/Propellor/Property/Service.hs index 14e769d0..93e959c6 100644 --- a/src/Propellor/Property/Service.hs +++ b/src/Propellor/Property/Service.hs @@ -13,19 +13,16 @@ type ServiceName = String -- we can do is try to start the service, and if it fails, assume -- this means it's already running. running :: ServiceName -> Property -running svc = property ("running " ++ svc) $ do - void $ ensureProperty $ - scriptProperty ["service " ++ shellEscape svc ++ " start >/dev/null 2>&1 || true"] - return NoChange +running = signaled "start" "running" restarted :: ServiceName -> Property -restarted svc = property ("restarted " ++ svc) $ do - void $ ensureProperty $ - scriptProperty ["service " ++ shellEscape svc ++ " restart >/dev/null 2>&1 || true"] - return NoChange +restarted = signaled "restart" "restarted" reloaded :: ServiceName -> Property -reloaded svc = property ("reloaded " ++ svc) $ do +reloaded = signaled "reload" "reloaded" + +signaled :: String -> Desc -> ServiceName -> Property +signaled cmd desc svc = property (desc ++ " " ++ svc) $ do void $ ensureProperty $ - scriptProperty ["service " ++ shellEscape svc ++ " reload >/dev/null 2>&1 || true"] + scriptProperty ["service " ++ shellEscape svc ++ " " ++ cmd ++ " >/dev/null 2>&1 || true"] return NoChange -- cgit v1.2.3