Bug 6300

Summary: перенести splash_update "$subsys" выше проверки на запускаемость
Product: [Development] Sisyphus Reporter: Anton Farygin <rider@altlinux.org>
Component: startupAssignee: Dmitry V. Levin <ldv@altlinux.org>
Status: CLOSED FIXED QA Contact: qa-sisyphus@altlinux.org
Severity: normal    
Priority: P2 CC: legion@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
old version of splash functions none

Description From 2005-03-22 13:26:07
в /etc/rc.d/rc необходимо перенести 
splash_update "$subsys"
выше чем 
[ -f "/var/lock/subsys/$subsys" -o -f "/var/lock/subsys/$subsys.init" ] && continue 
для START и STOP скриптов.

Иначе не получается расчитать точное количество скриптов, необходимых для
отображения в bootsplash.
------- Comment #1 From 2005-03-22 15:28:37 -------
Перенёс, хотя мотивации не понял.
Fixed in startup-0.9.5.1-alt1
------- Comment #2 From 2005-03-22 15:34:52 -------
Спасибо.

Мотивация такова:
количество шагов progress'а подсчитывается как:
    for i in /etc/rc$runlevel.d/*
    do
        a=$[splash_nbservices++]
    done
    for i in /etc/rc$runlevel.d/*.rpm*
    do
        a=$[splash_nbservices--]
    done

Далее при выполнении каждого шага увеличивается некая переменная и splash ползет
по формуле:
$(( 65534 * ( $splash_progress + 1) / $num ))

Где $splash_progress - текущее значение, $num - общее количество, а 65534 - 100%
splash'а (при записи этого значения в /proc/splash получим полностью заполненный
прогресс-бар).

Соответственно, т.к. мы общее количество сервисов подсчитали, то нам нужно в
цикле на каждый сервис, который мы проходим - увеличивать progress bar. Иначе он
просто не дойдет до конца, если мы будем скипать часть сервисов.

В общем примерно так ;-)

Да, я эту беду написал что бы потом самому не забыть.
------- Comment #3 From 2005-03-22 15:43:08 -------
Created an attachment (id=776) [details]
old version of splash functions

Вот те splash-функции, глядя на которые я понял, что мантейнить их я не могу.
Кладу их сюда на пямять, может кому понадобятся.