[grubby] Fix extlinux default support

Lubomir Rintel lkundrak at fedoraproject.org
Mon Jan 20 11:39:33 UTC 2014


commit dc1eb4a29aeae34ab683c7ec5c635f92ac61a33a
Author: Lubomir Rintel <lkundrak at v3.sk>
Date:   Mon Jan 20 12:37:56 2014 +0100

    Fix extlinux default support
    
    *proven packager hat on*
    Package maintainer unresponsive. All patches submitted upstream, no response
    either.

 0001-extlinux-Understand-default-properly.patch    |   81 ++
 0002-extlinux-Add-test-suite.patch                 |  891 ++++++++++++++++++++
 ...crash-with-kernel-line-without-being-prec.patch |   36 +
 0004-grub-Remove-a-redundant-test.patch            |   26 +
 grubby.spec                                        |   14 +-
 5 files changed, 1047 insertions(+), 1 deletions(-)
---
diff --git a/0001-extlinux-Understand-default-properly.patch b/0001-extlinux-Understand-default-properly.patch
new file mode 100644
index 0000000..e91049f
--- /dev/null
+++ b/0001-extlinux-Understand-default-properly.patch
@@ -0,0 +1,81 @@
+From 392ee59b91c19c05fc91c9ed92b910d2cf1ed0a8 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Wed, 27 Nov 2013 16:59:50 +0100
+Subject: [PATCH 1/4] extlinux: Understand "default" properly
+
+The configuration looks like the following:
+
+  default Fedora (3.11.6-301.fc20.i686+PAE) 20 (Heisenbug)
+
+  title Fedora (3.11.6-301.fc20.i686+PAE) 20 (Heisenbug)
+  ...
+
+Grubby skips over the default clause as it has more than one element. And even
+if it did not, it would not match it against the title, since it handles titles
+specially, concatenating the title, but not the default clause.
+
+This commit adds special handling for extlinux, which causes it to parse
+default and title in the same way.
+
+Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
+---
+ grubby.c | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/grubby.c b/grubby.c
+index 3de53b3..7010526 100644
+--- a/grubby.c
++++ b/grubby.c
+@@ -151,6 +151,7 @@ struct configFileInfo {
+     int defaultIsVariable;
+     int defaultSupportSaved;
+     int defaultIsSaved;
++    int defaultIsUnquoted;
+     enum lineType_e entryStart;
+     enum lineType_e entryEnd;
+     int needsBootPrefix;
+@@ -622,6 +623,7 @@ struct configFileInfo extlinuxConfigType = {
+     .needsBootPrefix = 1,
+     .maxTitleLength = 255,
+     .mbAllowExtraInitRds = 1,
++    .defaultIsUnquoted = 1,
+ };
+ 
+ struct grubConfig {
+@@ -1166,9 +1168,6 @@ static struct grubConfig * readConfig(const char * inName,
+ 		cfg->flags &= ~GRUB_CONFIG_NO_DEFAULT;
+ 		defaultLine = line;
+ 	    }
+-	} else if (line->type == LT_DEFAULT && line->numElements == 2) {
+-	    cfg->flags &= ~GRUB_CONFIG_NO_DEFAULT;
+-	    defaultLine = line;
+ 
+         } else if (iskernel(line->type)) {
+ 	    /* if by some freak chance this is multiboot and the "module"
+@@ -1201,8 +1200,9 @@ static struct grubConfig * readConfig(const char * inName,
+ 	    cfg->fallbackImage = strtol(line->elements[1].item, &end, 10);
+ 	    if (*end) cfg->fallbackImage = -1;
+ 
+-	} else if (line->type == LT_TITLE && line->numElements > 1) {
+-	    /* make the title a single argument (undoing our parsing) */
++	} else if ((line->type == LT_DEFAULT && cfi->defaultIsUnquoted) ||
++                (line->type == LT_TITLE && line->numElements > 1)) {
++	    /* make the title/default a single argument (undoing our parsing) */
+ 	    len = 0;
+ 	    for (int i = 1; i < line->numElements; i++) {
+ 		len += strlen(line->elements[i].item);
+@@ -1309,6 +1309,11 @@ static struct grubConfig * readConfig(const char * inName,
+ 	    }
+ 	}
+ 
++	if (line->type == LT_DEFAULT && line->numElements == 2) {
++	    cfg->flags &= ~GRUB_CONFIG_NO_DEFAULT;
++	    defaultLine = line;
++	}
++
+ 	/* If we find a generic config option which should live at the
+ 	   top of the file, move it there. Old versions of grubby were
+ 	   probably responsible for putting new images in the wrong 
+-- 
+1.8.3.1
+
diff --git a/0002-extlinux-Add-test-suite.patch b/0002-extlinux-Add-test-suite.patch
new file mode 100644
index 0000000..5424f8c
--- /dev/null
+++ b/0002-extlinux-Add-test-suite.patch
@@ -0,0 +1,891 @@
+From c478df5e9914fc2f7fda355b91bf816ce0bb289a Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Wed, 27 Nov 2013 16:59:49 +0100
+Subject: [PATCH 2/4] extlinux: Add test suite
+
+Strongly inspired aby GRUB test suite. Note that this does not pass currently,
+since the extlinux default line gets eaten (rhbz#964178). A fix will follow.
+
+Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
+---
+ test.sh                          | 58 +++++++++++++++++++++++++++++++++++++++-
+ test/extlinux.1                  | 17 ++++++++++++
+ test/extlinux.2                  | 21 +++++++++++++++
+ test/extlinux.3                  | 15 +++++++++++
+ test/extlinux.4                  | 32 ++++++++++++++++++++++
+ test/results/add/extlinux1.1     | 20 ++++++++++++++
+ test/results/add/extlinux1.2     | 20 ++++++++++++++
+ test/results/add/extlinux1.3     | 21 +++++++++++++++
+ test/results/add/extlinux1.4     | 21 +++++++++++++++
+ test/results/add/extlinux2.1     | 21 +++++++++++++++
+ test/results/args/extlinux1.1    | 20 ++++++++++++++
+ test/results/args/extlinux1.2    | 20 ++++++++++++++
+ test/results/default/extlinux1.1 | 19 +++++++++++++
+ test/results/default/extlinux1.2 | 19 +++++++++++++
+ test/results/default/extlinux3.1 | 16 +++++++++++
+ test/results/default/extlinux3.2 | 15 +++++++++++
+ test/results/remove/extlinux3.1  | 10 +++++++
+ test/results/remove/extlinux4.1  | 27 +++++++++++++++++++
+ test/results/updargs/extlinux1.1 | 17 ++++++++++++
+ test/results/updargs/extlinux1.2 | 18 +++++++++++++
+ test/results/updargs/extlinux3.1 | 15 +++++++++++
+ test/results/updargs/extlinux3.2 | 15 +++++++++++
+ test/results/updargs/extlinux3.4 | 15 +++++++++++
+ test/results/updargs/extlinux3.7 | 13 +++++++++
+ test/results/updargs/extlinux4.2 | 32 ++++++++++++++++++++++
+ test/results/updargs/extlinux4.3 | 32 ++++++++++++++++++++++
+ test/results/updargs/extlinux4.4 | 32 ++++++++++++++++++++++
+ test/results/updargs/extlinux4.5 | 33 +++++++++++++++++++++++
+ 28 files changed, 613 insertions(+), 1 deletion(-)
+ create mode 100644 test/extlinux.1
+ create mode 100644 test/extlinux.2
+ create mode 100644 test/extlinux.3
+ create mode 100644 test/extlinux.4
+ create mode 100644 test/results/add/extlinux1.1
+ create mode 100644 test/results/add/extlinux1.2
+ create mode 100644 test/results/add/extlinux1.3
+ create mode 100644 test/results/add/extlinux1.4
+ create mode 100644 test/results/add/extlinux2.1
+ create mode 100644 test/results/args/extlinux1.1
+ create mode 100644 test/results/args/extlinux1.2
+ create mode 100644 test/results/default/extlinux1.1
+ create mode 100644 test/results/default/extlinux1.2
+ create mode 100644 test/results/default/extlinux3.1
+ create mode 100644 test/results/default/extlinux3.2
+ create mode 100644 test/results/remove/extlinux3.1
+ create mode 100644 test/results/remove/extlinux4.1
+ create mode 100644 test/results/updargs/extlinux1.1
+ create mode 100644 test/results/updargs/extlinux1.2
+ create mode 100644 test/results/updargs/extlinux3.1
+ create mode 100644 test/results/updargs/extlinux3.2
+ create mode 100644 test/results/updargs/extlinux3.4
+ create mode 100644 test/results/updargs/extlinux3.7
+ create mode 100644 test/results/updargs/extlinux4.2
+ create mode 100644 test/results/updargs/extlinux4.3
+ create mode 100644 test/results/updargs/extlinux4.4
+ create mode 100644 test/results/updargs/extlinux4.5
+
+diff --git a/test.sh b/test.sh
+index 17b40fe..4dc4dfb 100755
+--- a/test.sh
++++ b/test.sh
+@@ -158,7 +158,7 @@ commandTest() {
+ 
+ # generate convenience functions
+ for b in $(./grubby --help | \
+-	sed -n 's/^.*--\([^ ]*\) *configure \1 bootloader$/\1/p'); do
++	sed -n 's/^.*--\([^ ]*\) *configure \1 bootloader.*/\1/p'); do
+     eval "${b}Test() { [[ \"$b\" == \$opt_bootloader ]] && oneTest --$b \"\$@\"; }"
+     eval "${b}DisplayTest() { [[ \"$b\" == \$opt_bootloader ]] && oneDisplayTest --$b \"\$@\"; }"
+ done
+@@ -316,12 +316,24 @@ grubTest grub.5 fallback/g5.3 --remove-kernel=/boot/vmlinuz-2.4.7-2.5 \
+     --boot-filesystem=/ --copy-default --add-kernel=/boot/new-kernel \
+     --title="Some_Title"
+ 
++testing="Extlinux default directive"
++extlinuxTest extlinux.1 default/extlinux1.1 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title
++extlinuxTest extlinux.1 default/extlinux1.2 --boot-filesystem=/boot --add-kernel /boot/new-kernel --title Some_Title --make-default
++extlinuxTest extlinux.3 default/extlinux3.1 --boot-filesystem=/boot --set-default=/boot/vmlinuz-3.12.0-2.fc21.i686
++extlinuxTest extlinux.3 default/extlinux3.2 --boot-filesystem=/boot --set-default=/boot/vmlinuz-3.12.0-2.fc21.i686+PAE
++
+ testing="GRUB new kernel argument handling"
+ grubTest grub.1 args/g1.1 --boot-filesystem=/boot \
+     --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default
+ grubTest grub.1 args/g1.2 --boot-filesystem=/boot \
+     --add-kernel=/boot/foo --title=some_title --args="1234" 
+ 
++testing="Extlinux new kernel argument handling"
++extlinuxTest extlinux.1 args/extlinux1.1 --boot-filesystem=/boot \
++    --add-kernel=/boot/foo --title=some_title --args="1234" --copy-default
++extlinuxTest extlinux.1 args/extlinux1.2 --boot-filesystem=/boot \
++    --add-kernel=/boot/foo --title=some_title --args="1234"
++
+ testing="GRUB remove kernel"
+ grubTest grub.7 remove/g7.1 --boot-filesystem=/ \
+     --remove-kernel=/boot/vmlinuz-2.4.7-2.5
+@@ -339,6 +351,12 @@ testing="Z/IPL remove kernel"
+ ziplTest zipl.1 remove/z1.1 --remove-kernel=/boot/vmlinuz-2.4.9-38
+ ziplTest zipl.1 remove/z1.2 --remove-kernel=DEFAULT
+ 
++testing="Extlinux remove kernel"
++extlinuxTest extlinux.4 remove/extlinux4.1 --boot-filesystem=/ \
++    --remove-kernel=/boot/vmlinuz-3.11.7-301.fc20.i686
++extlinuxTest extlinux.3 remove/extlinux3.1 --boot-filesystem=/ \
++    --remove-kernel=DEFAULT
++
+ testing="GRUB update kernel argument handling"
+ grubTest grub.1 updargs/g1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
+ grubTest grub.1 updargs/g1.2 --update-kernel=DEFAULT \
+@@ -391,6 +409,30 @@ liloTest lilo.3 updargs/l3.1 --update-kernel=/boot/vmlinuz-2.4.18-4 \
+ liloTest lilo.3 updargs/l3.2 --update-kernel=ALL \
+     --remove-args="single" --args "root=/dev/hda2"
+ 
++testing="Extlinux update kernel argument handling"
++extlinuxTest extlinux.1 updargs/extlinux1.1 --update-kernel=DEFAULT --args="root=/dev/hda1"
++extlinuxTest extlinux.1 updargs/extlinux1.2 --update-kernel=DEFAULT \
++    --args="root=/dev/hda1 hda=ide-scsi root=/dev/hda2"
++extlinuxTest extlinux.3 updargs/extlinux3.1 --update-kernel=DEFAULT --args "hdd=notide-scsi"
++extlinuxTest extlinux.3 updargs/extlinux3.2 --update-kernel=DEFAULT \
++    --args "hdd=notide-scsi root=/dev/hdd1"
++extlinuxTest extlinux.3 updargs/extlinux3.2 --update-kernel=DEFAULT \
++    --args "root=/dev/hdd1 hdd=notide-scsi"
++extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd"
++extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd=ide-scsi"
++extlinuxTest extlinux.3 updargs/extlinux3.4 --update-kernel=ALL --remove-args="hdd=foobar"
++extlinuxTest extlinux.3 updargs/extlinux3.7 --update-kernel=ALL \
++    --remove-args="hdd root ro"
++extlinuxTest extlinux.4 updargs/extlinux4.2 --boot-filesystem=/    \
++    --update-kernel=ALL --args "hde=ide-scsi"
++extlinuxTest extlinux.4 updargs/extlinux4.3 --boot-filesystem=/    \
++    --update-kernel=DEFAULT --args "hde=ide-scsi"
++extlinuxTest extlinux.4 updargs/extlinux4.4 --boot-filesystem=/    \
++    --update-kernel=/vmlinuz-3.12.0-2.fc21.i686 \
++    --args "ro root=LABEL=/ console=tty0 console=ttyS1,9600n81 single"
++extlinuxTest extlinux.4 updargs/extlinux4.5 --boot-filesystem=/    \
++    --update-kernel=ALL --args "root=/dev/hda2"
++
+ testing="LILO add kernel"
+ liloTest lilo.4 add/l4.1 --add-kernel=/boot/new-kernel.img --title="title" \
+     --copy-default --boot-filesystem=/boot
+@@ -550,6 +592,20 @@ testing="Z/IPL add kernel"
+ ziplTest zipl.1 add/z1.1 --add-kernel=/boot/new-kernel.img --title test
+ ziplTest zipl.1 add/z1.2 --add-kernel=/boot/new-kernel.img --title test --copy-default
+ 
++testing="Extlinux add kernel"
++extlinuxTest extlinux.1 add/extlinux1.1 --add-kernel=/boot/new-kernel.img --title='title' \
++    --initrd=/boot/new-initrd --boot-filesystem=/
++extlinuxTest extlinux.1 add/extlinux1.2 --add-kernel=/boot/new-kernel.img --title='title' \
++    --initrd=/boot/new-initrd --boot-filesystem=/boot
++extlinuxTest extlinux.1 add/extlinux1.3 --add-kernel=/boot/new-kernel.img --title='title' \
++    --initrd=/boot/new-initrd --boot-filesystem=/ --copy-default
++extlinuxTest extlinux.1 add/extlinux1.4 --add-kernel=/boot/new-kernel.img --title='title' \
++    --initrd=/boot/new-initrd --boot-filesystem=/boot --copy-default
++extlinuxTest extlinux.2 add/extlinux2.1 --add-kernel=/boot/vmlinuz-3.12.0-2.fc21.i686	    \
++    --initrd=/boot/initrd-3.12.0-2.fc21.i686-new.img --boot-filesystem=/boot --copy-default \
++    --title="Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)"					    \
++    --remove-kernel="TITLE=Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)"
++
+ testing="LILO long titles"
+ liloTest lilo.1 longtitle/l1.1 --add-kernel=/boot/new-kernel.img \
+     --title="linux-longtitle" --copy-default --boot-filesystem=/boot 
+diff --git a/test/extlinux.1 b/test/extlinux.1
+new file mode 100644
+index 0000000..85c9272
+--- /dev/null
++++ b/test/extlinux.1
+@@ -0,0 +1,17 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/extlinux.2 b/test/extlinux.2
+new file mode 100644
+index 0000000..eae4aa7
+--- /dev/null
++++ b/test/extlinux.2
+@@ -0,0 +1,21 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/hda5 hdd=ide-scsi
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/extlinux.3 b/test/extlinux.3
+new file mode 100644
+index 0000000..63f97bf
+--- /dev/null
++++ b/test/extlinux.3
+@@ -0,0 +1,15 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/extlinux.4 b/test/extlinux.4
+new file mode 100644
+index 0000000..14b795c
+--- /dev/null
++++ b/test/extlinux.4
+@@ -0,0 +1,32 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.11.7-301.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-301.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-301.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1 console=tty0 console=ttyS1,9600n81
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/add/extlinux1.1 b/test/results/add/extlinux1.1
+new file mode 100644
+index 0000000..f81a7ed
+--- /dev/null
++++ b/test/results/add/extlinux1.1
+@@ -0,0 +1,20 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label title
++kernel /boot/new-kernel.img
++initrd /boot/new-initrd
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/add/extlinux1.2 b/test/results/add/extlinux1.2
+new file mode 100644
+index 0000000..71e0437
+--- /dev/null
++++ b/test/results/add/extlinux1.2
+@@ -0,0 +1,20 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label title
++kernel /new-kernel.img
++initrd /new-initrd
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/add/extlinux1.3 b/test/results/add/extlinux1.3
+new file mode 100644
+index 0000000..9634025
+--- /dev/null
++++ b/test/results/add/extlinux1.3
+@@ -0,0 +1,21 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label title
++kernel /boot/new-kernel.img
++append ro root=/dev/sda1
++initrd /boot/new-initrd
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/add/extlinux1.4 b/test/results/add/extlinux1.4
+new file mode 100644
+index 0000000..aa1ce63
+--- /dev/null
++++ b/test/results/add/extlinux1.4
+@@ -0,0 +1,21 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label title
++kernel /new-kernel.img
++append ro root=/dev/sda1
++initrd /new-initrd
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/add/extlinux2.1 b/test/results/add/extlinux2.1
+new file mode 100644
+index 0000000..13a4179
+--- /dev/null
++++ b/test/results/add/extlinux2.1
+@@ -0,0 +1,21 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/hda5 hdd=ide-scsi
++initrd /initrd-3.12.0-2.fc21.i686-new.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/args/extlinux1.1 b/test/results/args/extlinux1.1
+new file mode 100644
+index 0000000..2d8c800
+--- /dev/null
++++ b/test/results/args/extlinux1.1
+@@ -0,0 +1,20 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label some_title
++kernel /foo
++append ro root=/dev/sda1 1234
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/args/extlinux1.2 b/test/results/args/extlinux1.2
+new file mode 100644
+index 0000000..41cc324
+--- /dev/null
++++ b/test/results/args/extlinux1.2
+@@ -0,0 +1,20 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label some_title
++kernel /foo
++append 1234
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/default/extlinux1.1 b/test/results/default/extlinux1.1
+new file mode 100644
+index 0000000..5d7f73d
+--- /dev/null
++++ b/test/results/default/extlinux1.1
+@@ -0,0 +1,19 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Some_Title
++kernel /new-kernel
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/default/extlinux1.2 b/test/results/default/extlinux1.2
+new file mode 100644
+index 0000000..e98ff12
+--- /dev/null
++++ b/test/results/default/extlinux1.2
+@@ -0,0 +1,19 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Some_Title
++
++label Some_Title
++kernel /new-kernel
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/default/extlinux3.1 b/test/results/default/extlinux3.1
+new file mode 100644
+index 0000000..5a5495d
+--- /dev/null
++++ b/test/results/default/extlinux3.1
+@@ -0,0 +1,16 @@
++prompt 0
++
++default=Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/default/extlinux3.2 b/test/results/default/extlinux3.2
+new file mode 100644
+index 0000000..63f97bf
+--- /dev/null
++++ b/test/results/default/extlinux3.2
+@@ -0,0 +1,15 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/remove/extlinux3.1 b/test/results/remove/extlinux3.1
+new file mode 100644
+index 0000000..12b4ef5
+--- /dev/null
++++ b/test/results/remove/extlinux3.1
+@@ -0,0 +1,10 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/remove/extlinux4.1 b/test/results/remove/extlinux4.1
+new file mode 100644
+index 0000000..5e1824e
+--- /dev/null
++++ b/test/results/remove/extlinux4.1
+@@ -0,0 +1,27 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1 console=tty0 console=ttyS1,9600n81
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux1.1 b/test/results/updargs/extlinux1.1
+new file mode 100644
+index 0000000..1e2a709
+--- /dev/null
++++ b/test/results/updargs/extlinux1.1
+@@ -0,0 +1,17 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/hda1
++initrd /initrd-3.12.0-2.fc21.i686.img
+diff --git a/test/results/updargs/extlinux1.2 b/test/results/updargs/extlinux1.2
+new file mode 100644
+index 0000000..764655a
+--- /dev/null
++++ b/test/results/updargs/extlinux1.2
+@@ -0,0 +1,18 @@
++# extlinux.conf generated by anaconda
++
++ui menu.c32
++
++menu autoboot Welcome to Fedora. Automatic boot in # second{,s}. Press a key for options.
++menu title Fedora Boot Options.
++menu hidden
++
++timeout 50
++totaltimeout 9000
++
++default Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/hda1 hda=ide-scsi
++initrd /initrd-3.12.0-2.fc21.i686.img
++root /dev/hda2
+diff --git a/test/results/updargs/extlinux3.1 b/test/results/updargs/extlinux3.1
+new file mode 100644
+index 0000000..ef9fa86
+--- /dev/null
++++ b/test/results/updargs/extlinux3.1
+@@ -0,0 +1,15 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/sda1 hdd=notide-scsi
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux3.2 b/test/results/updargs/extlinux3.2
+new file mode 100644
+index 0000000..c85b6bf
+--- /dev/null
++++ b/test/results/updargs/extlinux3.2
+@@ -0,0 +1,15 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/hdd1 hdd=notide-scsi
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux3.4 b/test/results/updargs/extlinux3.4
+new file mode 100644
+index 0000000..63f97bf
+--- /dev/null
++++ b/test/results/updargs/extlinux3.4
+@@ -0,0 +1,15 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux3.7 b/test/results/updargs/extlinux3.7
+new file mode 100644
+index 0000000..b542ad3
+--- /dev/null
++++ b/test/results/updargs/extlinux3.7
+@@ -0,0 +1,13 @@
++prompt 0
++
++label Fedora (3.12.0-2.fc21.i686+PAE) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686+PAE
++initrd /initrd-3.12.0-2.fc21.i686+PAE.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux4.2 b/test/results/updargs/extlinux4.2
+new file mode 100644
+index 0000000..9bf16b7
+--- /dev/null
++++ b/test/results/updargs/extlinux4.2
+@@ -0,0 +1,32 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda6 hde=ide-scsi
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.11.7-301.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-301.fc20.i686
++append ro root=/dev/hda6 hde=ide-scsi
++initrd /boot/initrd-3.11.7-301.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda6 hde=ide-scsi
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1 console=tty0 console=ttyS1,9600n81 hde=ide-scsi
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1 hde=ide-scsi
+diff --git a/test/results/updargs/extlinux4.3 b/test/results/updargs/extlinux4.3
+new file mode 100644
+index 0000000..218711d
+--- /dev/null
++++ b/test/results/updargs/extlinux4.3
+@@ -0,0 +1,32 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.11.7-301.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-301.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-301.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda6 hde=ide-scsi
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/sda1 console=tty0 console=ttyS1,9600n81
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux4.4 b/test/results/updargs/extlinux4.4
+new file mode 100644
+index 0000000..dc298fb
+--- /dev/null
++++ b/test/results/updargs/extlinux4.4
+@@ -0,0 +1,32 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.11.7-301.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-301.fc20.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.11.7-301.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda6
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=LABEL=/ console=tty0 console=ttyS1,9600n81 single
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
+diff --git a/test/results/updargs/extlinux4.5 b/test/results/updargs/extlinux4.5
+new file mode 100644
+index 0000000..6418a48
+--- /dev/null
++++ b/test/results/updargs/extlinux4.5
+@@ -0,0 +1,33 @@
++ui menu.c32
++
++menu hidden
++timeout 50
++totaltimeout 9000
++
++prompt 10
++default Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++
++label Fedora (3.11.7-300.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-300.fc20.i686
++append ro root=/dev/hda2
++initrd /boot/initrd-3.11.7-300.fc20.i686.img
++
++label Fedora (3.11.7-301.fc20.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.11.7-301.fc20.i686
++append ro root=/dev/hda2
++initrd /boot/initrd-3.11.7-301.fc20.i686.img
++
++label Fedora (3.13.0-0.rc0.git5.1.fc21.i686) 20 (Heisenbug)
++kernel /boot/vmlinuz-3.13.0-0.rc0.git5.1.fc21.i686
++append ro root=/dev/hda2
++initrd /boot/initrd-3.13.0-0.rc0.git5.1.fc21.i686.img
++
++label Fedora (3.12.0-2.fc21.i686) 20 (Heisenbug)
++kernel /vmlinuz-3.12.0-2.fc21.i686
++append ro root=/dev/hda2 console=tty0 console=ttyS1,9600n81
++initrd /initrd-3.12.0-2.fc21.i686.img
++
++label DOS
++com32 chain.c32
++append hd0 1
++root /dev/hda2
+-- 
+1.8.3.1
+
diff --git a/0003-grub-Fix-a-crash-with-kernel-line-without-being-prec.patch b/0003-grub-Fix-a-crash-with-kernel-line-without-being-prec.patch
new file mode 100644
index 0000000..18c4631
--- /dev/null
+++ b/0003-grub-Fix-a-crash-with-kernel-line-without-being-prec.patch
@@ -0,0 +1,36 @@
+From 91d4421e96a737650720a6306b91994574f98d7a Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Wed, 27 Nov 2013 16:59:48 +0100
+Subject: [PATCH 3/4] grub: Fix a crash with kernel line without being preceded
+ by title
+
+Quite obviously this implies a broken configuration file where a lone kernel
+line is found without ever seeing an entry start, resulting in a NULL
+dereference attempt. Reproducible by running GRUB code against extlinux
+configuration:
+
+./grubby --grub -c test/extlinux.1 --default-kernel
+grubby received SIGSEGV!  Backtrace (6):
+...
+
+Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
+---
+ grubby.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grubby.c b/grubby.c
+index 7010526..b0f95e3 100644
+--- a/grubby.c
++++ b/grubby.c
+@@ -1174,7 +1174,7 @@ static struct grubConfig * readConfig(const char * inName,
+ 	     * lines came earlier in the template, make sure to use LT_HYPER 
+ 	     * instead of LT_KERNEL now
+ 	     */
+-	    if (entry->multiboot)
++	    if (entry && entry->multiboot)
+ 		line->type = LT_HYPER;
+ 
+         } else if (line->type == LT_MBMODULE) {
+-- 
+1.8.3.1
+
diff --git a/0004-grub-Remove-a-redundant-test.patch b/0004-grub-Remove-a-redundant-test.patch
new file mode 100644
index 0000000..d468505
--- /dev/null
+++ b/0004-grub-Remove-a-redundant-test.patch
@@ -0,0 +1,26 @@
+From c6b5d783ad88243f104b9c2d63d7ea30094667d3 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Wed, 27 Nov 2013 16:59:47 +0100
+Subject: [PATCH 4/4] grub: Remove a redundant test
+
+Signed-off-by: Lubomir Rintel <lkundrak at v3.sk>
+---
+ test.sh | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/test.sh b/test.sh
+index 4dc4dfb..24231a2 100755
+--- a/test.sh
++++ b/test.sh
+@@ -373,8 +373,6 @@ grubTest grub.3 updargs/g3.7 --update-kernel=ALL \
+     --remove-args="hdd root ro"
+ grubTest grub.7 updargs/g7.2 --boot-filesystem=/    \
+     --update-kernel=ALL --args "hde=ide-scsi"
+-grubTest grub.7 updargs/g7.2 --boot-filesystem=/    \
+-    --update-kernel=ALL --args "hde=ide-scsi"
+ grubTest grub.7 updargs/g7.3 --boot-filesystem=/    \
+     --update-kernel=DEFAULT --args "hde=ide-scsi"
+ grubTest grub.7 updargs/g7.4 --boot-filesystem=/    \
+-- 
+1.8.3.1
+
diff --git a/grubby.spec b/grubby.spec
index 41842de..512c1c7 100644
--- a/grubby.spec
+++ b/grubby.spec
@@ -1,6 +1,6 @@
 Name: grubby
 Version: 8.28
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: Command line tool for updating bootloader configs
 Group: System Environment/Base
 License: GPLv2+
@@ -10,6 +10,15 @@ URL: http://git.fedorahosted.org/git/grubby.git
 # git archive --format=tar --prefix=grubby-%{version}/ HEAD |bzip2 > grubby-%{version}.tar.bz2
 Source0: %{name}-%{version}.tar.bz2
 
+# https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-November/007524.html
+Patch0: 0001-extlinux-Understand-default-properly.patch
+# https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-November/007525.html
+Patch1: 0002-extlinux-Add-test-suite.patch
+# https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-November/007522.html
+Patch2: 0003-grub-Fix-a-crash-with-kernel-line-without-being-prec.patch
+# https://lists.fedorahosted.org/pipermail/anaconda-patches/2013-November/007523.html
+Patch3: 0004-grub-Remove-a-redundant-test.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: pkgconfig glib2-devel popt-devel 
 BuildRequires: libblkid-devel git
@@ -75,6 +84,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Mon Jan 20 2014 Lubomir Rintel <lkundrak at v3.sk> - 8.28-2
+- Fix extlinux default
+
 * Fri Aug 02 2013 Peter Jones <pjones at redhat.com> - 8.28-1
 - More work on grub's "saved_entry" system. 
   Resolves: rhbz#768106


More information about the scm-commits mailing list