summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-03-28 15:46:02 +0000
committerRichard Purdie <richard@openedhand.com>2007-03-28 15:46:02 +0000
commit2693f8dd3e3b5187881cb4e3ef5ede502e6972fb (patch)
tree5e3862578a9c9418bf5636afabac4bc8d8cced6e
parent4641d219d2a3d8c0134fc8596a9965794dd8fbb6 (diff)
downloadopenembedded-core-2693f8dd3e3b5187881cb4e3ef5ede502e6972fb.tar.gz
openembedded-core-2693f8dd3e3b5187881cb4e3ef5ede502e6972fb.tar.bz2
openembedded-core-2693f8dd3e3b5187881cb4e3ef5ede502e6972fb.tar.xz
openembedded-core-2693f8dd3e3b5187881cb4e3ef5ede502e6972fb.zip
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
-rwxr-xr-xmeta/packages/sysvinit/sysvinit/rc36
-rw-r--r--meta/packages/sysvinit/sysvinit_2.86.bb2
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.