You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
5.1 KiB
70 lines
5.1 KiB
3 years ago
|
== conf.d ==
|
||
|
|
||
|
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
|
||
|
чтобы было удобнее параллельно разрабатывать специфические образы
|
||
|
без излишних merge conflict'ов.
|
||
|
|
||
|
Следует понимать, что основная цель появления mkimage-profiles на свет
|
||
|
-- это уменьшение "форков" внутри семейства дистрибутивных профилей.
|
||
|
Поэтому при возможности следует всё-таки работать над общей базовой
|
||
|
частью, включая скриптовые хуки и списки пакетов, а также оптимизировать
|
||
|
граф зависимостей между конфигурациями образов.
|
||
|
|
||
|
Попросту говоря, copy-paste -- тревожный признак.
|
||
|
|
||
|
Вместо него нередко может помочь выделение кусочков конфигурации
|
||
|
в пределах включаемого файла в цели mixin/*, которые не являются
|
||
|
самостоятельными или даже промежуточными, но включают полезные
|
||
|
группы настроек, нужных в различных образах, не наследующих
|
||
|
друг другу -- посмотрите существующие примеры использования.
|
||
|
|
||
|
По переменным (см. тж. doc/pkglists.txt):
|
||
|
|
||
|
* для пользовательского окружения (live, main) предназначены
|
||
|
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
|
||
|
|
||
|
* для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES и
|
||
|
COMMON_LISTS
|
||
|
(NB: тоже попадают в базовую установку, ve/ и vm/ сборки)
|
||
|
|
||
|
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
|
||
|
во все стадии, в том числе в образ чувствительной к объёму install2
|
||
|
(в stage1 -- только в инструментальный чрут); применяйте для того,
|
||
|
что обязано быть и в инсталяторе, и в готовой системе (но не в rescue)
|
||
|
|
||
|
* для направленного действия служат:
|
||
|
** STAGE1_PACKAGES, STAGE1_PACKAGES_REGEXP (первая стадия загрузки)
|
||
|
** STAGE2_PACKAGES (инсталятор и спасательная/"живая" система)
|
||
|
** INSTALL2_PACKAGES (инсталятор)
|
||
|
** BASE_PACKAGES, BASE_LISTS, BASE_PACKAGES_REGEXP (базовая система)
|
||
|
** MAIN_PACKAGES, MAIN_LISTS, MAIN_PACKAGES_REGEXP (дополнительные пакеты)
|
||
|
** LIVE_PACKAGES, LIVE_LISTS, LIVE_PACKAGES_REGEXP ("живая" система)
|
||
|
|
||
|
* аналогично по kernel-modules-*:
|
||
|
** THE_KMODULES попадут в "пользовательскую" среду (live, main)
|
||
|
** STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
|
||
|
** BASE_KMODULES попадут в установку по умолчанию
|
||
|
** MAIN_KMODULES будут доступны для установки с носителя
|
||
|
** LIVE_KMODULES предназначены для LiveCD/LiveFlash
|
||
|
|
||
|
Не стоит бояться такого разнообразия, для большинства задач достаточно THE_*.
|
||
|
|
||
|
По подстановкам:
|
||
|
|
||
|
* $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
|
||
|
* $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
|
||
|
значений; в этом случае их значения могут изменяться до окончания
|
||
|
конфигурации, а также зависеть от значений других переменных
|
||
|
|
||
|
По спискам пакетов:
|
||
|
|
||
|
* на этапе экспериментирования можно забивать прямо в описание образа
|
||
|
* при фиксации состояния стоит воспользоваться существующими списками,
|
||
|
а дополнительные оформить как можно более чётко обособленными по тем
|
||
|
задачам, для решения которых они и подобраны
|
||
|
* повторяющиеся логически связанные группы списков может иметь смысл
|
||
|
выделить в фичу (см., например, power или x11)
|
||
|
* если явной фичи не наблюдается, но у группы дистрибутивов намечается
|
||
|
заметная общая часть -- её можно выделить в промежуточную цель вида
|
||
|
distro/.name, не являющуюся самостоятельно собираемой
|