mkimage-profiles/README
Michael Shigorin d77e1d8dc8 drop autoconf, a few vars in .mk suffice
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
2011-11-04 16:15:29 +02:00

49 lines
3.1 KiB
Plaintext
Raw Blame History

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.

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, чувствительные к объёму).