Bug 6275

Summary: silent bootsplash support
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: serviceAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: glebfm, ldv, legion, placeholder, shrek
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 6274    
Attachments:
Description Flags
service-0.5.7-bootsplash-silent.patch
none
Proposed change none

Description Anton Farygin 2005-03-17 18:14:17 MSK
Необходимо добавить функции для поддержки silent режима bootsplash'а.
Comment 1 Anton Farygin 2005-03-17 18:14:36 MSK
Created attachment 773 [details]
service-0.5.7-bootsplash-silent.patch
Comment 2 Sir Raorn 2005-03-17 18:41:13 MSK
А #6270 тут при чём?
Comment 3 Anton Farygin 2005-03-17 19:09:16 MSK
Упс.. промахнулся.. конечно #6274
Comment 4 Dmitry V. Levin 2005-03-18 15:40:11 MSK
Этот патч добавляет код, написанный в другом стиле.
На то, чтобы интегрировать его в /etc/init.d/functions, у меня уйдёт некоторое
время.
Comment 5 Dmitry V. Levin 2005-03-18 15:48:42 MSK
В другом стиле - это ещё мягко сказано.
Comment 6 Anton Farygin 2005-03-18 19:54:53 MSK
хорошо, у нас еще есть некоторое время на то, что бы ждать.
А может добавить а потом стиль менять ?
Comment 7 Dmitry V. Levin 2005-03-18 21:11:06 MSK
Мне важно, чтобы поведение системы в случае неиспользования bootsplash не
менялось совсем.  Поэтому патч надо доработать.
Comment 8 Dmitry V. Levin 2005-03-20 20:56:59 MSK
Я не могу разрешить экспортирование такой кучи переменных:
export nbservices res theme progress_enable progress text_x text_y text_color
text_size splash_rc LOGO_CONSOLE PROMPT

Пожалуйста, попробуй:
1. уменьшить этот список
2. переименовать те переменные, которые экспортировать необходимо
Comment 9 Dmitry V. Levin 2005-03-20 20:59:49 MSK
Очень большая просьба переименовать /sbin/splash.sh
во что-нибудь более благозвучное, пока мы не завязались
на использование этого имени.
Comment 10 Dmitry V. Levin 2005-03-21 02:43:10 MSK
Кстати, тот код, который ты предлагаешь добавить в init.d/functions,
очень сильно напоминает код в splash.sh
Обычно во избежание коллизий дублирования общий код выносят в отдельный файл.
Comment 11 Anton Farygin 2005-03-21 16:33:48 MSK
(In reply to comment #8)
> Я не могу разрешить экспортирование такой кучи переменных:
> export nbservices res theme progress_enable progress text_x text_y text_color
> text_size splash_rc LOGO_CONSOLE PROMPT
> 
> Пожалуйста, попробуй:
> 1. уменьшить этот список
> 2. переименовать те переменные, которые экспортировать необходимо

Уменьшить попробую... последняя переменная (PROMPT) экспортируется для
выключения getkey.

А во что переименовать ?
Добавить перед переменной префикс ?
Comment 12 Dmitry V. Levin 2005-03-21 17:47:48 MSK
Created attachment 775 [details]
Proposed change

Чтобы внедрение bootsplash не затягивалось и остальная система не страдала,
предлагаю поступить следующим образом:
Я добавляю минимально необходимую поддержку bootsplash в пакете service таким
образом, чтобы её можно было по мере необходимости дорабатывать в пакете
bootsplash.
Изменения в пакете startup при этом можно будет приложить с минимальными
изменениями.
Comment 13 Anton Farygin 2005-03-21 18:36:17 MSK
Добро. Давай так и сделаем.
Comment 14 Dmitry V. Levin 2005-03-22 14:50:28 MSK
В service-0.5.8-alt1 я добавил 2 новые функции, splash_init и splash_update, с
той же семантикой вызова, что и у предложенных initsplash/rc_splash.

splash_init(), помимо базовых проверок и загрузки /etc/sysconfig/bootsplash,
загружает файл с определением функции(й) bootsplash.
По умолчанию это файл /etc/init.d/functions-bootsplash, по окончании загрузки
этого файла должна быть определена переменная splash_init (эксаортировать её не
надо), содержащая имя функции, которую надо вызвать по окончании splash_init().
Функцию инициализации можно назвать bootsplash_init, если но лучшее не хватит
фантазии.  По окончании работы этой функции должна быть определена переменная
splash_exe (эксаортировать её тоже не надо), содержащая имя программы, которую
будет запускать splash_update().
У меня только что возникла мысль, что имеет смысл разрешить $splash_exe быть не
только программой, но и функцией.  Если это так, напишите.