[Devel-conf] predator: уточнение архитектуры модулей

Stanislav Ievlev =?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Ср Фев 4 12:37:37 MSK 2004


Вчера была тождественно занесена нога над граблей (что ж прототип есть
прототип). К счастью вовремя сработала сигнализация, оставленная бойцами из отряда alterator. 
Ночь размышления над обнаруженной миной выяснила истинную причину mis-design'а
и необходимость чётче сформулировать определения модуля:

Очень не хотелось этого делать, но в противном случае (как показали
размышления) мы будем вынуждены выкинуть всё что сейчас делаем.

1. Итак каждый модуль имеет две точки входа:
process - собственно процесс конфигурирования. Он полностью совпадает с
процессом конфигурирования в alterator.
post - актуализация произведённых изменений в устанавливаемой системе.

Например для модуля i18n:
process - выбор локали системы
post - перенос настроек в устанавливаемую систему

2. Все модули должны быть взаимо независимы. Максимум что они могут
делать: читать данные pot, заполненные из profile.
Это условие ключевое. В alterator модули могут запускаться в произвольном
порядке.

Саша, тебе необходимо внести корректировки в дизайн своих модулей. Все они
незначительные и делаются в течение 1-го часа.

1. i18n:process читает данные из файла, если они есть то использует как
значение по умолчанию в enumerator.
2. Результаты обработки записываются в конфигурационные файлы заново.
3. i18n:post копирует файлы конфигурации в устанавливаемую систему.
4. i18n:keyboard получает данные из файла какой язык был выбран основным
(какая-то общая функция, когда потом это будет оформлено как hook
необходимость в этом отпадёт)
   читает какая раскладка была выбрана, если есть использует как значение
   по умолчанию
5. i18n:post просто копирует данные в установленную систему.

Сейчас ещё не готов инструмент чтения конфигов, я им займусь сегодня.
Тебе ничего переписывать не надо. Поменяется _только_ функция получения
ранее установленного значения. Как только инструментарий будет готов,
замена содержимого функции - дело 15 минут.
Пока инструментарий не готов, данная функция будет работать с pot,
собственно что она раньше и делала.

--
Стас.




Подробная информация о списке рассылки devel-conf