Bug 6300

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

Description Anton Farygin 2005-03-22 13:26:07 MSK
в /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 Dmitry V. Levin 2005-03-22 15:28:37 MSK
Перенёс, хотя мотивации не понял.
Fixed in startup-0.9.5.1-alt1
Comment 2 Anton Farygin 2005-03-22 15:34:52 MSK
Спасибо.

Мотивация такова:
количество шагов 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 Dmitry V. Levin 2005-03-22 15:43:08 MSK
Created attachment 776 [details]
old version of splash functions

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