From bc46ce8269a89a55b87a906226cfe8b54e9e5d11 Mon Sep 17 00:00:00 2001 From: Matthew Booth 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 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 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