forked from altcloud/mkimage-profiles
3f547e2504
This change is done to reduce ambiguity in some cases; the previous intention has been to ease navigation when staying in a particular directory, now it's been changed in favour of convenient toplevel `git grep' in fact. Both variants have their pros and cons, I just find myself leaning to this one by now hence the commit. Feel free to provide constructive criticism :) Some path-related bitrot has also been fixed while at that.
43 lines
3.0 KiB
Plaintext
43 lines
3.0 KiB
Plaintext
== features.in ==
|
||
|
||
Этот каталог содержит т.н. фичи (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/.
|
||
|
||
См. тж. файлы README в каталогах фич (отсутствие -- баг!).
|