9c883d39b6
ToC: - introduced doc/ - features.in/00example/ - READMEs and TODO for more - code comments clarified Some unrelated minor fixes bundled either. |
||
---|---|---|
bin | ||
doc | ||
features.in | ||
image.in | ||
pkg.in | ||
sub.in | ||
clean.mk | ||
distro.mk | ||
functions.mk | ||
iso.mk | ||
Makefile | ||
profile.mk | ||
README | ||
TODO |
see also http://www.altlinux.org/Mkimage/Profiles/next; quickstart: make distclean server-light.iso Концепция: - метапрофиль служит репозиторием всего возможно нужного для построения индивидуального профиля, по которому создаётся итоговый дистрибутив Особенности: - метапрофиль может быть полностью 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, чувствительные к объёму).