[augeas-devel] [PATCH 5/6] Grub: parse arguments to chainloader command

David Lutterkort lutter at redhat.com
Thu Apr 9 23:17:08 UTC 2009


---
 lenses/grub.aug            |    6 +++++-
 lenses/tests/test_grub.aug |    3 +++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/lenses/grub.aug b/lenses/grub.aug
index 8d3e5aa..9eaa8e0 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -84,11 +84,15 @@ module Grub =
              |[switch "no-mem-option"]))* .
           spc . kernel_args ]
 
+    let chainloader =
+      [ command "chainloader" "\t" .
+          [ spc . switch "force" ]? . spc . store Rx.no_spaces . eol ]
+
     let boot_setting = kw_boot_arg "root"
                      | kernel
                      | kw_boot_arg "initrd"
                      | kw_boot_arg "rootnoverify"
-                     | kw_boot_arg "chainloader"
+                     | chainloader
                      | kw_boot_arg "uuid"
                      | kw_pres "quiet"  (* Seems to be a Ubuntu extension *)
                      | kw_pres "savedefault"
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index 936b0e8..45b5d6f 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -131,6 +131,9 @@ initrd\t\t/boot/initrd.img-2.6.18-6-vserver-686
         { "serial" }
         { "console" } }
 
+  test Grub.boot_setting get
+      "chainloader --force +1 \n" = { "chainloader" = "+1" { "force" } }
+
 (* Local Variables: *)
 (* mode: caml       *)
 (* End:             *)
-- 
1.6.0.6




More information about the augeas-devel mailing list