2011-10-31 14:40:02 +04:00
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
2011-11-06 23:57:28 +04:00
и VE без излишних merge conflict'ов.
2011-10-31 14:40:02 +04:00
Следует понимать, что основная цель появления mkimage-profiles на свет
-- это уменьшение "форков" внутри семейства дистрибутивных профилей.
Поэтому при возможности следует всё-таки работать над общей базовой
частью, включая скриптовые хуки и списки пакетов, а также оптимизировать
2011-11-06 23:57:28 +04:00
граф зависимостей между конфигурациями образов.
2011-10-31 14:40:02 +04:00
Попросту говоря, copy-paste -- тревожный признак.
2011-11-06 23:57:28 +04:00
По переменным:
2011-12-19 23:28:42 +04:00
- SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
2011-11-06 23:57:28 +04:00
во все стадии, в том числе в образ чувствительной к объёму install2
(в stage1 -- только в инструментальный чрут); применяйте для того,
2011-12-19 23:28:42 +04:00
что обязано быть и в инсталяторе, и в готовой системе
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
(NB: попадают в базовую систему)
2012-04-10 19:14:01 +04:00
- для "пользовательского" окружения (live, main) предназначены
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
- для строго направленного действия служат:
+ STAGE1_PACKAGES, STAGE1_PACKAGES_REGEXP (первая стадия загрузки)
+ INSTALL2_PACKAGES (инсталятор)
+ BASE_PACKAGES, BASE_LISTS, BASE_PACKAGES_REGEXP (базовая система)
+ MAIN_PACKAGES, MAIN_LISTS, MAIN_PACKAGES_REGEXP (дополнительные пакеты)
+ LIVE_PACKAGES, LIVE_LISTS, LIVE_PACKAGES_REGEXP ("живая" система)
2011-12-19 23:28:42 +04:00
- аналогично по модулям ядра:
2012-04-10 19:14:01 +04:00
+ THE_KMODULES попадут в "пользовательскую" среду (live, main)
2011-12-19 23:28:42 +04:00
+ STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
+ BASE_KMODULES попадут в установку по умолчанию
+ MAIN_KMODULES будут доступны для установки с носителя
+ LIVE_KMODULES предназначены для LiveCD/LiveFlash
2011-11-06 23:57:28 +04:00
По подстановкам:
2011-12-19 23:28:42 +04:00
- $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
- $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
значений; в этом случае их значения могут изменяться до окончания
конфигурации, а также зависеть от значений других переменных
2012-04-09 23:18:31 +04:00
По спискам пакетов:
- на этапе экспериментирования можно забивать прямо в описание образа
- при фиксации состояния стоит воспользоваться существующими списками,
а дополнительные оформить как можно более чётко обособленными по тем
задачам, для решения которых они и подобраны
- повторяющиеся логически связанные группы списков может иметь смысл
выделить в фичу (см., например, power или x11)
- если явной фичи не наблюдается, но у группы дистрибутивов намечается
заметная общая часть -- её можно выделить в промежуточную цель вида
distro/.name, не являющуюся самостоятельно собираемой