Простой GenSpec
Внимание: на этой странице есть устаревшая информация!
Общая цель: сделать создание спека для публикатора автоматическим Этот спек не должен ничего ниоткуда наследовать, просто позволять hasher-у собирать RPM с отключённым sisyphus-check.
Содержимое поля docinfo обозначаю вот так: !Fieldname!
Summary:, %description, Changelog и Url
Не нужны, так как вся информация берётся из docinfo. Заполнить чем-нибудь
Rootdoc, или файлы, для которых нужно запускать сборочную процедуру
Поле !Rootdoc! указывает стартовые файлы, которые надо передать сборочному скрипту. Если !Rootdoc! нет, используются умолчания:
- XML -- один файл
- HTML -- index.html, либо единственный файл, либо все (если среди них нет index.html)
- M-K -- один файл
- EXTRA -- все файлы
Сгенерированное или настоящее !Rootdoc! подсовывается макросу %docs_build в виде %docs_build !Format! !Rootdoc!
Обсуждение При отсутствии поля !Rottdoc! получается, что генератору спека всё-таки придётся лазить в тарболл, в противном случае он обходится только docinfo. Ну не делать же Rootdoc обязательным?
Выпуски
Поскольку в коротком цикле все равно устанавливаются все модули, то зависимости на входящие в выпуск модули в спеке выпуска не нужны.
Определение выпусков:
Если !Format! = issue,
Сгенерировать спек выпуска: см. docs-issue-template.spec, откуда следует исключить %docs_issue_requires в Requires нужно поместить все пакеты, для модулей, перечисленных в спецификации выпуска.
За основу можно взять /usr/share/docs-build/docs_genspec/docs-module-template.spec из rpm-build-docs и spec любого пакета документации.
BuildRequires (вторая очередь)
Заполнять поле BuildRequires: по-разному, в зависимости от исходного формата.
Например, rpm-build-docs-docbook rpm-build-docs-m-k rpm-build-docs-ooffice etc
Нужно порезать сборочную среду rpm-build-docs на отдельные компоненты по каждому исходному формату (или группе родственных). Обоснование: 1) минимизация зависимостей: если сломалась сборка одного формата чтобы продолжала работать сборка других 2) минимизация сборочной среды в каждом отдельном случае (а то в ней будет и ooffice и xslt и m-k...) Затратно для сборочного сервера.
Для начала можно сделать виртуальные пакеты, предоставляемые rpm-build-docs, а потом порезать по необходимости.