README 5.06 KB
Newer Older
Mike Radyuk's avatar
Mike Radyuk committed
1
== conf.d ==
Michael Shigorin's avatar
Michael Shigorin committed
2

3
Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
Michael Shigorin's avatar
Michael Shigorin committed
4 5
чтобы было удобнее параллельно разрабатывать специфические образы
без излишних merge conflict'ов.
6 7 8 9 10

Следует понимать, что основная цель появления mkimage-profiles на свет
-- это уменьшение "форков" внутри семейства дистрибутивных профилей.
Поэтому при возможности следует всё-таки работать над общей базовой
частью, включая скриптовые хуки и списки пакетов, а также оптимизировать
Michael Shigorin's avatar
Michael Shigorin committed
11
граф зависимостей между конфигурациями образов.
12 13 14

Попросту говоря, copy-paste -- тревожный признак.

15 16 17 18 19 20
Вместо него нередко может помочь выделение кусочков конфигурации
в пределах включаемого файла в цели mixin/*, которые не являются
самостоятельными или даже промежуточными, но включают полезные
группы настроек, нужных в различных образах, не наследующих
друг другу -- посмотрите существующие примеры использования.

21
По переменным (см. тж. doc/pkglists.txt):
Michael Shigorin's avatar
Michael Shigorin committed
22

Michael Shigorin's avatar
Michael Shigorin committed
23
* для пользовательского окружения (live, main) предназначены
Michael Shigorin's avatar
Michael Shigorin committed
24 25
  THE_PACKAGES, THE_LISTS, THE_GROUPS, THE_PACKAGES_REGEXP

26 27 28
* для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES и
  COMMON_LISTS
  (NB: тоже попадают в базовую установку, ve/ и vm/ сборки)
Michael Shigorin's avatar
Michael Shigorin committed
29

Michael Shigorin's avatar
Michael Shigorin committed
30
* SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
Michael Shigorin's avatar
Michael Shigorin committed
31 32
  во все стадии, в том числе в образ чувствительной к объёму install2
  (в stage1 -- только в инструментальный чрут); применяйте для того,
33
  что обязано быть и в инсталяторе, и в готовой системе (но не в rescue)
Michael Shigorin's avatar
Michael Shigorin committed
34

Michael Shigorin's avatar
Michael Shigorin committed
35 36 37 38 39 40 41 42
* для направленного действия служат:
** 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 ("живая" система)

43
* аналогично по kernel-modules-*:
Michael Shigorin's avatar
Michael Shigorin committed
44 45 46 47 48
** THE_KMODULES попадут в "пользовательскую" среду (live, main)
** STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
** BASE_KMODULES попадут в установку по умолчанию
** MAIN_KMODULES будут доступны для установки с носителя
** LIVE_KMODULES предназначены для LiveCD/LiveFlash
Michael Shigorin's avatar
Michael Shigorin committed
49

Michael Shigorin's avatar
Michael Shigorin committed
50 51
Не стоит бояться такого разнообразия, для большинства задач достаточно THE_*.

Michael Shigorin's avatar
Michael Shigorin committed
52
По подстановкам:
Michael Shigorin's avatar
Michael Shigorin committed
53 54 55

* $(VAR) подставляются перед их записью в $(CONFIG), который distcfg.mk
* $$(VAR) раскрываются позже, при включении $(CONFIG) и востребовании
56 57
  значений; в этом случае их значения могут изменяться до окончания
  конфигурации, а также зависеть от значений других переменных
58 59

По спискам пакетов:
Michael Shigorin's avatar
Michael Shigorin committed
60 61 62

* на этапе экспериментирования можно забивать прямо в описание образа
* при фиксации состояния стоит воспользоваться существующими списками,
63 64
  а дополнительные оформить как можно более чётко обособленными по тем
  задачам, для решения которых они и подобраны
Michael Shigorin's avatar
Michael Shigorin committed
65
* повторяющиеся логически связанные группы списков может иметь смысл
66
  выделить в фичу (см., например, power или x11)
Michael Shigorin's avatar
Michael Shigorin committed
67
* если явной фичи не наблюдается, но у группы дистрибутивов намечается
68 69
  заметная общая часть -- её можно выделить в промежуточную цель вида
  distro/.name, не являющуюся самостоятельно собираемой