mkimage-profiles/features.in
Michael Shigorin d5a5941f96 official {distro,ve}/* support
This is quite a large-scale change since mkimage-profiles got used to
baking distributions over the last year, and virtual environments are
quite different, so e.g. image.in/Makefile had to be split in two with
the main part of it moved into features.in/iso/lib/.

Short overview:

- features.in/Makefile: lib/ support
  (supporting VE images requires dynamic modifications
  to image.in/Makefile before starting the build;
  the most natural way to achieve that seems to use
  features mechanism along with makefile include dir)

- packaging format related part moved into features.in/pack
  (should be better prepared for diversity either)
- features.in/iso renamed to features.in/build-distro
- features.in/ve  renamed to features.in/build-ve
  + NB: these could not be merged as e.g. features.in/build
    due to completely different script hooks

- lib/image.mk renamed to lib/build.mk
- image, config, log postprocessing moved downstream
- added a sort of a topping in the form of lib/sugar.mk
- assorted style fixups (like ifeq usage)

- clean.mk: reliability fix (the problem was observed by Oleg Ivanov
  and me too but finally it did get the attention quantum)

- reviewed, updated and extended docs
  + QUICKSTART: should be[come] a step-by-step guide
    (thanks Leo-sp50 for prodiving feedback)
2011-11-04 16:54:41 +02:00
..
00example official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
bootloader official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
build-distro official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
build-ve official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
cleanup wash, rinse, repeat 2011-11-04 16:15:31 +02:00
dos initial features.in/dos 2011-11-04 16:15:30 +02:00
firmware wash, rinse, repeat 2011-11-04 16:15:31 +02:00
hdt wash, rinse, repeat 2011-11-04 16:15:31 +02:00
install2 wash, rinse, repeat 2011-11-04 16:15:31 +02:00
live cosmetic fixup (s/GROUPS/MAIN_GROUPS/g) 2011-11-04 16:15:30 +02:00
lowmem wash, rinse, repeat 2011-11-04 16:15:31 +02:00
memtest official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
pack official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
powerbutton official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
rescue wash, rinse, repeat 2011-11-04 16:15:31 +02:00
stage2 stage2 based live subprofiles, updated docs 2011-11-04 16:15:30 +02:00
syslinux official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
x11 added some missing READMEs to a few features 2011-11-04 16:15:30 +02:00
Makefile official {distro,ve}/* support 2011-11-04 16:54:41 +02:00
README official {distro,ve}/* support 2011-11-04 16:54:41 +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.

Этот каталог содержит т.н. фичи (features, особенности) --
каталоги, содержимое каждого из которых реализует одну из
подключаемых автономных возможностей дистрибутива.

Каждая фича должна содержать задействуемый при построении
конфигурации будущего образа файл config.mk, включаемый
в ../Makefile; он может описывать одну или более целей
вида use/*, дополняющих конфигурацию дистрибутива, и при
наличии дополнительных хуков для копирования или generate.*
должен добавить имя фичи в $(FEATURES).

На этапе генерации дистрибутивного профиля фичи рассматриваются
после инициализации профиля (см. ../image.in/) и копирования
субпрофилей (см. ../sub.in/).  Для каждой фичи, указанной
в $(FEATURES), копируются подкаталоги сообразно субпрофилям,
а также производится обработка {tagged/,}{image-},scripts.d/
(см. cleanup/ в качестве примера); затем выполняется скрипт
generate.sh и задействуется generate.mk (при их наличии).

  NB: тегированные скрипты являются экспериментальными,
      возможны недоработки и существенные изменения!

Если фича дополняет хуками семейство целевых субпрофилей,
построенных на одном базовом, можно воспользоваться подкаталогом
с именем исходного базового субпрофиля (см. $src, $dst в Makefile).

Каталог lib/ является специфическим для фич, определяющих
построение образа -- см. build-*/.

Несложный пример содержится в 00example/, более близкий к жизни
и нынешним пределам возможностей метапрофиля -- в syslinux/.