Hello community,

here is the log from the commit of package grub2 for openSUSE:Factory checked 
in at 2013-01-08 13:44:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
 and      /work/SRC/openSUSE:Factory/.grub2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "grub2", Maintainer is "mch...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes      2013-01-07 
15:17:22.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2013-01-08 
13:44:13.000000000 +0100
@@ -1,0 +2,16 @@
+Tue Jan  8 08:09:01 UTC 2013 - mch...@suse.com
+
+- add grub2-fix-unquoted-string-in-class.patch (bnc#788322)
+
+-------------------------------------------------------------------
+Tue Jan  8 07:09:47 UTC 2013 - arvidj...@gmail.com
+
+- add grub2-add-device-to-os_prober-linux-menuentry.patch (bnc#796919)
+
+-------------------------------------------------------------------
+Sun Jan  6 18:54:54 UTC 2013 - arvidj...@gmail.com
+
+- add patch grub2-fix-enumeration-of-extended-partition.patch to
+  fix enumeration of extended partitions with non-standard EBR (bnc#779534)
+
+-------------------------------------------------------------------

New:
----
  grub2-add-device-to-os_prober-linux-menuentry.patch
  grub2-fix-enumeration-of-extended-partition.patch
  grub2-fix-unquoted-string-in-class.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.m76dYH/_old  2013-01-08 13:44:14.000000000 +0100
+++ /var/tmp/diff_new_pack.m76dYH/_new  2013-01-08 13:44:14.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package grub2
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -132,6 +132,9 @@
 Patch23:        grub2-secureboot-no-insmod-on-sb.patch
 Patch24:        grub2-secureboot-provide-linuxefi-config.patch
 Patch25:        30_os-prober_UEFI_support.patch
+Patch26:        grub2-fix-enumeration-of-extended-partition.patch
+Patch27:        grub2-add-device-to-os_prober-linux-menuentry.patch
+Patch28:        grub2-fix-unquoted-string-in-class.patch
 PreReq:         perl-Bootloader
 Requires:       gettext-runtime
 %if 0%{?suse_version} >= 1140
@@ -244,6 +247,9 @@
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
+%patch26 -p1
+%patch27 -p1
+%patch28 -p1
 cd ..
 
 # README.openSUSE
@@ -418,7 +424,6 @@
 fi
 %endif
 
-
 %ifarch %{efi}
 
 %triggerpostun -- %{name}-efi
@@ -617,3 +622,5 @@
 %{_libdir}/%{name}/%{grubefiarch}/kernel.exec
 %{_libdir}/%{name}/%{grubefiarch}/modinfo.sh
 %endif
+
+%changelog


++++++ grub2-add-device-to-os_prober-linux-menuentry.patch ++++++
From: Andrey Borzenkov <arvidj...@gmail.com>
Subject: add "(on /dev/XXX)" to top level os-prober Linux menu entries
References: bnc#796919

1. It disambiguates multiple instances of the same OS if present.

2. It allows menu entry to be skipped by another os-prober. Otherwise
it may result in endless recursion.
Index: grub-2.00/util/grub.d/30_os-prober.in
===================================================================
--- grub-2.00.orig/util/grub.d/30_os-prober.in
+++ grub-2.00/util/grub.d/30_os-prober.in
@@ -202,7 +202,7 @@ EOF
 
        if [ "x$is_first_entry" = xtrue ]; then
             cat << EOF
-menuentry '$(echo "$OS" | grub_quote)' --class gnu-linux --class gnu --class 
os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
+menuentry '$(echo "$OS $onstr" | grub_quote)' --class gnu-linux --class gnu 
--class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
 EOF
            save_default_entry | sed -e "s/^/\t/"
            printf '%s\n' "${prepare_boot_cache}"
@@ -217,7 +217,7 @@ EOF
         cat << EOF
 }
 EOF
-           echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | 
grub_quote)' \$menuentry_id_option 'osprober-gnulinux-advanced-$boot_device_id' 
{"
+           echo "submenu '$(gettext_printf "Advanced options for %s" "${OS} 
$onstr" | grub_quote)' \$menuentry_id_option 
'osprober-gnulinux-advanced-$boot_device_id' {"
            is_first_entry=false
        fi
        title="${LLABEL} $onstr"
@@ -238,7 +238,7 @@ EOF
        }
 EOF
        if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux 
versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
-           replacement_title="$(echo "Advanced options for ${OS}" | sed 
's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
+           replacement_title="$(echo "Advanced options for ${OS} $onstr" | sed 
's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
            quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
            title_correction_code="${title_correction_code}if [ \"x\$default\" 
= '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
            grub_warn "$(gettext_printf "Please don't use old title \`%s' for 
GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or 
later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" 
"gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
++++++ grub2-fix-enumeration-of-extended-partition.patch ++++++
From: Andrey Borzenkov <arvidj...@gmail.com>
Subject: [PATCH] fix off by one error in enumerating MSDOS partitions
References: bnc#779534

As reported in https://bugzilla.novell.com/show_bug.cgi?id=779534,
grub2 assigns incorrect partition number to extended partitions.
This is due to slightly non-standard EBR which contains single extended
partition record, but no normal partition. Due to incorrect p.number
comparison, grub2 includes it in partition numbering.

With standard EBR first entry is "true" partition that correctly
gets assigned next available number.

At the point of comparison p.number is one less than partition
number; so make correct comparison.

Actual partition chain is visible in this attachement:
http://bugzilla.novell.com/attachment.cgi?id=519076

Signed-off-by: Andrey Borzenkov <arvidj...@gmail.com>

---
 grub-core/partmap/msdos.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: grub-2.00/grub-core/partmap/msdos.c
===================================================================
--- grub-2.00.orig/grub-core/partmap/msdos.c
+++ grub-2.00/grub-core/partmap/msdos.c
@@ -196,7 +196,7 @@ grub_partition_msdos_iterate (grub_disk_
                    return grub_errno;
                }
            }
-         else if (p.number < 4)
+         else if (p.number < 3)
            /* If this partition is a logical one, shouldn't increase the
               partition number.  */
            p.number++;
++++++ grub2-fix-unquoted-string-in-class.patch ++++++
>From 7c8906e0f3827322469655bb013247f7ce60fcd9 Mon Sep 17 00:00:00 2001
From: Michael Chang <mch...@suse.com>
Date: Tue, 4 Dec 2012 15:24:43 +0800
Subject: [PATCH] Fix unquoted string in --class

References: bnc#788322
Patch-Mainline: no

If GRUB_DISTRIBUTOR contains special character such as '$', it would
lead to syntax error by the grub2-script-check even though user
correctly quote them in single quotes.

The cause is that grub2 scripts use not quote the strings from
GRUB_DISTRIBUTOR in --class options thus keywords interpreted by the
script parser. The fix is to add single quote to the string.
---
 util/grub.d/10_hurd.in      |    2 +-
 util/grub.d/10_kfreebsd.in  |    2 +-
 util/grub.d/10_linux.in     |    2 +-
 util/grub.d/20_linux_xen.in |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/util/grub.d/10_hurd.in b/util/grub.d/10_hurd.in
index 45f0ad3..5afc079 100644
--- a/util/grub.d/10_hurd.in
+++ b/util/grub.d/10_hurd.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
   OS=GNU
 else
   OS="${GRUB_DISTRIBUTOR} GNU/Hurd"
-  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) 
${CLASS}"
+  CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' 
-f1)' ${CLASS}"
 fi
 
 at_least_one=false
diff --git a/util/grub.d/10_kfreebsd.in b/util/grub.d/10_kfreebsd.in
index b0e84e2..4ec8d96 100644
--- a/util/grub.d/10_kfreebsd.in
+++ b/util/grub.d/10_kfreebsd.in
@@ -30,7 +30,7 @@ CLASS="--class os"
 case "${GRUB_DISTRIBUTOR}" in
   Debian)
        OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD"
-       CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' 
-f1) --class gnu-kfreebsd --class gnu ${CLASS}"
+       CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' 
-f1)' --class gnu-kfreebsd --class gnu ${CLASS}"
   ;;
   *)
        OS="FreeBSD"
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index b2f65c0..40f8651 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
   OS=GNU/Linux
 else
   OS="${GRUB_DISTRIBUTOR}"
-  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) 
${CLASS}"
+  CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' 
-f1)' ${CLASS}"
 fi
 
 # loop-AES arranges things so that /dev/loop/X can be our root device, but
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index 29184c2..f1ce61e 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
   OS=GNU/Linux
 else
   OS="${GRUB_DISTRIBUTOR} GNU/Linux"
-  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) 
${CLASS}"
+  CLASS="--class '$(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' 
-f1)' ${CLASS}"
 fi
 
 # loop-AES arranges things so that /dev/loop/X can be our root device, but
-- 
1.7.3.4


-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to