4.4.2. Ejemplos de condicionales RPM
Esta sección proporciona múltiples ejemplos de condicionales RPM.
4.4.2.1. Los condicionales %if
Ejemplo 4.3. Uso del condicional %if para manejar la compatibilidad entre Red Hat Enterprise Linux 8 y otros sistemas operativos
%if 0%{?rhel} == 8
sed -i '/AS_FUNCTION_DESCRIBE/ s/^//' configure.in sed -i '/AS_FUNCTION_DESCRIBE/ s/^//' acinclude.m4
%endif
Este condicional maneja la compatibilidad entre RHEL 8 y otros sistemas operativos en términos de soporte de la macro AS_FUNCTION_DESCRIBE. Si el paquete está construido para RHEL, la macro %rhel
está definida, y se expande a la versión de RHEL. Si su valor es 8, lo que significa que el paquete está construido para RHEL 8, entonces las referencias a AS_FUNCTION_DESCRIBE, que no está soportada por RHEL 8, se eliminan de los scripts de autoconfiguración.
Ejemplo 4.4. Uso del condicional %if para manejar la definición de macros
%define ruby_archive %{name}-%{ruby_version} %if 0%{?milestone:1}%{?revision:1} != 0 %define ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision:r%{revision}}} %endif
Este condicional maneja la definición de las macros. Si se definen las macros %milestone
o %revision
, se redefine la macro %ruby_archive
, que define el nombre del tarball ascendente.