Для помощи в контролировании процесса сборки пакета, макросы могут быть определены непосредственно в 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  | 
 Далее - Макросы условий 
 Назад - Файлы с исходным кодом 
 Содержание