Estou tentando escrever uma única especificação de rpm para RHEL / CentOS / SL 5 e 6. Essa especificação é para aplicativos python, portanto, não há diferenças no processo de compilação. Mas no RHEL / CentOS5, preciso adicionar uma dependência adicional.
Como eu definiria dependência apenas para 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 dependência kmod-coretemp).
Eu tentei também o seguinte:
%if %{?dist} == "el5"
Ele relata com erro de sintaxe. Tenho certeza de que a macro dist está definida e contém 'el5'. Mas não tenho certeza de qual é a sintaxe de condicionais em rpm? O rpmguide não possui 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
%{el5}
variável e uma condicional abreviação para garantir que aRequire
linha relevante seja usada ao criar pacotes para o EL5.Você provavelmente desejará adicionar a
dist
tag ao campo da versão para evitar confusão posterior entre os pacotes:Consulte Objetivo da etiqueta Dist .
fonte
redhat-rpm-config
do Yum.