b5ff2b24b4
Aimed at live images at first but should cover installers as well. This has been brewing for quite some time and while the proper implementation is considerably more complex (and hard to do) looks like there's demand for the particular important use case, namely LiveCDs for Russian users, so this code has been shared with a few people before merge. |
||
---|---|---|
.. | ||
00example | ||
armh | ||
armh-cubox | ||
armh-dovefb | ||
armh-nexus7 | ||
armh-tegra3 | ||
bootloader | ||
branding | ||
browser | ||
build-distro | ||
build-ve | ||
build-vm | ||
cleanup | ||
control | ||
deflogin | ||
dev | ||
domain-client | ||
dos | ||
efi | ||
firmware | ||
fonts | ||
hdt | ||
homeros | ||
init | ||
install2 | ||
isohybrid | ||
isomd5sum | ||
kernel | ||
l10n | ||
live | ||
lowmem | ||
ltsp | ||
luks | ||
mediacheck | ||
memtest | ||
metadata | ||
net | ||
net-eth | ||
net-ssh | ||
net-usershares | ||
oem | ||
pack | ||
pid1 | ||
plymouth | ||
power | ||
relname | ||
repo | ||
rescue | ||
robotics | ||
server | ||
services | ||
slinux | ||
sound | ||
speech | ||
stage2 | ||
syslinux | ||
tty | ||
vmguest | ||
wireless | ||
x11 | ||
x11-autologin | ||
x11-autostart | ||
xdg-user-dirs | ||
Makefile | ||
README |
== 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 в каталогах фич (отсутствие -- баг!).