mkimage-profiles/conf.d
Michael Shigorin 6b0e583843 live: factored out installation options
After having added metadata dependency livecd-install
started to look more like a feature than like an intermediate
distribution target; so things were shuffled a bit that way.
2012-05-10 21:18:02 +03:00
..
alien.mk initial alien image support 2012-03-26 22:40:40 +03:00
desktop.mk virtualbox feature renamed to vm, extended 2012-04-18 21:04:11 +03:00
live.mk live: factored out installation options 2012-05-10 21:18:02 +03:00
README implemented {THE,BASE,LIVE}_PACKAGES_REGEXP 2012-04-10 23:39:53 +04:00
server.mk server-ovz -= kernel-wifi 2012-05-06 19:17:10 +03:00
simply.mk simply: dvd refactoring 2012-05-06 21:58:25 +03:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Этот каталог содержит включаемые фрагменты конфигурации образов с тем,
чтобы было удобнее параллельно разрабатывать специфические дистрибутивы
и VE без излишних merge conflict'ов.

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

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

По переменным:
- SYSTEM_PACKAGES стоит применять крайне осторожно -- эти пакеты попадут
  во все стадии, в том числе в образ чувствительной к объёму install2
  (в stage1 -- только в инструментальный чрут); применяйте для того,
  что обязано быть и в инсталяторе, и в готовой системе
- для "обычного общего" (live, main, rescue) есть COMMON_PACKAGES
  (NB: попадают в базовую систему)
- для "пользовательского" окружения (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 ("живая" система)
- аналогично по модулям ядра:
  + THE_KMODULES попадут в "пользовательскую" среду (live, main)
  + STAGE1_KMODULES доступны в производных от stage2 (install2, live, rescue)
  + BASE_KMODULES попадут в установку по умолчанию
  + MAIN_KMODULES будут доступны для установки с носителя
  + LIVE_KMODULES предназначены для LiveCD/LiveFlash

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

По спискам пакетов:
- на этапе экспериментирования можно забивать прямо в описание образа
- при фиксации состояния стоит воспользоваться существующими списками,
  а дополнительные оформить как можно более чётко обособленными по тем
  задачам, для решения которых они и подобраны
- повторяющиеся логически связанные группы списков может иметь смысл
  выделить в фичу (см., например, power или x11)
- если явной фичи не наблюдается, но у группы дистрибутивов намечается
  заметная общая часть -- её можно выделить в промежуточную цель вида
  distro/.name, не являющуюся самостоятельно собираемой