mkimage-profiles/conf.d
Anton Midyukov bb332bcc5d ve.mk: fix build systemd-bare, systemd-base
These targets do not have a network subsystem defined, so it was
not to add a target use/net-ssh.
2023-07-24 09:59:42 +07:00
..
alt-server.mk alt-server: Groups vbox-guest and vbox-host for x86_64 only 2022-11-16 22:56:49 +07:00
basealt.mk workstation-cloud: Add missing repo feature 2023-07-03 14:50:13 +07:00
desktop.mk desktop.mk: hide broken targets 2021-12-10 21:04:16 +07:00
e2k.mk remove desktop+lxqt+extra package list 2023-07-11 19:10:02 +07:00
education.mk education-lite-live: set LiveCD with session as default boot option 2023-06-05 17:51:08 +07:00
engineering.mk engineering.mk: not cleanup docs and rpmdb for live 2022-02-20 22:16:21 +07:00
homeros.mk speech-*: refactored and unified 2013-11-22 21:28:37 +04:00
kworkstation.mk - kwrk: exclude udev-rule-generator-net 2023-06-05 17:47:47 +07:00
live.mk Initial loongarch64 support 2023-07-14 21:33:02 +07:00
Makefile check-recipe: generalize dependency control 2017-01-29 15:50:58 +03:00
mixin-alt-server.mk mixin-alt-server.mk: If systemd-networkd is installed, enable it 2023-03-13 21:44:53 +07:00
mixin-basealt.mk workstation: Move scribus to the top level installer menu 2023-02-22 22:08:28 +07:00
mixin.mk mixin.mk: clean extra package from cinnamon 2023-07-11 19:12:02 +07:00
phone.mk phone.mk: use partition table msdos for vm/phosh on aarch64 2023-07-18 23:16:26 +07:00
README Add COMMON_LISTS variable support by analogy COMMON_PACKAGES 2021-08-31 00:42:31 +07:00
realtime.mk realtime.mk: drop vm/regular-cnc-rt 2023-07-24 09:59:42 +07:00
regular-vm.mk regular-vm.mk: add +efi to mixin/vm-archdep for x86_64, aarch64 2023-07-24 09:59:42 +07:00
regular.mk regular.mk: exclude +vmguest for sysvinit 2023-07-18 23:51:44 +07:00
server-v.mk server-v: enable pve-lxc-syscalld service 2023-01-07 09:39:38 +07:00
server.mk install2: remove target use/install2/cleanup/crypto 2023-07-04 14:14:48 +07:00
slinux.mk Drop aarch64-tegra feature 2022-07-14 19:32:19 +07:00
test.mk test.mk: add package availability test in all package lists 2021-08-23 21:09:07 +07:00
ve.mk ve.mk: fix build systemd-bare, systemd-base 2023-07-24 09:59:42 +07:00
vm.mk vm.mk: Add cloud-init-config-netplan package to vm/cloud-systemd 2022-11-16 22:33:46 +07: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.

== 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, не являющуюся самостоятельно собираемой