3dd020338b
So far the tagged scripts concept is too fragile, and these were used unconditionally anyways. features.in/Makefile is broken regarding copying tagged scripts right now... |
||
---|---|---|
.. | ||
00example | ||
bootloader | ||
build-distro | ||
build-ve | ||
cleanup | ||
dev | ||
dos | ||
firmware | ||
hdt | ||
install2 | ||
isohybrid | ||
isomd5sum | ||
live | ||
lowmem | ||
ltsp | ||
memtest | ||
pack | ||
power | ||
repo | ||
rescue | ||
stage2 | ||
syslinux | ||
systemd | ||
virtualbox | ||
x11 | ||
Makefile | ||
README |
Этот каталог содержит т.н. фичи (features, особенности) -- каталоги, содержимое каждого из которых реализует одну из подключаемых автономных возможностей образа. Каждая фича должна содержать задействуемый при построении конфигурации будущего образа файл config.mk, включаемый в ../main.mk; он может описывать одну или более целей вида use/*, дополняющих конфигурацию, и при наличии дополнительных хуков для копирования или generate.* обязан добавить имя фичи в $(FEATURES), для чего создана функция add_feature без аргументов. На этапе генерации сборочного профиля фичи рассматриваются после инициализации профиля (см. ../image.in/) и копирования субпрофилей (см. ../sub.in/). Для каждой фичи, указанной в $(FEATURES), копируются подкаталоги сообразно субпрофилям, а также производится обработка {tagged/,}{image-,}scripts.d/; затем выполняется скрипт generate.sh и задействуется generate.mk (при их наличии). NB: тегированные скрипты являются экспериментальными, возможны недоработки и существенные изменения! Если фича дополняет хуками семейство целевых субпрофилей, построенных на одном базовом, можно воспользоваться подкаталогом с именем исходного базового субпрофиля (см. $src, $dst в Makefile). Каталог lib/ является специфическим для фич, определяющих построение конкретного вида образа -- см. build-*/. Несложный пример содержится в 00example/, более близкий к жизни и нынешним пределам возможностей метапрофиля -- в syslinux/.