d77e1d8dc8
A major change in approach largely thanks to discussions with Alexey Cheusov but also well aligned with my own findings: autoconf doesn't let the variables to form an inheritance. And data flow described at http://www.altlinux.org/WhiteLabel (which in its turn was born thanks to Gavin Henrick of Diva Telecom and to Alexander Bokovoy of SaM-Solutions) is really dependent on the existence of such an inheritance. Also: - distro.mk += try() - "hide" special targets - fixed wrt distro/.{base,init,metaconf}, thx gns@ - README updates + added metaconf.mk + clarifications - updated pci.ids location for hdt
49 lines
3.1 KiB
Plaintext
49 lines
3.1 KiB
Plaintext
see also http://www.altlinux.org/Mkimage/Profiles/next;
|
||
|
||
quickstart: make distclean server-light.iso
|
||
|
||
configurables: ~/.mkimage/metaconf.mk, see distro.mk
|
||
|
||
Концепция:
|
||
- метапрофиль служит репозиторием всего возможно нужного для
|
||
построения индивидуального профиля, по которому создаётся
|
||
итоговый дистрибутив
|
||
|
||
Особенности:
|
||
- метапрофиль может быть полностью read-only при сборке
|
||
- для сборки подыскивается предпочтительно tmpfs
|
||
- в профиль копируются только нужные объекты
|
||
|
||
Стадии работы:
|
||
- сборка конфигурации дистрибутива
|
||
- порождение дистрибутивного профиля
|
||
- сборка дистрибутива
|
||
|
||
Объекты:
|
||
- дистрибутивы: distro.mk, могут основываться один на другом;
|
||
желательно избегать множественного наследования, используя
|
||
вместо него блоки use/*
|
||
- субпрофили (список собирается в $(SUBPROFILES)):
|
||
+ stage1: propagator (ожидается после syslinux)
|
||
+ install2: инсталятор
|
||
+ main: пакетная база к инсталяции (обязательная и дополнительная)
|
||
+ ...
|
||
- блоки функциональности use/*: не являются самостоятельными
|
||
(не путать с дистрибутивами), но законченными; могут жить
|
||
в distro.mk (или сделать use.mk?), либо же в индивидуальных
|
||
features.in/*/config.mk, если необходимо дополнить не только
|
||
.config.mk, а и дерево формируемого профиля
|
||
- фичи: законченные кусочки функциональности, могут зависеть
|
||
друг от друга; сливаются с соответствующими субпрофилями
|
||
при сборке BUILDROOT, могут нести с собой копируемые в один
|
||
или несколько субпрофилей каталоги/файлы и могут выполнять
|
||
необходимые действия во время сборки после копирования
|
||
(generate.sh, generate.mk). NB: добавляем в $(FEATURES)
|
||
(из того же config.mk, который будет включён в distro.mk)
|
||
- списки пакетов: большая человеческая просьба по возможности
|
||
избегать дублирования и подумать над pkg/lists/tagged...
|
||
|
||
NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
|
||
т.к. указанные пакеты попадут во все стадии (в т.ч.
|
||
stage1 и install2, чувствительные к объёму).
|