diff -u sysvinit-2.86.ds1/debian/changelog sysvinit-2.86.ds1/debian/changelog --- sysvinit-2.86.ds1/debian/changelog +++ sysvinit-2.86.ds1/debian/changelog @@ -1,3 +1,13 @@ +sysvinit (2.86.ds1-14.1ubuntu39) hardy; urgency=low + + * debian/initscripts/lib/init/usplash-fsck-functions.sh: + - do not spin while waiting for fsck to start + - do not clear usplash text ("quiet" may be disabled) + - re-arrange cleanup and status messages to avoid confusing output + - use usplash progress bar to indicate fsck progress + + -- Kees Cook Sun, 09 Mar 2008 16:14:26 -0700 + sysvinit (2.86.ds1-14.1ubuntu38) hardy; urgency=low * debian/initscripts/etc/network/{if-up.d/mountnfs,init.d/waitnfs.sh}: diff -u sysvinit-2.86.ds1/debian/initscripts/lib/init/usplash-fsck-functions.sh sysvinit-2.86.ds1/debian/initscripts/lib/init/usplash-fsck-functions.sh --- sysvinit-2.86.ds1/debian/initscripts/lib/init/usplash-fsck-functions.sh +++ sysvinit-2.86.ds1/debian/initscripts/lib/init/usplash-fsck-functions.sh @@ -45,6 +45,8 @@ if [ -z "$PASS" ] && [ -z "$a" ]; then S=`ps -o state --no-headers -p $!` || break [ "$S" != "Z" ] || break + # do not spin while waiting for fsck to start up + sleep 0.1 fi done } @@ -104,7 +106,6 @@ [ -n "$NAME" ] || break usplash_write "VERBOSE on" - usplash_write "CLEAR" if [ "$CLEAN" ]; then usplash_write "TEXT Routine check of drives: $NAME..." usplash_write "TEXT Press ESC to skip" @@ -117,14 +118,14 @@ fi fsck_progress_to_percent "$PASS" "$CUR" "$MAX" - usplash_write "STATUS $PERCENT% (stage $PASS/5, $CUR/$MAX) " + usplash_write "STATUS stage $PASS/5, $CUR/$MAX " + usplash_write "PROGRESS $PERCENT" # ESC interrupts check for clean drives if [ -n "$CLEAN" ]; then usplash_write "INPUTCHAR" read ch < /dev/.initramfs/usplash_outfifo if [ "$ch" = "$ESCAPE" ]; then - usplash_write "STATUS skip " kill %1 CANCEL=1 break @@ -132,10 +133,18 @@ fi done - usplash_write "STATUS " - usplash_write "CLEAR" - usplash_write "VERBOSE default" - usplash_write "TIMEOUT 15" + # clean up only if anything was displayed + if [ -z "$FIRST" ]; then + # report status based on cancellation + if [ -n "$CANCEL" ]; then + usplash_write "STATUS skip " + else + usplash_write "STATUS " + fi + usplash_write "TEXT Drive checks finished." + usplash_write "VERBOSE default" + usplash_write "TIMEOUT 15" + fi wait %1 # to collect fsck's exit code EXITCODE=$? [ -n "$CANCEL" ] && FSCKCODE=0 || FSCKCODE=$EXITCODE