c08e86afc5
Thanks both drool@ for his mild frustration with the current documentation as well as Greg Kroah-Hartman, Heikki Orsila and Neil Brown for http://lwn.net/Articles/504814/ -- the docs should really emphasize *why* something is done, not *how*, as the "how" part is better documented with the code itself (that doesn't mean that "the big picture" isn't needed).
34 lines
2.5 KiB
Plaintext
34 lines
2.5 KiB
Plaintext
Этот каталог содержит т.н. фичи (features, особенности).
|
||
|
||
Фича -- отдельно подключаемая сущность, которая содержит
|
||
повторно используемые конфигурацию/код и определяет одну
|
||
из особенностей создаваемого образа. Может зависеть от
|
||
других фич либо субпрофилей.
|
||
|
||
Каждая фича должна содержать файл config.mk, включаемый
|
||
в ../main.mk при построении конфигурации будущего профиля;
|
||
он может описывать одну или более целей вида use/*,
|
||
дополняющих конфигурацию, и обязан добавить имя фичи
|
||
в $(FEATURES), для чего создана функция add_feature.
|
||
|
||
На этапе генерации сборочного профиля фичи рассматриваются
|
||
после инициализации профиля (см. ../image.in/) и копирования
|
||
субпрофилей (см. ../sub.in/). Для каждой фичи, указанной
|
||
в $(FEATURES), копируются подкаталоги сообразно включенным
|
||
субпрофилям, а также lib/ и {image-,}scripts.d/; затем
|
||
выполняются generate.sh и generate.mk при их наличии.
|
||
|
||
Если фича дополняет хуками семейство целевых субпрофилей,
|
||
построенных на одном базовом, можно воспользоваться подкаталогом
|
||
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).
|
||
|
||
Наиболее востребованные цели можно снабжать "ярлычками" вроде
|
||
"+icewm" с тем, чтобы сделать более краткими и выразительными
|
||
использующие их правила. Просьба не злоупотреблять количеством.
|
||
|
||
Каталог lib/ является специфическим для фич, определяющих
|
||
построение конкретного вида образа -- см. build-*/.
|
||
|
||
Несложный пример содержится в 00example/, более близкий к жизни
|
||
и нынешним пределам возможностей метапрофиля -- в syslinux/.
|