ddf0c5b7c7
- toplevel README received some long-needed refactoring + lowlevel detail moved, well, to lowlevel READMEs - reflected more thoroughly that m-p is not about distros anymore - dropped features.in/00example/README.en: it's already out-of-date a bit, and there's no perceived need in thorough English docs so far - wiki article got split into parts and somewhat rewritten, links updated - mv doc/{CodingStyle,style.txt}
44 lines
3.4 KiB
Plaintext
44 lines
3.4 KiB
Plaintext
Этот каталог содержит "заготовку" фичи в качестве примера
|
||
и должен дать представление о том, какой код _может_ быть
|
||
включён в настоящую фичу: статические файлы, два makefile
|
||
для создания конфигурации и генерирования части профиля,
|
||
а также шелл-скрипт для такого генерирования.
|
||
|
||
Вовсе не требуется втягивать всё в свою фичу: лучше постараться
|
||
сделать её минимальной, самодостаточной и полезной в качестве
|
||
"кирпичика".
|
||
|
||
Единственной обязательной частью фичи является файл config.mk,
|
||
который включается в distro.mk верхнего уровня и предоставляет
|
||
цель вида use/*, специфичную для данной фичи, а также добавляет
|
||
её в переменную FEATURES. Если название фичи не упоминается
|
||
в списке, содержащемся в этой переменной, то она не задействуется
|
||
при построении профиля, а только при сборке конфигурации.
|
||
|
||
Остальное содержимое является дополнительным и используется
|
||
в таком порядке (см. ../Makefile):
|
||
|
||
- сперва в $(BUILDDIR)/image/ копируются все подкаталоги,
|
||
соответствующие итоговым именам субпрофилей, запрошенных
|
||
для профиля образа; при этом они сливаются с деревом,
|
||
которое уже сформировано субпрофилями (../sub.in/*) и уже
|
||
скопированными фичами; если какие-либо файлы перекрылись
|
||
по именам, rsync должен оставить резервные копии (*~),
|
||
которые должны просигнализировать о беспорядке;
|
||
- запускается generate.sh, если существует и исполнимый;
|
||
- применяется generate.mk, если существует и непустой.
|
||
|
||
Например, если используются субпрофили stage1, stage2/install2
|
||
и main, можно решить собрать специфические для фичи скрипты
|
||
инсталятора в install2/image-scripts.d/ (или необходимые для
|
||
операций с пакетной базой -- в main/scripts.d/, смотря чего
|
||
надо добиться; загляните также в документацию mkimage).
|
||
|
||
А если требуются нетривиальные действия по конфигурированию
|
||
(как при сборке syslinux.cfg из кусочков, в зависимости от того,
|
||
что из запрошенных модулей оказалось в наличии) -- то их можно
|
||
произвести из generate.sh и generate.mk.
|
||
|
||
Пожалуйста, присылайте отзывы о (бес)полезности кода в этом каталоге
|
||
mike@altlinux.org.
|