faafaf12e5
...and some more cosmetic fixes
62 lines
3.9 KiB
Plaintext
62 lines
3.9 KiB
Plaintext
see also http://www.altlinux.org/Mkimage/Profiles/next;
|
||
|
||
quickstart: make distclean server-base.iso
|
||
|
||
configurables: ~/.mkimage/profiles.mk,
|
||
see doc/profiles.mk.sample and libdistro.mk
|
||
|
||
Концепция:
|
||
- метапрофиль служит репозиторием всего возможно нужного для
|
||
построения индивидуального профиля, по которому создаётся
|
||
итоговый дистрибутив
|
||
- для одноразовых модификаций можно подправить сгенерированный
|
||
профиль, для долгосрочной разработки стоит вливать правки
|
||
в метапрофиль (что требует больше навыков и времени)
|
||
|
||
Особенности:
|
||
- метапрофиль может быть полностью read-only при сборке
|
||
- для сборки подыскивается предпочтительно tmpfs
|
||
- в профиль копируются только нужные объекты;
|
||
он автономен относительно метапрофиля
|
||
|
||
Стадии работы:
|
||
- инициализация дистрибутивного профиля
|
||
- сборка конфигурации дистрибутива
|
||
- наполнение дистрибутивного профиля
|
||
- сборка дистрибутива
|
||
|
||
Объекты:
|
||
- дистрибутивы: distro.mk, могут основываться один на другом;
|
||
желательно избегать множественного наследования, используя
|
||
вместо него блоки use/*
|
||
- субпрофили (список собирается в $(SUBPROFILES)):
|
||
+ stage1: propagator и ядро инсталятора
|
||
+ install2: сам инсталятор
|
||
+ main: пакетная база к инсталяции (обязательная и дополнительная)
|
||
+ ...
|
||
- блоки функциональности use/*: не являются самостоятельными
|
||
(не путать с дистрибутивами), но законченными; могут жить
|
||
в distro.mk (или сделать use.mk?), либо же в индивидуальных
|
||
features.in/*/config.mk, если необходимо дополнить не только
|
||
distcfg.mk, а и дерево формируемого профиля
|
||
- фичи: законченные кусочки функциональности, могут зависеть
|
||
друг от друга; сливаются с соответствующими субпрофилями
|
||
при сборке $(BUILDDIR), могут нести с собой копируемые в один
|
||
или несколько субпрофилей каталоги/файлы и могут выполнять
|
||
необходимые действия во время сборки после копирования
|
||
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
|
||
(из того же config.mk, который будет включён в distro.mk)!
|
||
- списки пакетов: большая человеческая просьба по возможности
|
||
избегать дублирования и подумать над pkg/lists/tagged...
|
||
|
||
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
|
||
т.к. указанные пакеты попадут во все стадии (в т.ч.
|
||
stage1 и install2, чувствительные к объёму).
|
||
|
||
Результат:
|
||
- при успешном завершении сборки образ называется сообразно
|
||
дистрибутиву и укладывается в $(IMAGEDIR):
|
||
+ указанный явно,
|
||
+ либо ~/out/ (если возможно),
|
||
+ или $(BUILDDIR)/out/ иначе
|