From 2693f8dd3e3b5187881cb4e3ef5ede502e6972fb Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 28 Mar 2007 15:46:02 +0000 Subject: sysvinit: Various progress bar fixes, especially reboot/halt handling git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1406 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/packages/sysvinit/sysvinit/rc | 36 ++++++++++++++++----------------- meta/packages/sysvinit/sysvinit_2.86.bb | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/meta/packages/sysvinit/sysvinit/rc b/meta/packages/sysvinit/sysvinit/rc index 2abc818ee..30b69ad51 100755 --- a/meta/packages/sysvinit/sysvinit/rc +++ b/meta/packages/sysvinit/sysvinit/rc @@ -20,12 +20,12 @@ export VERBOSE startup_progress() { step=$(($step + $step_change)) - denominator=$(($num_steps + $first_step)) - if [ "$denominator" != "0" ]; then - progress=$(($step * $progress_size / $denominator)) + if [ "$num_steps" != "0" ]; then + progress=$((($step * $progress_size / $num_steps) + $first_step)) else progress=$progress_size fi + #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size" if type psplash-write >/dev/null 2>&1; then TMPDIR=/mnt/.psplash psplash-write "PROGRESS $progress" || true fi @@ -91,10 +91,10 @@ startup() { case "$runlevel" in 0|6) - # Count down from 0 to -100 and use the entire bar - first_step=0 + # Count down from -100 to 0 and use the entire bar + first_step=-100 progress_size=100 - step_change=-1 + step_change=1 ;; S) # Begin where the initramfs left off and use 2/3 @@ -111,6 +111,17 @@ startup() { ;; esac + num_steps=0 + for s in /etc/rc$runlevel.d/[SK]*; do + case "${s##/etc/rc$runlevel.d/S??}" in + gdm|xdm|kdm|reboot|halt) + break + ;; + esac + num_steps=$(($num_steps + 1)) + done + step=0 + # First, run the KILL scripts. if [ $previous != N ] then @@ -124,18 +135,6 @@ startup() { done fi - num_steps=0 - for s in /etc/rc$runlevel.d/[SK]*; do - case "${s##/etc/rc$runlevel.d/S??}" in - gdm|xdm|kdm|reboot|halt) - break - ;; - esac - num_steps=$(($num_steps + 1)) - done - - step=0 - # Now run the START scripts for this runlevel. for i in /etc/rc$runlevel.d/S* do @@ -168,6 +167,7 @@ startup() { done fi +#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch #if [ "x$runlevel" != "xS" ]; then # if type psplash-write >/dev/null 2>&1; then # TMPDIR=/mnt/.psplash psplash-write "QUIT" || true diff --git a/meta/packages/sysvinit/sysvinit_2.86.bb b/meta/packages/sysvinit/sysvinit_2.86.bb index 97b611fe9..885199e54 100644 --- a/meta/packages/sysvinit/sysvinit_2.86.bb +++ b/meta/packages/sysvinit/sysvinit_2.86.bb @@ -2,7 +2,7 @@ DESCRIPTION = "System-V like init." SECTION = "base" LICENSE = "GPL" HOMEPAGE = "http://freshmeat.net/projects/sysvinit/" -PR = "r27" +PR = "r28" # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. # Set PACKAGE_ARCH appropriately. -- cgit v1.2.3