Estoy tratando de escribir una sola especificación de rpm para RHEL / CentOS / SL 5 y 6. Esta especificación es para la aplicación python, por lo que no hay diferencias en el proceso de compilación. Pero en RHEL / CentOS5 necesito agregar una dependencia adicional.
¿Cómo definiría la dependencia solo para el5? He intentado lo siguiente:
%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires: kmod-coretemp
%endif
No funciona (construir en CentOS5 no agrega dependencia kmod-coretemp).
También he intentado lo siguiente:
%if %{?dist} == "el5"
Informa con error de sintaxis. Estoy seguro de que dist macro está configurado y contiene 'el5'. Pero no estoy seguro de cuál es la sintaxis de if condicionales en rpm? rpmguide no tiene una respuesta detallada.
La wiki de Fedora, como de costumbre, proporciona las mejores pautas sobre el empaquetado. Eche un vistazo a la página Empaquetado: DistTag . Puede usar la
%{el5}
variable y una condicional abreviada para asegurarse de que laRequire
línea relevante se use al crear paquetes para EL5.Probablemente desee agregar la
dist
etiqueta al campo de versión para evitar confusiones posteriores entre paquetes:Ver Propósito de la etiqueta Dist .
fuente
redhat-rpm-config
desde Yum.