Возможно, вы используете BuildArch
также в вашем spec-файле?
Я только что проверил это на x86_64 сборочной машине со файлом spec, где
BuildArch: noarch
и действительно
%ifnarch x86_64
Requires: package-x-y-z
%endif
создал пакет, для которого требовался package-xyz ...
Поскольку мой файл спецификаций создает пакет noarch, я попытался изменить логику;и
%ifnarch noarch
Requires: package-x-y-z
%endif
создал пакет, который не зависит от package-xyz.
Заключение
Если вы используете BuildArch чем макросы ifarch
и ifnarch
будут соответствовать этой архитектуре, а не архитектуре вашей реальной машины сборки.