mkimage-profiles/features.in/00example
Michael Shigorin 3f012958dc server-ovz; KDEFAULT; syslinux features reworked
Renamed server-light.iso into server-ovz.iso to avoid brand dilution
and confusion (rider@'s server-light rather favours kvm, anyways).

Introduced KDEFAULT: a reliable default kernel chooser knob
since apt's regex ordering proved pretty unreliable.
Spelling things explicitly is better anyways.

SYSLINUX related features undergone pretty major rewrite
(that includes syslinux, hdt and memtest).

The problem to tackle was features.in/syslinux/generate.mk
assuming syslinux and pciids available in build *host* system;
this well might not be the case (or worse yet, those can be
just different).  So now we're a bit less elegant and a bit
more enterprise, stuffing things into chroot and working there.

Bunch of other fixes along the road, including ; to name a few:
- fixed memtest entry (overlooked while renaming SYSLINUX_ITEMS)
- new and shiny doc/CodingStyle
- gfxboot, stage1 target chain, hdt tweaks
- distro.mk rehashed
- README++
- TODO: dropped (integer overflow anyways)
  + actually moved off-tree to reduce commit spam
- s,\.config\.mk,distcfg.mk,g
- doc/profiles.mk.sample: sample ~/.mkimage/profiles.mk
- ...and assorted fixups/additions

Sorry for convoluted commit, this would have been pretty hard to
rework into some really readable shape (and you might be interested
in the original repo's history horrors then, anyways).
2011-11-04 16:15:29 +02:00
..
main/scripts.d docs day 2011-11-04 16:15:29 +02:00
config.mk docs day 2011-11-04 16:15:29 +02:00
generate.mk server-ovz; KDEFAULT; syslinux features reworked 2011-11-04 16:15:29 +02:00
generate.sh docs day 2011-11-04 16:15:29 +02:00
README docs day 2011-11-04 16:15:29 +02:00
README.en docs day 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.

Этот каталог содержит "заготовку" фичи в качестве примера
и должен дать представление о том, какой код _может_ быть
включён в настоящую фичу: статические файлы, два makefile
для создания конфигурации и генерирования части профиля,
а также шелл-скрипт для генерирования.

Вовсе не требуется втягивать всё в свою фичу, лучше постараться
сделать её минимальной, самодостаточной и полезной в качестве
"кирпичика".

Единственной необходимой частью фичи является файл config.mk,
который включается в distro.mk верхнего уровня и предоставляет
цель вида use/*, специфичную для данной фичи (а также добавляет
её в переменную FEATURES -- к сожалению, реализовать добавление
автоматом не представляется возможным).  Если название фичи не
упоминается в списке, содержащемся в этой переменной, то она
и не задействуется при построении профиля.

Остальное содержимое является дополнительным и используется
в таком порядке (см. features.in/Makefile):

- сперва в $(BUILDDIR)/image/ копируются все подкаталоги,
  соответствующие именам субпрофилей, запрошенных для
  дистрибутивного профиля; при этом они сливаются с деревом,
  которое уже сформировано субпрофилями (../sub.in/*) и уже
  скопированными фичами; если какие-либо файлы перекрылись
  по именам, rsync должен оставить резервные копии (*~),
  которые должны просигнализировать о беспорядке;

- затем запускается generate.sh, если существует и исполнимый;

- затем используется generate.mk, если существует и непустой.

Например, если дистрибутив требует субпрофили stage1, install2
и main, вы можете решить собрать специфические для фичи скрипты
инсталятора в install2/image-scripts.d/ (или необходимые для
операций с пакетной базой -- в main/scripts.d/, смотря чего надо
добиться; загляните также в документацию mkimage).

А если требуются нетривиальные действия по конфигурированию
(как при сборке syslinux.cfg из кусочков, в зависимости от того,
что из запрошенных модулей оказалось в наличии) -- то их можно
произвести из generate.sh и generate.mk.

Пожалуйста, присылайте отзывы о (бес)полезности кода в этом каталоге
mike@altlinux.