Package: grub-common Version: 1.98+20100720-1 Severity: wishlist Hi,
this patch is from the grub bugtracker (item #30567) which modifies grub_mkconfig to - accept a --verbose command line option to give more information about what grub-mkconfig does - give information about grub-probe during its run - allow to override the grub-probe calls from the environment. The latter is important in chroots when one tests grub scripts or prepares system images. Please consider applying this patch to Debian even before upstream (hopefully) does so. If you have more momentum inside upstream's activities, you might also want to push for this patch to be applied upstream. Greetings Marc === modified file 'util/grub-mkconfig.in' --- util/grub-mkconfig.in 2010-06-29 15:20:49 +0000 +++ util/grub-mkconfig.in 2010-07-27 16:37:12 +0000 @@ -47,12 +47,21 @@ -o, --output=FILE output generated config to FILE [default=stdout] -h, --help print this message and exit + -V, --verbose be verbose -v, --version print the version information and exit Report bugs to <bug-g...@gnu.org>. EOF } +verbose() { + if [ -n "$VERBOSE" ]; then + echo >&2 $@ + fi +} + +VERBOSE="" + argument () { opt=$1 shift @@ -77,6 +86,10 @@ -v | --version) echo "$self (${PACKAGE_NAME}) ${PACKAGE_VERSION}" exit 0 ;; + -V | --verbose) + shift + VERBOSE=1 + ;; -o | --output) grub_cfg=`argument $option "$@"`; shift;; --output=*) @@ -149,16 +162,46 @@ fi # Device containing our userland. Typically used for root= parameter. -GRUB_DEVICE="`${grub_probe} --target=device /`" -GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true +if [ -n "$GRUB_DEVICE" ]; then + verbose "using pre-defined GRUB_DEVICE $GRUB_DEVICE" +else + verbose "GRUB_DEVICE=grub-probe --target=device /" + GRUB_DEVICE="`${grub_probe} --target=device /`" + verbose "using probed GRUB_DEVICE $GRUB_DEVICE" +fi +if [ -n "$GRUB_DEVICE_UUID" ]; then + verbose "using pre-defined GRUB_DEVICE_UUID $GRUB_DEVICE_UUID" +else + verbose "GRUB_DEVICE_UUID=grub-probe --device ${GRUB_DEVICE} --target=fs_uuid" + GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true + verbose "using probed GRUB_DEVICE_UUID $GRUB_DEVICE_UUID" +fi # Device containing our /boot partition. Usually the same as GRUB_DEVICE. -GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`" -GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true +if [ -n "$GRUB_DEVICE_BOOT" ]; then + verbose "using pre-defined GRUB_DEVICE_BOOT $GRUB_DEVICE_BOOT" +else + verbose "GRUB_DEVICE_BOOT=grub-probe --target=device /boot" + GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`" + verbose "using probed GRUB_DEVICE_BOOT $GRUB_DEVICE_BOOT" +fi +if [ -n "$GRUB_DEVICE_BOOT_UUID" ]; then + verbose "using pre-defined GRUB_DEVICE_BOOT_UUID $GRUB_DEVICE_BOOT_UUID" +else + verbose "GRUB_DEVICE_BOOT_UUID=grub-probe --device ${GRUB_DEVICE_BOOT} --target=fs_uuid" + GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true + verbose "using probed GRUB_DEVICE_BOOT_UUID $GRUB_DEVICE_BOOT_UUID" +fi # Filesystem for the device containing our userland. Used for stuff like # choosing Hurd filesystem module. -GRUB_FS="`${grub_probe} --target=fs / 2> /dev/null || echo unknown`" +if [ -n "$GRUB_FS" ]; then + verbose "using pre-defined GRUB_FS $GRUB_FS" +else + verbose "GRUB_FS=grub-probe --target=fs /" + GRUB_FS="`${grub_probe} --target=fs / 2> /dev/null || echo unknown`" + verbose "using probed GRUB_FS $GRUB_FS" +fi if test -f ${sysconfdir}/default/grub ; then . ${sysconfdir}/default/grub -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org