У меня есть файл спецификации, в котором на основе версии SLES мне нужно изменить тег «Requires:», как показано ниже.
#if suse is greated than SLES 11 sp4
%if %0{?suse_version} > 1140
Requires: genisoimage
%else
Requires: mkisofs
%endif
Я создаю этот файл rpm на машине SLES 10. После генерации RPM, независимо от ОС, если я запускаю,
об / мин -qpR mypkg.rpm
Я получаю mkisofs только как обязательный пакет. Ни в одном случае (даже на SLES 12) я получаю genisoimage как зависимый пакет.
Что может отсутствовать и как это исправить.
Это не так. Эта переменная оценивается во время сборки, а не во время установки.
Этот макрос расширяется до версии SUSE Linux / openSUSE где собран пакет. Это «1000» для SUSE Linux 10.0, «1020» для openSUSE 10.2 и так далее.
акцент мой, источник
Кроме того, насколько я понимаю, эта переменная относится только к версии OpenSUSE, а не к базовой версии SLES и SP, поэтому она вообще не будет присутствовать во время сборки на машине SLES 10.