Для проверки, существует ли заданный макрос, используется специальный синтаксис. Например:
%{?macro_to_test: expression} |
Подобная строка говорит RPM развернуть значение выражения, если macro_to_test определялся и существует. В противном случае строка игнорируется. Если нужно инвертировать условие, тогда впереди ставится восклицательный знак:
%{!?macro_to_test: expression} |
В данном примере если macro_to_test не существует, тогда разворачивается выражение.
Для ветвления процесса используется макрос %if. Например:
%if %{old_5x} |
%else позволяет специфицировать действия, которые необходимо проделать, если тест был неуспешный. Например:
%if %{old_5x} |
Здесь также может быть использован восклицательный знак для инверсии условия.
if ! %{old_5x} |
Для комбинации нескольких тестов используется && :
%if %{old_5x} && %{old_6x} |
Далее - Встроенные макросы
Назад - Макросы определения переменных
Содержание