Bug 6300 - перенести splash_update "$subsys" выше проверки на запускаемость
: перенести splash_update "$subsys" выше проверки на запускаемость
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/startup)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-03-22 13:26 by
Modified: 2005-07-13 15:47 (History)


Attachments
old version of splash functions (1.72 KB, text/plain)
2005-03-22 15:43, Dmitry V. Levin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


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-функции, глядя на которые я понял, что мантейнить их я не могу.
Кладу их сюда на пямять, может кому понадобятся.