From b09a322c8c4f325be204fee634ab1c555a874380 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 20 Dec 2013 11:45:22 +0000 Subject: [PATCH] Fix mismerge of mkconfig_loopback.patch. --- debian/changelog | 1 + debian/patches/mkconfig_loopback.patch | 21 ++++++++------- .../mkconfig_nonexistent_loopback.patch | 10 +++---- util/grub-mkconfig_lib.in | 27 ++++++++++--------- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1b73f92f5..c0a69faf6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,7 @@ grub2 (2.02~beta1-1) UNRELEASED; urgency=low * Add OpenPGP signature checking configuration to watch file. * Drop mkconfig_skip_dmcrypt.patch; it breaks GRUB_ENABLE_CRYPTODISK=y, which is a better fix for the original problem (closes: #732245). + * Fix mismerge of mkconfig_loopback.patch. -- Colin Watson Tue, 10 Dec 2013 17:39:47 +0000 diff --git a/debian/patches/mkconfig_loopback.patch b/debian/patches/mkconfig_loopback.patch index f9f0daa25..837976e58 100644 --- a/debian/patches/mkconfig_loopback.patch +++ b/debian/patches/mkconfig_loopback.patch @@ -13,20 +13,21 @@ Index: b/util/grub-mkconfig_lib.in =================================================================== --- a/util/grub-mkconfig_lib.in +++ b/util/grub-mkconfig_lib.in -@@ -133,6 +133,21 @@ +@@ -133,6 +133,22 @@ esac done + loop_file= -+ case ${device} in ++ case $1 in + /dev/loop/*|/dev/loop[0-9]) -+ grub_loop_device="${device#/dev/}" -+ loop_file=`losetup "${device}" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` ++ grub_loop_device="${1#/dev/}" ++ loop_file=`losetup "$1" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + case $loop_file in + /dev/*) ;; + *) -+ loop_device="${device}" -+ device=`"${grub_probe}" --target=device "${loop_file}"` ++ loop_device="$1" ++ shift ++ set -- `"${grub_probe}" --target=device "${loop_file}"` "$@" + ;; + esac + ;; @@ -35,10 +36,10 @@ Index: b/util/grub-mkconfig_lib.in # Abstraction modules aren't auto-loaded. abstraction="`"${grub_probe}" --device $@ --target=abstraction`" for module in ${abstraction} ; do -@@ -234,6 +249,14 @@ - else - return 1 +@@ -165,6 +181,14 @@ + echo "fi" fi + IFS="$old_ifs" + + if [ "x${loop_file}" != x ]; then + loop_mountpoint="$(awk '"'${loop_file}'" ~ "^"$2 && $2 != "/" { print $2 }' /proc/mounts | tail -n1)" @@ -49,7 +50,7 @@ Index: b/util/grub-mkconfig_lib.in + fi } - version_test_gt () + grub_get_device_id () Index: b/util/grub.d/10_linux.in =================================================================== --- a/util/grub.d/10_linux.in diff --git a/debian/patches/mkconfig_nonexistent_loopback.patch b/debian/patches/mkconfig_nonexistent_loopback.patch index e172fd40c..25a3a3313 100644 --- a/debian/patches/mkconfig_nonexistent_loopback.patch +++ b/debian/patches/mkconfig_nonexistent_loopback.patch @@ -8,12 +8,12 @@ Index: b/util/grub-mkconfig_lib.in =================================================================== --- a/util/grub-mkconfig_lib.in +++ b/util/grub-mkconfig_lib.in -@@ -142,7 +142,7 @@ - /dev/*) ;; +@@ -143,7 +143,7 @@ *) - loop_device="${device}" -- device=`"${grub_probe}" --target=device "${loop_file}"` -+ device=`"${grub_probe}" --target=device "${loop_file}"` || return 0 + loop_device="$1" + shift +- set -- `"${grub_probe}" --target=device "${loop_file}"` "$@" ++ set -- `"${grub_probe}" --target=device "${loop_file}"` "$@" || return 0 ;; esac ;; diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in index d0415a241..5992506a9 100644 --- a/util/grub-mkconfig_lib.in +++ b/util/grub-mkconfig_lib.in @@ -134,15 +134,16 @@ prepare_grub_to_access_device () done loop_file= - case ${device} in + case $1 in /dev/loop/*|/dev/loop[0-9]) - grub_loop_device="${device#/dev/}" - loop_file=`losetup "${device}" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` + grub_loop_device="${1#/dev/}" + loop_file=`losetup "$1" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` case $loop_file in /dev/*) ;; *) - loop_device="${device}" - device=`"${grub_probe}" --target=device "${loop_file}"` || return 0 + loop_device="$1" + shift + set -- `"${grub_probe}" --target=device "${loop_file}"` "$@" || return 0 ;; esac ;; @@ -180,6 +181,14 @@ prepare_grub_to_access_device () echo "fi" fi IFS="$old_ifs" + + if [ "x${loop_file}" != x ]; then + loop_mountpoint="$(awk '"'${loop_file}'" ~ "^"$2 && $2 != "/" { print $2 }' /proc/mounts | tail -n1)" + if [ "x${loop_mountpoint}" != x ]; then + echo "loopback ${grub_loop_device} ${loop_file#$loop_mountpoint}" + echo "set root=(${grub_loop_device})" + fi + fi } grub_get_device_id () @@ -249,14 +258,6 @@ version_test_numeric () else return 1 fi - - if [ "x${loop_file}" != x ]; then - loop_mountpoint="$(awk '"'${loop_file}'" ~ "^"$2 && $2 != "/" { print $2 }' /proc/mounts | tail -n1)" - if [ "x${loop_mountpoint}" != x ]; then - echo "loopback ${grub_loop_device} ${loop_file#$loop_mountpoint}" - echo "set root=(${grub_loop_device})" - fi - fi } version_test_gt () -- 2.39.5