Go to file
Michael Shigorin d93989a3ff initial logging subsystem
Now we don't dump all the gory details onto thee
but rather log them handsomely and present only
the most important details by default; use DEBUG=1
and/or BUILDLOG=/path/to/file to tweak.

Also introduced IMAGEDIR and IMAGENAME.

The rest:
- ovz-smp is no more
- base-l10n pkglist (suggested by Alexander Kuprin)
- clean.mk:
  + fixed an oversight: the test result erroneously applied
    only to the first command of several ones that should be
    run iff build/ is a symlink
  + drop implicit rules (it's no C code)
- Makefile: more reasonable iso names
- image.in/Makefile: .disk/date too
2011-11-04 16:15:29 +02:00
bin assorted fixups 2011-11-04 16:15:29 +02:00
doc docs day 2011-11-04 16:15:29 +02:00
features.in initial logging subsystem 2011-11-04 16:15:29 +02:00
image.in initial logging subsystem 2011-11-04 16:15:29 +02:00
pkg.in initial logging subsystem 2011-11-04 16:15:29 +02:00
sub.in assorted fixups 2011-11-04 16:15:29 +02:00
clean.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
distro.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
functions.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
iso.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
log.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
Makefile initial logging subsystem 2011-11-04 16:15:29 +02:00
profile.mk initial logging subsystem 2011-11-04 16:15:29 +02:00
README initial logging subsystem 2011-11-04 16:15:29 +02:00
TODO drop autoconf, a few vars in .mk suffice 2011-11-04 16:15:29 +02:00

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, а и дерево формируемого профиля
- фичи: законченные кусочки функциональности, могут зависеть
  друг от друга; сливаются с соответствующими субпрофилями
  при сборке $(BUILDDIR), могут нести с собой копируемые в один
  или несколько субпрофилей каталоги/файлы и могут выполнять
  необходимые действия во время сборки после копирования
  (generate.sh, generate.mk).  NB: добавляем в $(FEATURES)
  (из того же config.mk, который будет включён в distro.mk)!
- списки пакетов: большая человеческая просьба по возможности
  избегать дублирования и подумать над pkg/lists/tagged...

NB: следует крайне осторожно пользоваться COMMON_PACKAGES,
    т.к. указанные пакеты попадут во все стадии (в т.ч.
    stage1 и install2, чувствительные к объёму).

Результат:
- при успешном завершении сборки образ называется сообразно
  дистрибутиву и укладывается в $(IMAGEDIR):
  + указанный явно,
  + либо ~/out/ (если возможно),
  + или $(BUILDDIR)/out/ иначе