| Summary: | перенести splash_update "$subsys" выше проверки на запускаемость | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Anton Farygin <rider> | ||||
| Component: | startup | Assignee: | 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
Anton Farygin
2005-03-22 13:26:07 MSK
Перенёс, хотя мотивации не понял. Fixed in startup-0.9.5.1-alt1 Спасибо.
Мотивация такова:
количество шагов 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. Иначе он
просто не дойдет до конца, если мы будем скипать часть сервисов.
В общем примерно так ;-)
Да, я эту беду написал что бы потом самому не забыть.
Created attachment 776 [details]
old version of splash functions
Вот те splash-функции, глядя на которые я понял, что мантейнить их я не могу.
Кладу их сюда на пямять, может кому понадобятся.
|