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). |
||
---|---|---|
.. | ||
00example | ||
bootloader | ||
branding | ||
build-distro | ||
build-ve | ||
build-vm | ||
cleanup | ||
dev | ||
dos | ||
firmware | ||
hdt | ||
install2 | ||
isohybrid | ||
isomd5sum | ||
kernel | ||
live | ||
lowmem | ||
ltsp | ||
memtest | ||
metadata | ||
pack | ||
plymouth | ||
power | ||
repo | ||
rescue | ||
server | ||
slinux | ||
stage2 | ||
syslinux | ||
systemd | ||
vm-net | ||
vm-ssh | ||
vmguest | ||
x11 | ||
Makefile | ||
README |
Этот каталог содержит т.н. фичи (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/.