7964bccb92
Thanks shaba@ for both the package and a wiki page, and dek@ for the inspiration to finally get to it. |
||
---|---|---|
.gear | ||
bin | ||
conf.d | ||
doc | ||
features.in | ||
image.in | ||
lib | ||
pkg.in | ||
sub.in | ||
.gitignore | ||
COPYING | ||
Makefile | ||
QUICKSTART | ||
README |
Welcome to mkimage-profiles! English quickstart: make distro/server-base.iso; see http://en.altlinux.org/Hasher (and a large tmpfs). Configurables: ~/.mkimage/profiles.mk; see doc/profiles.mk.sample and libdistro.mk License: GPLv2+, see COPYING. Most docs are in Russian, welcome to learn it or ask for English. См. тж. http://www.altlinux.org/Mkimage/Profiles/m-p Задача: - конфигурирование и создание образов на базе ALT Linux Концепция: - конфигурация, как и образ -- объект постадийной сборки - метапрофиль служит репозиторием для построения индивидуального профиля, по которому создаётся итоговый образ Особенности: - метапрофиль может быть полностью read-only при сборке - для сборки подыскивается предпочтительно tmpfs - в профиль копируются только нужные объекты; он автономен относительно метапрофиля Стадии работы: - инициализация сборочного профиля - сборка конфигурации образа - наполнение сборочного профиля - сборка образа Объекты: - дистрибутивы и виртуальные окружения: + описываются в conf.d/*.mk или соответственно lib/{distro,ve}.mk + могут основываться одно на другом + дистрибутивы также: - включают один или более субпрофилей по надобности + желательно избегать множественного наследования, см. тж. фичи - субпрофили: + список собирается в $(SUBPROFILES) + базовые комплекты помещены в подкаталогах под sub.in/; их наборы скриптов могут расширяться фичами - фичи: + список собирается в $(FEATURES) + законченные блоки функциональности (или наборы таковых) + описываются в индивидуальных features.in/*/config.mk + могут требовать другие фичи, а также субпрофили + при сборке $(BUILDDIR) содержимое указанных в $(FEATURES) фич добавляется в профиль с постобработкой (generate.*) - списки пакетов (*_LISTS): + просьба по возможности избегать дублирования - индивидуальные пакеты (*_PACKAGES): см. тж. conf.d/README Результат: - при успешном завершении сборки образ называется по имени цели и укладывается в $(IMAGEDIR): + указанный явно, + либо ~/out/ (если возможно), + или $(BUILDDIR)/out/ иначе