Справка для макросов спецификации RPM (%setup, %buildroot и др.)

Вопрос или проблема

Какая страница man описывает использование макросов верхнего уровня файла спецификации RPM, которые определены в исходных файлах RPM? Я имею в виду, %setup, %buildroot и подобные, которые не находятся в /usr/lib/rpm. Искать параметры %setup в учебниках на rpm.org или просматривать исходный код не очень удобно.

Проект Fedora предоставляет лучшую документацию по RPM в формате html:

http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/index.html

См. также:

http://fedoraproject.org/wiki/How_to_create_an_RPM_package

До этих ресурсов моим основным справочным пособием была книга Maximum RPM (которую вы тоже нашли):

http://www.rpm.org/

Некоторые из них документированы в Maximum RPM, Taking the RPM Package Manager to the Limit Эдварда С. Бэйли.

Раздел Макросы: полезные сокращения для сборщиков пакетов описывает макросы %setup и %patch.

Это безумие, что нет фундаментальной публичной справки по формату .spec, который активно используется несколькими дистрибутивами более десяти лет.

Вы можете вставить %dump в свой файл спецификации и попробовать собрать (перенаправив stderr в файл). В зависимости от того, где вы разместите %dump, вы получите любые макросы, которые существовали в этот момент. Это не замена настоящей документации… но может помочь вам продолжать.

Нет страницы man для этого, но вы можете создать минимальный файл спецификации с помощью rpmdev-newspec из пакета rpmdevtools.

Насколько мне известно, такой документации нет в страницах man. Даже если вы просмотрите все элементы, доступные в страницах man для rpmbuild и rpm, в них не детализированы эти директивы.

Большинство источников, указанных в других ответах, не упоминают %autosetup. (По крайней мере, не напрямую.)

Существует “Справочное руководство по RPM”, которое это делает:

https://rpm-software-management.github.io/rpm/manual/autosetup.html

На ноябрь 2024 года,

  • макрос %setup описан на странице rpm.org Формат файла спецификации по https://rpm-software-management.github.io/rpm/manual/spec.html. Он также описывает все переключатели, чего не хватает в других справках.

Ответ или решение

Вопрос о ссылке на описание использования макросов в верхнем уровне файла спецификаций RPM, таких как %setup, %buildroot и аналогичных, поднимает важный аспект в области пакетирования для систем на базе RPM. К сожалению, нет единого источника, который бы охватывал все эти макросы в удобной форме, что может создавать трудности для разработчиков и системных администраторов. Тем не менее, есть несколько значимых ресурсов, которые могут оказать помощь.

Первоначально, Документация проекта Fedora является одним из лучших источников информации по RPM в формате HTML. В частности, вы можете ознакомиться с RPM Guide по следующей ссылке:
http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html-single/RPM_Guide/index.html. Кроме того, в разделе о создании RPM-пакетов вы найдете множество практических рекомендаций: http://fedoraproject.org/wiki/How_to_create_an_RPM_package.

Для глубокого погружения в тему, я рекомендую ознакомиться с книгой Maximum RPM авторства Эдварда С. Бейли. В ней содержится обширная информация о макросах, включая %setup и %patch, а также полезные примеры применения. Вы можете найти эту книгу в свободном доступе по адресу:
http://ftp.rpm.org/max-rpm/.

Хотя буклеты и документация проектов могут не иметь детального описания всех макросов, советую использовать команду %dump, встроенную в спецификацию, чтобы вывести текущие значения макросов. Однако стоит отметить, что это не является полноценной заменой для профессиональной документации. Для создания минимального файла спецификации можно воспользоваться утилитой rpmdev-newspec, входящей в пакет rpmdevtools.

Что касается более современных ресурсов, обратите внимание на RPM Reference Manual, который включает информацию о таких макросах, как %autosetup. Вы можете ознакомиться с этой документацией по следующему адресу:
https://rpm-software-management.github.io/rpm/manual/autosetup.html.

Кроме того, с ноября 2024 года описание макроса %setup доступно на официальном сайте rpm.org, в разделе Spec File Format, где детально рассматриваются все переключатели, что может быть особенно полезным: https://rpm-software-management.github.io/rpm/manual/spec.html.

В заключение, хотя однозначного и всеобъемлющего документа для макросов RPM не существует, указанные ресурсы могут существенно упростить ваше понимание и использование этих инструментов. Всегда стремитесь исследовать несколько источников и подходов, чтобы максимально эффективно применять технологии RPM в вашем проекте.

Оцените материал
Добавить комментарий

Капча загружается...