4.4.2. Exemplos de condições RPM
Esta seção fornece múltiplos exemplos de condições de RPM.
4.4.2.1. As %if condicionais
Exemplo 4.3. Usando a %if condicional para lidar com a compatibilidade entre o Red Hat Enterprise Linux 8 e outros sistemas operacionais
%if 0%{?rhel} == 8
sed -i '/AS_FUNCTION_DESCRIBE/ s/^//' configure.in sed -i '/AS_FUNCTION_DESCRIBE/ s/^//' acinclude.m4
%endif
Este condicional trata da compatibilidade entre a RHEL 8 e outros sistemas operacionais em termos de suporte da macro AS_FUNCTION_DESCRIBE. Se o pacote for construído para a RHEL, a macro %rhel
é definida, e é expandida para a versão RHEL. Se seu valor é 8, significando que o pacote é construído para o RHEL 8, então as referências à AS_FUNCTION_DESCRIBE, que não é suportada pela RHEL 8, são excluídas dos scripts autoconfig.
Exemplo 4.4. Usando o %if condicional para lidar com a definição 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 trata da definição de macros. Se as macros %milestone
ou %revision
forem definidas, a macro %ruby_archive
, que define o nome do tarball a montante, é redefinida.