2012-10-31 01:21:23 +04:00
== conf.d ==
2013-06-10 17:37:16 +04:00
2011-10-31 14:40:02 +04:00
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
2013-06-10 17:37:16 +04:00
чтобы было удобнее параллельно разрабатывать специфические образы
без излишних 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 -- тревожный признак.
2014-03-21 20:52:01 +04:00
Вместо него нередко может помочь выделение кусочков конфигурации
в пределах включаемого файла в цели mixin/*, которые не являются
самостоятельными или даже промежуточными, но включают полезные
группы настроек, нужных в различных образах, не наследующих
друг другу -- посмотрите существующие примеры использования.
2014-03-05 18:09:56 +04:00
По переменным (см. тж. doc/pkglists.txt):
2012-06-25 15:52:56 +04:00
2013-06-10 17:37:16 +04:00
* для пользовательского окружения (live, main) предназначены
2012-06-25 15:52:56 +04:00
THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP
2013-06-10 17:37:16 +04:00
* для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
2012-06-25 15:52:56 +04:00
(NB: тоже попадают в базовую установку)
2013-06-10 17:37:16 +04:00
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
2011-11-06 23:57:28 +04:00
во все стадии, в том числе в образ чувствительной к объёму install2
(в stage1 -- только в инструментальный чрут); применяйте для того,
2011-12-19 23:28:42 +04:00
что обязано быть и в инсталяторе, и в готовой системе
2012-06-25 15:52:56 +04:00
2013-06-10 17:37:16 +04:00
* для направленного действия служат:
** 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 ("живая" система)
* аналогично по модулям ядра:
** THE_KMODULES попадут в "пользовательскую" среду (live, main)
** STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
** BASE_KMODULES попадут в установку по умолчанию
** MAIN_KMODULES будут доступны для установки с носителя
** LIVE_KMODULES предназначены для LiveCD/LiveFlash
2011-11-06 23:57:28 +04:00
2012-06-25 15:52:56 +04:00
Н е стоит бояться такого разнообразия, для большинства задач достаточно THE_*.
2011-11-06 23:57:28 +04:00
По подстановкам:
2013-06-10 17:37:16 +04:00
* $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
* $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
2011-12-19 23:28:42 +04:00
значений; в этом случае их значения могут изменяться до окончания
конфигурации, а также зависеть от значений других переменных
2012-04-09 23:18:31 +04:00
По спискам пакетов:
2013-06-10 17:37:16 +04:00
* на этапе экспериментирования можно забивать прямо в описание образа
* при фиксации состояния стоит воспользоваться существующими списками,
2012-04-09 23:18:31 +04:00
а дополнительные оформить как можно более чётко обособленными по тем
задачам, для решения которых они и подобраны
2013-06-10 17:37:16 +04:00
* повторяющиеся логически связанные группы списков может иметь смысл
2012-04-09 23:18:31 +04:00
выделить в фичу (см., например, power или x11)
2013-06-10 17:37:16 +04:00
* если явной фичи не наблюдается, но у группы дистрибутивов намечается
2012-04-09 23:18:31 +04:00
заметная общая часть -- её можно выделить в промежуточную цель вида
distro/.name, не являющуюся самостоятельно собираемой