diff --git a/debian/changelog b/debian/changelog index 8adee3b36..53e7e2f09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,8 @@ grub2 (2.00-11) UNRELEASED; urgency=low that this differs slightly from the fix in Ubuntu, which corrected behaviour when amending an existing configuration item but accidentally over-escaped when adding a new one. + - Replace "single" with "recovery" when friendly-recovery is installed + (LP: #575469). -- Adam Conrad Fri, 04 Jan 2013 13:11:42 -0700 diff --git a/debian/control b/debian/control index 91aea6325..ee4838449 100644 --- a/debian/control +++ b/debian/control @@ -75,7 +75,7 @@ Recommends: os-prober (>= 1.33) Suggests: multiboot-doc, grub-emu, xorriso (>= 0.5.6.pl00), desktop-base (>= 4.0.6), console-setup # See bugs #435983 and #455746 Conflicts: mdadm (<< 2.6.7-2) -Breaks: lupin-support (<< 0.30) +Breaks: lupin-support (<< 0.30), friendly-recovery (<< 0.2.13) Multi-Arch: foreign Description: GRand Unified Bootloader (common files) This package contains common files shared by the distinct flavours of GRUB. diff --git a/debian/patches/mkconfig_ubuntu_recovery.patch b/debian/patches/mkconfig_ubuntu_recovery.patch index 1abb3fbe0..9fb356802 100644 --- a/debian/patches/mkconfig_ubuntu_recovery.patch +++ b/debian/patches/mkconfig_ubuntu_recovery.patch @@ -1,8 +1,29 @@ -Description: Detect Ubuntu's use of "recovery" rather than "single" +Description: "single" -> "recovery" when friendly-recovery is installed Author: Colin Watson +Author: Stéphane Graber Forwarded: no -Last-Update: 2012-09-18 +Last-Update: 2013-01-21 +Index: b/util/grub.d/10_linux.in +=================================================================== +--- a/util/grub.d/10_linux.in ++++ b/util/grub.d/10_linux.in +@@ -243,8 +243,13 @@ + linux_entry "${OS}" "${version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then +- linux_entry "${OS}" "${version}" recovery \ +- "single ${GRUB_CMDLINE_LINUX}" ++ if [ -x /lib/recovery-mode/recovery-menu ]; then ++ linux_entry "${OS}" "${version}" recovery \ ++ "recovery ${GRUB_CMDLINE_LINUX}" ++ else ++ linux_entry "${OS}" "${version}" recovery \ ++ "single ${GRUB_CMDLINE_LINUX}" ++ fi + fi + + list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` Index: b/util/grub.d/30_os-prober.in =================================================================== --- a/util/grub.d/30_os-prober.in diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in index 461444637..380ea3f63 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in @@ -243,8 +243,13 @@ while [ "x$list" != "x" ] ; do linux_entry "${OS}" "${version}" advanced \ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then - linux_entry "${OS}" "${version}" recovery \ - "single ${GRUB_CMDLINE_LINUX}" + if [ -x /lib/recovery-mode/recovery-menu ]; then + linux_entry "${OS}" "${version}" recovery \ + "recovery ${GRUB_CMDLINE_LINUX}" + else + linux_entry "${OS}" "${version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" + fi fi list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`