rpm erro de execução devido a arquivo de especificação com falha

1

Eu tenho um arquivo de especificação no qual, baseado na versão do SLES, eu preciso alterar a tag 'Requires:' como abaixo

#if suse is greated than SLES 11 sp4
%if %0{?suse_version} > 1140 
Requires: genisoimage
%else 
Requires: mkisofs 
%endif

Estou construindo esse arquivo rpm em uma máquina SLES 10. Depois de gerar o RPM, independentemente do sistema operacional, se eu executar,

rpm -qpR mypkg.rpm

Eu recebo o mkisofs apenas como um pacote obrigatório. Em nenhum caso (mesmo no SLES 12), estou recebendo genisoimage como pacote dependente.

O que pode estar faltando e como isso pode ser corrigido.

    
por Durgesh 11.07.2017 / 12:11

1 resposta

2

Não é assim que isso funciona. Essa variável é avaliada no tempo de construção, não no tempo de instalação.

This macro expands to the version of SUSE Linux / openSUSE where the package is built. It is "1000" for SUSE Linux 10.0, "1020" for openSUSE 10.2 and so on.

ênfase minha, source

Além disso, pelo que entendi, essa variável se refere apenas à versão do OpenSUSE, não à versão base do SLES e ao SP, portanto, ela não estaria presente durante o tempo de construção em uma máquina SLES 10.

    
por 11.07.2017 / 12:24