diff -Nru grub2-2.02~beta2/debian/changelog grub2-2.02~beta2/debian/changelog --- grub2-2.02~beta2/debian/changelog 2014-03-31 15:30:38.000000000 +0000 +++ grub2-2.02~beta2/debian/changelog 2014-04-10 16:34:46.000000000 +0000 @@ -1,3 +1,11 @@ +grub2 (2.02~beta2-9) unstable; urgency=medium + + * Backport from upstream: + - Tolerate devices with no filesystem UUID returned by os-prober + (LP: #1287436). + + -- Colin Watson Thu, 10 Apr 2014 17:34:44 +0100 + grub2 (2.02~beta2-8) unstable; urgency=medium [ Colin Watson ] diff -Nru grub2-2.02~beta2/debian/.git-dpm grub2-2.02~beta2/debian/.git-dpm --- grub2-2.02~beta2/debian/.git-dpm 2014-03-31 14:35:11.000000000 +0000 +++ grub2-2.02~beta2/debian/.git-dpm 2014-04-10 15:58:43.000000000 +0000 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -2efb97d0215ecb284faefcd09f0012f2bf2fec4a -2efb97d0215ecb284faefcd09f0012f2bf2fec4a +9ba6625cf42e26aa6541878df4ee7adb8537e61b +9ba6625cf42e26aa6541878df4ee7adb8537e61b e8f07821cce1bd0ab6d5622c2a42440f15f4fd71 e8f07821cce1bd0ab6d5622c2a42440f15f4fd71 grub2_2.02~beta2.orig.tar.xz diff -Nru grub2-2.02~beta2/debian/patches/series grub2-2.02~beta2/debian/patches/series --- grub2-2.02~beta2/debian/patches/series 2014-03-31 14:35:11.000000000 +0000 +++ grub2-2.02~beta2/debian/patches/series 2014-04-10 15:58:43.000000000 +0000 @@ -48,3 +48,4 @@ ieee1275-pseries-emulation.patch probe-delimiter.patch btrfs-endian.patch +tolerate-lvm-snapshots.patch diff -Nru grub2-2.02~beta2/debian/patches/tolerate-lvm-snapshots.patch grub2-2.02~beta2/debian/patches/tolerate-lvm-snapshots.patch --- grub2-2.02~beta2/debian/patches/tolerate-lvm-snapshots.patch 1970-01-01 00:00:00.000000000 +0000 +++ grub2-2.02~beta2/debian/patches/tolerate-lvm-snapshots.patch 2014-04-10 15:58:43.000000000 +0000 @@ -0,0 +1,66 @@ +From 9ba6625cf42e26aa6541878df4ee7adb8537e61b Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Thu, 10 Apr 2014 16:54:33 +0100 +Subject: Tolerate devices with no filesystem UUID returned by os-prober + +* util/grub.d/30_os-prober.in: Tolerate devices with no filesystem +UUID. Other parts of grub-mkconfig tolerate these, they were +previously allowed here up to commit +55e706c918922def17f5012c23cfe88c4c645208, and they can arise in +practice when the system has active LVM snapshots. +Fixes Ubuntu bug #1287436. + +Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=3a310e842fb7a9818c2e7cf0f4118f13660871d2 +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1287436 +Forwarded: not-needed +Last-Update: 2014-04-10 + +Patch-Name: tolerate-lvm-snapshots.patch +--- + util/grub.d/30_os-prober.in | 23 +++++++++++++---------- + 1 file changed, 13 insertions(+), 10 deletions(-) + +diff --git a/util/grub.d/30_os-prober.in b/util/grub.d/30_os-prober.in +index 1106ad1..f4c8f56 100644 +--- a/util/grub.d/30_os-prober.in ++++ b/util/grub.d/30_os-prober.in +@@ -129,16 +129,17 @@ for OS in ${OSPROBED} ; do + LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`" + LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`" + BOOT="`echo ${OS} | cut -d ':' -f 4`" +- UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`" +- EXPUUID="$UUID" ++ if UUID="`${grub_probe} --target=fs_uuid --device ${DEVICE%@*}`"; then ++ EXPUUID="$UUID" + +- if [ x"${DEVICE#*@}" != x ] ; then ++ if [ x"${DEVICE#*@}" != x ] ; then + EXPUUID="${EXPUUID}@${DEVICE#*@}" +- fi ++ fi + +- if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" -a "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then +- echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2 +- continue ++ if [ "x${GRUB_OS_PROBER_SKIP_LIST}" != "x" -a "x`echo ${GRUB_OS_PROBER_SKIP_LIST} | grep -i -e '\b'${EXPUUID}'\b'`" != "x" ] ; then ++ echo "Skipped ${LONGNAME} on ${DEVICE} by user request." >&2 ++ continue ++ fi + fi + + BTRFS="`echo ${OS} | cut -d ':' -f 5`" +@@ -315,9 +316,11 @@ EOF + echo "$title_correction_code" + ;; + macosx) +- OSXUUID="${UUID}" +- osx_entry xnu_kernel 32 +- osx_entry xnu_kernel64 64 ++ if [ "${UUID}" ]; then ++ OSXUUID="${UUID}" ++ osx_entry xnu_kernel 32 ++ osx_entry xnu_kernel64 64 ++ fi + ;; + hurd) + found_other_os=1