summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton2017-07-22 10:53:02 -0700
committerJoey Hess2017-07-23 09:41:55 -0400
commite10ca0800469bcae1d208d2d4540e44b21ee1edf (patch)
tree047b69834ddc7f19e0a37527485085441f660dde
parent20dc9f103776c77e15a8aa756d816a6f54e45c90 (diff)
avoid one failure of Reboot.toKernelNewerThan when /boot not mounted
If the running kernel is new enough, there is no need to look at the kernels installed on the system.
-rw-r--r--src/Propellor/Property/Reboot.hs17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/Propellor/Property/Reboot.hs b/src/Propellor/Property/Reboot.hs
index 3781cd7b..909d87fb 100644
--- a/src/Propellor/Property/Reboot.hs
+++ b/src/Propellor/Property/Reboot.hs
@@ -78,15 +78,16 @@ toKernelNewerThan ver =
property' ("reboot to kernel newer than " ++ ver) $ \w -> do
wantV <- tryReadVersion ver
runningV <- tryReadVersion =<< liftIO runningKernelVersion
- installedV <- maximum <$>
- (mapM tryReadVersion =<< liftIO installedKernelVersions)
if runningV >= wantV then noChange
- else if installedV >= wantV
- then ensureProperty w now
- else errorMessage $
- "kernel newer than "
- ++ ver
- ++ " not installed"
+ else maximum <$> installedVs >>= \installedV ->
+ if installedV >= wantV
+ then ensureProperty w now
+ else errorMessage $
+ "kernel newer than "
+ ++ ver
+ ++ " not installed"
+ where
+ installedVs = mapM tryReadVersion =<< liftIO installedKernelVersions
runningInstalledKernel :: IO Bool
runningInstalledKernel = do