• Michael Shigorin's avatar
    docs update · fba30e06
    Michael Shigorin authored
    Rather minor fixups for things changed in the meanwhile and not
    yet (re)documented properly; and a change for memtest feature
    to require syslinux feature (the code's been changed to fit
    the updated description, actually, and the change is purely
    formal as no syslinux alternative is being used/planned so far).
    fba30e06
Name
Last commit
Last update
..
main/scripts.d docs day
README docs update
README.en docs day
config.mk docs day
generate.mk server-ovz; KDEFAULT; syslinux features reworked
generate.sh docs day
Этот каталог содержит "заготовку" фичи в качестве примера
и должен дать представление о том, какой код _может_ быть
включён в настоящую фичу: статические файлы, два makefile
для создания конфигурации и генерирования части профиля,
а также шелл-скрипт для генерирования.

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

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

Остальное содержимое является дополнительным и используется
в таком порядке (см. 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.