Вопрос или проблема
Какая страница 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 (которую вы тоже нашли):
Некоторые из них документированы в 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 в вашем проекте.