diff options
| author | Sean Whitton <spwhitton@spwhitton.name> | 2017-07-22 10:53:02 -0700 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2017-07-23 09:41:55 -0400 |
| commit | e10ca0800469bcae1d208d2d4540e44b21ee1edf (patch) | |
| tree | 047b69834ddc7f19e0a37527485085441f660dde /src | |
| parent | 20dc9f103776c77e15a8aa756d816a6f54e45c90 (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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Propellor/Property/Reboot.hs | 17 |
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 |
