diff -Nru initramfs-tools-0.92bubuntu6/debian/changelog initramfs-tools-0.92bubuntu7~ppa2/debian/changelog --- initramfs-tools-0.92bubuntu6/debian/changelog 2008-07-16 05:10:08.000000000 -0500 +++ initramfs-tools-0.92bubuntu7~ppa2/debian/changelog 2008-07-24 21:22:27.000000000 -0500 @@ -1,3 +1,12 @@ +initramfs-tools (0.92bubuntu7~ppa2) intrepid; urgency=low + + * scripts/local: call the failure hooks before all hope is lost. + * scripts/functions: break the failure hooks call in panic() into a + separate, independently callable function. + * Fixes required for (LP: #120375). + + -- Dustin Kirkland Thu, 24 Jul 2008 19:30:10 -0500 + initramfs-tools (0.92bubuntu6) intrepid; urgency=low * Replace /bin/mount by a symlink to busybox if busybox is available; diff -Nru /tmp/O6XDs5hTpF/initramfs-tools-0.92bubuntu6/scripts/functions /tmp/t8LbZmtpa3/initramfs-tools-0.92bubuntu7~ppa2/scripts/functions --- initramfs-tools-0.92bubuntu6/scripts/functions 2008-06-30 00:26:27.000000000 -0500 +++ initramfs-tools-0.92bubuntu7~ppa2/scripts/functions 2008-07-24 19:12:29.000000000 -0500 @@ -37,6 +37,16 @@ _log_msg "Done." } +call_failure_hooks() +{ + if [ -r "/tmp/mountroot-fail.hooks" ]; then + mountroot_fail_hooks=$(cat /tmp/mountroot-fail.hooks) + for mr_fh in ${mountroot_fail_hooks}; do + ${mr_fh} mountfail + done + fi +} + panic() { local mountroot_fail_hooks mr_fh @@ -53,13 +63,7 @@ # Call mountroot failure hooks if requested. if [ "${1}" = "-r" ]; then shift 1 - - if [ -r "/tmp/mountroot-fail.hooks" ]; then - mountroot_fail_hooks=$(cat /tmp/mountroot-fail.hooks) - for mr_fh in ${mountroot_fail_hooks}; do - ${mr_fh} mountfail - done - fi + call_failure_hooks fi modprobe i8042 diff -Nru /tmp/O6XDs5hTpF/initramfs-tools-0.92bubuntu6/scripts/local /tmp/t8LbZmtpa3/initramfs-tools-0.92bubuntu7~ppa2/scripts/local --- initramfs-tools-0.92bubuntu6/scripts/local 2008-07-02 11:21:46.000000000 -0500 +++ initramfs-tools-0.92bubuntu7~ppa2/scripts/local 2008-07-24 19:12:48.000000000 -0500 @@ -65,6 +65,8 @@ fi fi + call_failure_hooks + # We've given up, but we'll let the user fix matters if they can while [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1 || ! /sbin/udevadm settle; do # give hint about renamed root @@ -91,7 +93,7 @@ echo " - Check rootdelay= (did the system wait long enough?)" echo " - Check root= (did the system wait for the right device?)" echo " - Missing modules (cat /proc/modules; ls /dev)" - panic -r "ALERT! ${ROOT} does not exist. Dropping to a shell!" + panic "ALERT! ${ROOT} does not exist. Dropping to a shell!" done # Get the root filesystem type if not set