From 12548bae3d8feecce6a322162d91b827289ae824 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 5 Dec 2015 17:52:43 -0400 Subject: UncheckedProperty for cmdProperty et al * Properties that run an arbitrary command, such as cmdProperty and scriptProperty are converted to use UncheckedProperty, since they cannot tell on their own if the command truely made a change or not. (API Change) Transition guide: - When GHC complains about an UncheckedProperty, add: `assume` MadeChange - Since these properties used to always return MadeChange, that change is always safe to make. - Or, if you know that the command should modifiy a file, use: `changesFile` filename * A few properties have had their Result improved, for example Apt.buldDep and Apt.autoRemove now check if a change was made or not. --- src/Propellor/Property/Grub.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/Propellor/Property/Grub.hs') diff --git a/src/Propellor/Property/Grub.hs b/src/Propellor/Property/Grub.hs index ea54295b..024a2827 100644 --- a/src/Propellor/Property/Grub.hs +++ b/src/Propellor/Property/Grub.hs @@ -27,6 +27,7 @@ installed bios = installed' bios `before` mkConfig -- -- installed. mkConfig :: Property NoInfo mkConfig = cmdProperty "update-grub" [] + `assume` MadeChange -- | Installs grub; does not run update-grub. installed' :: BIOS -> Property NoInfo @@ -50,6 +51,7 @@ installed' bios = Apt.installed [pkg] `describe` "grub package installed" -- onChange after OS.cleanInstallOnce. boots :: OSDevice -> Property NoInfo boots dev = cmdProperty "grub-install" [dev] + `assume` MadeChange `describe` ("grub boots " ++ dev) -- | Use PV-grub chaining to boot @@ -75,8 +77,9 @@ chainPVGrub rootdev bootdev timeout = combineProperties desc , "/boot/load.cf" `File.hasContent` [ "configfile (" ++ bootdev ++ ")/boot/grub/grub.cfg" ] , installed Xen - , flagFile (scriptProperty ["grub-mkimage --prefix '(" ++ bootdev ++ ")/boot/grub' -c /boot/load.cf -O x86_64-xen /usr/lib/grub/x86_64-xen/*.mod > /boot/xen-shim"]) "/boot/xen-shim" - `describe` "/boot-xen-shim" + , flip flagFile "/boot/xen-shim" $ scriptProperty ["grub-mkimage --prefix '(" ++ bootdev ++ ")/boot/grub' -c /boot/load.cf -O x86_64-xen /usr/lib/grub/x86_64-xen/*.mod > /boot/xen-shim"] + `assume` MadeChange + `describe` "/boot-xen-shim" ] where desc = "chain PV-grub" -- cgit v1.2.3