Estou tentando escrever uma única especificação de rpm para RHEL / CentOS / SL 5 e 6. Essa especificação é para o aplicativo python, portanto, não há diferenças no processo de criação. Mas no RHEL / CentOS5 eu preciso adicionar uma dependência adicional.
Como eu definiria dependência apenas para o el5? Eu tentei seguir:
%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires: kmod-coretemp
%endif
Não funciona (a construção no CentOS5 não adiciona a dependência do kmod-coretemp).
Eu também tentei seguir:
%if %{?dist} == "el5"
Relata com erro de sintaxe. Tenho certeza de que a macro dist está configurada e contém 'el5'. Mas não tenho certeza qual é a sintaxe de se condicionais em rpm? O rpmguide não tem resposta detalhada.
O wiki do Fedora, como sempre, fornece as melhores diretrizes sobre empacotamento. Dê uma olhada na página Packaging: DistTag . Você pode usar a variável %{el5}
e a abreviação condicional para garantir que a linha relevante Require
seja usada ao criar pacotes para o EL5.
%{?el5:Requires: kmod-coretemp}
Você provavelmente desejará rotular os RPMs binários resultantes como .el5
e .el6
para evitar confusão posterior.