2010-09-22 01:58:24 +04:00
Этот каталог содержит "заготовку" фичи в качестве примера
и должен дать представление о том, какой код _мо же т_ быть
включён в настоящую фичу: статические файлы, два makefile
для создания конфигурации и генерирования части профиля,
2011-11-06 23:57:28 +04:00
а также шелл-скрипт для такого генерирования.
2010-09-22 01:58:24 +04:00
2011-11-06 23:57:28 +04:00
Вовсе не требуется втягивать всё в свою фичу: лучше постараться
2010-09-22 01:58:24 +04:00
сделать её минимальной, самодостаточной и полезной в качестве
"кирпичика".
2011-11-06 23:57:28 +04:00
Единственной обязательной частью фичи является файл config.mk,
2010-09-22 01:58:24 +04:00
который включается в distro.mk верхнего уровня и предоставляет
2011-11-06 23:57:28 +04:00
цель вида use/*, специфичную для данной фичи, а также добавляет
её в переменную FEATURES. Если название фичи не упоминается
в списке, содержащемся в этой переменной, то она не задействуется
при построении профиля, а только при сборке конфигурации.
2010-09-22 01:58:24 +04:00
2012-04-02 19:13:14 +04:00
Для наиболее ходовых целей use/*, особенно если их много, можно
создавать цели-алиасы +* (например, +power). Просьба относиться
вдумчиво, т.к. в дальнейшем предполагается визуализировать такие
цели в UI конфигурирования образа.
2010-09-22 01:58:24 +04:00
Остальное содержимое является дополнительным и используется
2011-11-06 23:57:28 +04:00
в таком порядке (см. ../Makefile):
2010-09-22 01:58:24 +04:00
- сперва в $(BUILDDIR)/image/ копируются все подкаталоги,
2011-11-06 23:57:28 +04:00
соответствующие итоговым именам субпрофилей, запрошенных
для профиля образа; при этом они сливаются с деревом,
2010-09-22 01:58:24 +04:00
которое уже сформировано субпрофилями (../sub.in/*) и уже
скопированными фичами; если какие-либо файлы перекрылись
по именам, rsync должен оставить резервные копии (*~),
которые должны просигнализировать о беспорядке;
2011-11-06 23:57:28 +04:00
- запускается generate.sh, если существует и исполнимый;
- применяется generate.mk, если существует и непустой.
2010-09-22 01:58:24 +04:00
2011-09-03 13:17:26 +04:00
Например, если используются субпрофили stage1, stage2/install2
2011-11-06 23:57:28 +04:00
и main, можно решить собрать специфические для фичи скрипты
2010-09-22 01:58:24 +04:00
инсталятора в install2/image-scripts.d/ (или необходимые для
2011-09-03 13:17:26 +04:00
операций с пакетной базой -- в main/scripts.d/, смотря чего
надо добиться; загляните также в документацию mkimage).
2010-09-22 01:58:24 +04:00
А если требуются нетривиальные действия по конфигурированию
(как при сборке syslinux.cfg из кусочков, в зависимости от того,
что из запрошенных модулей оказалось в наличии) -- то их можно
произвести из generate.sh и generate.mk.
Пожалуйста, присылайте отзывы о (б е с )полезности кода в этом каталоге
2011-10-06 12:46:31 +04:00
mike@altlinux.org.