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.
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
.