Я пытаюсь написать одну спецификацию rpm для RHEL / CentOS / SL 5 и 6. Эта спецификация для приложения на python, поэтому нет никаких отличий в процессе сборки. Но на RHEL / CentOS5 мне нужно добавить еще одну зависимость.
Как бы я определил зависимость только для el5? Я пробовал следующее:
%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires: kmod-coretemp
%endif
Не работает (сборка на CentOS5 не добавляет зависимости kmod-coretemp).
Я пробовал также следующее:
%if %{?dist} == "el5"
Сообщает с синтаксической ошибкой. Я уверен, что макрос dist установлен и содержит 'el5'. Но я не уверен, каков синтаксис условных операторов if в rpm? rpmguide не имеет подробного ответа.
Вики Fedora, как обычно, предоставляют лучшие рекомендации по упаковке. Взгляните на страницу Упаковка: DistTag . Вы можете использовать
%{el5}
переменную и условное сокращение, чтобы убедиться, что соответствующаяRequire
строка используется при сборке пакетов для EL5.Возможно, вы захотите добавить
dist
тег в поле версии, чтобы избежать путаницы между пакетами:См. Назначение тега Dist .
источник
redhat-rpm-config
из Yum.