rpm build baseado no sistema operacional

1

Eu sou novo em construir rpms onde eu preciso construir um rpm que irá instalar 2 conjuntos separados de arquivos baseados na versão do sistema operacional, como rhel5 e rhel6. É possível? Se sim, como? Se não, suponho que preciso criar dois rpms separados, como rpm-a-rhel5.rpm e rpm-a-rhel6.rpm. Mas como posso ter certeza de que o rpm-a-rhel6.rpm não pode ser instalado no rhel5 e vice-versa. O que eu preciso verificar no meu arquivo de especificações para case1 / case2? Qualquer ideia, por favor, conselhos.

Obrigado.

    
por AIR 22.01.2016 / 06:22

1 resposta

1

Os arquivos de especificação do RPM têm condicionais e variáveis que podem permitir que você crie um RPM que altere o que é feito ou instalado com base na versão.

%if 0%{?rhel} = 6
Requires: 
%endif

No entanto, a execução de rpmbuild não será cortada ao fazer isso. Você precisará usar mock . Eu recomendo strongmente ler as diretrizes de rpm do fedora.

link

Quanto à sua outra pergunta, você não pode impedir a instalação de um RPM baseado em distro. Normalmente, é uma exigência do pacote causar um bloqueio de dependência. Uma dependência que faz isso: Requires: redhat-release >= 6.3 .

    
por 22.01.2016 / 06:59

Tags