mkimage-profiles/features.in/README
Michael Shigorin 3f547e2504 documentation: use paths relative to toplevel dir
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.
2014-03-05 21:36:30 +04:00

43 lines
3.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

== 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 в каталогах фич (отсутствие -- баг!).