Для помощи в контролировании процесса сборки пакета, макросы могут быть определены непосредственно в spec-файле.
Директива %define позволяет определить новый макрос. Наиболее часто встречающаяся форма - определить основные макросы в начале файла и затем использовать их на протяжении всего сценария сборки.
Например:
%define bindir /bin |
Это позволяет задать установки в одном месте, и, если их придется изменить, также изменить все в одном месте.
Этот синтаксис используется для всех статических определений, например номеров версий:
%define major 2 |
Список более специфичных макросов для использования в spec-файле приводится в таблице ниже.
Макрос |
Использование |
%dump |
Вывести значения макросов |
%{echo:message} |
Вывести сообщение в stderr |
%{error:message} |
Вывести сообщение в stderr и вернуть BADSPEC |
%{expand:expression} |
Подобно eval раскрывает выражение |
%{F:file_exp} |
Разрешить file_exp в имя файла |
%global name value |
Определить глобальный макрос |
%{P:patch_exp} |
Разрешить patch_exp в имя патча |
%{S:source_exp} |
Разрешить source_exp в имя файла с исходниками |
%trace |
Переключить вывод отладочной информации |
%{uncompress:filename} |
Проверить, является ли файл сжатым. Если да, то подвергнуть декомпрессии и включить в данный контекст. Если нет, вызывать cat для включения содержимого файла в данный контекст. |
%undefine macro |
Очистить заданный макрос |
%{warn:message} |
Вывести сообщение в stderr |
Далее - Макросы условий
Назад - Файлы с исходным кодом
Содержание