[augeas-devel] [PATCH 1/3] Grub: support empty kernel parameters, Suse incl.s

fnerdwq at googlemail.com fnerdwq at googlemail.com
Fri Feb 26 14:10:48 UTC 2010


From: Frederik Wagner <wagner at lrz.de>

* lenses/grub.aug:
  - added support for kernel parameters of the form "parameter="
    w/o given value
  - included /boot/grub/menu.lst
  - changed default for delimiter in kw_menu_arg to " "
* lenses/tests/test_grub.aug: changes corresponding to lens change
---
 lenses/grub.aug            |   10 ++++++----
 lenses/tests/test_grub.aug |    6 ++++--
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/lenses/grub.aug b/lenses/grub.aug
index 2aa1c12..97b0fcf 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -23,7 +23,7 @@ module Grub =
       [ command kw indent . value_sep dflt_sep . value_to_eol . eol ]
 
     let kw_boot_arg (kw:string) = kw_arg kw "\t" " "
-    let kw_menu_arg (kw:string) = kw_arg kw "" "="
+    let kw_menu_arg (kw:string) = kw_arg kw "" " "
     let password_arg = [ key "password" .
       (spc . [ switch "md5" ])? .
       spc . store (/[^ \t\n]+/ - "--md5") .
@@ -61,6 +61,7 @@ module Grub =
                      | kw_pres "hiddenmenu"
                      | kw_menu_arg "timeout"
                      | kw_menu_arg "splashimage"
+                     | kw_menu_arg "gfxmenu"
                      | serial
                      | terminal
                      | password_arg
@@ -70,9 +71,9 @@ module Grub =
 
     (* Parse the file name and args on a kernel or module line *)
     let kernel_args =
-      let arg = Rx.word - /type|no-mem-option/ in
+      let arg = Rx.word - /type|no-mem-option/  in
       store /\/[^ \t\n]*/ .
-            (spc . [ key arg . (eq . store Rx.no_spaces)?])* . eol
+            (spc . [ key arg . (eq. store /([^ \t\n])*/)?])* . eol 
 
     let module_line =
       [ command "module" "\t" . spc . kernel_args ]
@@ -147,4 +148,5 @@ module Grub =
                     . del debian_footer debian_footer ]
 
     let lns = (comment | empty | menu_setting | boot | debian)*
-    let xfm = transform lns (incl "/etc/grub.conf")
+    let xfm = transform lns (incl "/boot/grub/menu.lst" 
+                           . incl "/etc/grub.conf")
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index 00d3e01..36f9da7 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -13,10 +13,11 @@ password --md5 $1$M9NLj$p2gs87vwNv48BUu.wAfVw0
 default=0
 timeout=5
 splashimage=(hd0,0)/grub/splash.xpm.gz
+gfxmenu=(hd0,0)/boot/message
 hiddenmenu
 title Fedora (2.6.24.4-64.fc8)
         root (hd0,0)
-        kernel /vmlinuz-2.6.24.4-64.fc8 ro root=/dev/vg00/lv00
+        kernel /vmlinuz-2.6.24.4-64.fc8 ro root=/dev/vg00/lv00 crashkernel=
         initrd /initrd-2.6.24.4-64.fc8.img
 title Fedora (2.6.24.3-50.fc8)
         root (hd0,0)
@@ -48,11 +49,12 @@ title Fedora (2.6.24.3-34.fc8)
     { "default" = "0" }
     { "timeout" = "5" }
     { "splashimage" = "(hd0,0)/grub/splash.xpm.gz" }
+    { "gfxmenu" = "(hd0,0)/boot/message" }
     { "hiddenmenu" }
     { "title" = "Fedora (2.6.24.4-64.fc8)"
         { "root" = "(hd0,0)" }
         { "kernel" = "/vmlinuz-2.6.24.4-64.fc8"
-            { "ro" }  { "root" = "/dev/vg00/lv00" } }
+            { "ro" }  { "root" = "/dev/vg00/lv00" } {"crashkernel" = ""} }
         { "initrd" = "/initrd-2.6.24.4-64.fc8.img" } }
     { "title" = "Fedora (2.6.24.3-50.fc8)"
         { "root" = "(hd0,0)" }
-- 
1.6.0.2




More information about the augeas-devel mailing list