Blob Blame Raw
From bc46ce8269a89a55b87a906226cfe8b54e9e5d11 Mon Sep 17 00:00:00 2001
From: Matthew Booth <mbooth@redhat.com>
Date: Tue, 27 Aug 2013 15:24:48 +0100
Subject: [PATCH 1/3] Grub: support the 'setkey' directive

---
 lenses/grub.aug            | 7 +++++++
 lenses/tests/test_grub.aug | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/lenses/grub.aug b/lenses/grub.aug
index 2c19ffa..d8fd5ed 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -132,6 +132,12 @@ module Grub =
           |[ spc . switch_arg /timeout|lines/ ])* .
           [ spc . key /console|serial|hercules/ ]* . eol ]
 
+    (* View: setkey *)
+    let setkey = [ command "setkey" "" .
+      ( spc . [ label "to" . store Rx.no_spaces ] .
+        spc . [ label "from" . store Rx.no_spaces ] )? .
+      eol ]
+
     (* View: menu_setting *)
     let menu_setting = kw_menu_arg "default"
                      | kw_menu_arg "fallback"
@@ -145,6 +151,7 @@ module Grub =
                      | password_arg
                      | color
 		     | device
+                     | setkey
 
     (* View: title *)
     let title = del /title[ \t=]+/ "title " . value_to_eol . eol
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index 3eba710..e4dc228 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -12,6 +12,8 @@ module Test_grub =
 device (hd0) HD(1,800,64000,9895c137-d4b2-4e3b-a93b-dc9ac4)
 password --md5 $1$M9NLj$p2gs87vwNv48BUu.wAfVw0
 default=0
+setkey
+setkey less backquote
 background 103332
 timeout=5
 splashimage=(hd0,0)/grub/splash.xpm.gz
@@ -54,6 +56,10 @@ title othermenu
     { "password" = "$1$M9NLj$p2gs87vwNv48BUu.wAfVw0"
         { "md5" } }
     { "default" = "0" }
+    { "setkey" }
+    { "setkey"
+        { "to" = "less" }
+        { "from" = "backquote" } }
     { "background" = "103332" }
     { "timeout" = "5" }
     { "splashimage" = "(hd0,0)/grub/splash.xpm.gz" }
-- 
1.8.3.1


From f55175ed0e17a5a4f50a32d9ad5cba5f486eb577 Mon Sep 17 00:00:00 2001
From: Matthew Booth <mbooth@redhat.com>
Date: Tue, 27 Aug 2013 15:24:49 +0100
Subject: [PATCH 2/3] Grub: NFC fix whitespace errors introduced by 4e09d15

Kill tabs!
---
 lenses/grub.aug            | 6 +++---
 lenses/tests/test_grub.aug | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lenses/grub.aug b/lenses/grub.aug
index d8fd5ed..a64a572 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -102,8 +102,8 @@ module Grub =
      *  This is a shell-only directive in upstream grub; the grub versions
      *  in at least Fedora/RHEL use this to find devices for UEFI boot *)
     let device =
-	  [ command "device" "" . Sep.space . store /\([A-Za-z0-9_.-]+\)/ . spc .
-		  [ label "file" . value_to_eol ] . Util.eol ]
+      [ command "device" "" . Sep.space . store /\([A-Za-z0-9_.-]+\)/ . spc .
+        [ label "file" . value_to_eol ] . Util.eol ]
 
     (* View: color *)
     let color =
@@ -150,7 +150,7 @@ module Grub =
                      | terminal
                      | password_arg
                      | color
-		     | device
+                     | device
                      | setkey
 
     (* View: title *)
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index e4dc228..87bb243 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -52,7 +52,7 @@ title othermenu
     { "#comment" = "initrd /initrd-version.img" }
     { "#comment" = "boot=/dev/sda" }
     { "device"   = "(hd0)"
-	    { "file" = "HD(1,800,64000,9895c137-d4b2-4e3b-a93b-dc9ac4)" } }
+        { "file" = "HD(1,800,64000,9895c137-d4b2-4e3b-a93b-dc9ac4)" } }
     { "password" = "$1$M9NLj$p2gs87vwNv48BUu.wAfVw0"
         { "md5" } }
     { "default" = "0" }
-- 
1.8.3.1


From e3f1c15155fba5c10e74b400f2b06c8a31372420 Mon Sep 17 00:00:00 2001
From: Matthew Booth <mbooth@redhat.com>
Date: Tue, 27 Aug 2013 15:24:50 +0100
Subject: [PATCH 3/3] Grub: support the 'lock' directive

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

diff --git a/lenses/grub.aug b/lenses/grub.aug
index a64a572..9f8d6af 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -216,6 +216,7 @@ module Grub =
         | configfile
         | module_line
         | map_line
+        | kw_pres "lock"
 
     (* View: boot *)
     let boot =
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index 87bb243..de6397d 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -38,6 +38,7 @@ title Fedora (2.6.24.3-34.fc8)
         initrd /initrd-2.6.24.3-34.fc8.img
         map (hd0) (hd1)
 title othermenu
+        lock
         configfile /boot/grub/othergrub.conf
 "
 
@@ -88,6 +89,7 @@ title othermenu
         { "initrd" = "/initrd-2.6.24.3-34.fc8.img" }
         { "map" { "from" = "(hd0)" } { "to" = "(hd1)" } } }
     { "title" = "othermenu"
+        { "lock" }
         { "configfile" = "/boot/grub/othergrub.conf" } }
 
 
-- 
1.8.3.1