mkimage-profiles/features.in/00example
Michael Shigorin 3f547e2504 documentation: use paths relative to toplevel dir
This change is done to reduce ambiguity in some cases;
the previous intention has been to ease navigation when
staying in a particular directory, now it's been changed
in favour of convenient toplevel `git grep' in fact.

Both variants have their pros and cons, I just find myself
leaning to this one by now hence the commit.  Feel free to
provide constructive criticism :)

Some path-related bitrot has also been fixed while at that.
2014-03-05 21:36:30 +04:00
..
main/scripts.d 00example: fixed a harmless typo 2013-06-10 20:04:46 +04:00
config.mk 00example, bootloader, install2: drop sub/main 2013-11-24 21:29:04 +04:00
generate.mk
generate.sh
README documentation: use paths relative to toplevel dir 2014-03-05 21:36:30 +04: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.  Если название фичи не упоминается
в списке, содержащемся в этой переменной, то она не задействуется
при построении профиля, а только при сборке конфигурации.

Для наиболее ходовых целей use/*, особенно если их много, можно
создавать цели-алиасы +* (например, +power).  Просьба относиться
вдумчиво, т.к. в дальнейшем предполагается визуализировать такие
цели в UI конфигурирования образа.

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

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

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

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

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