Quando suportei um ambiente RHEL ES e desejei atualizar um projeto de software de domínio público .... eu baixaria o RPM Redhat Source mais recente para o projeto, instalaria o RPM de origem e o novo tarball para o novo e melhorado item de software. Então eu passaria e ajustaria o arquivo de especificações, os patches referenciados pelo arquivo de especificações, e algumas vezes teria que ajustar o próprio tarball. Uma vez que você pudesse fazer um pacote com sucesso, usei o rpm e instalei o pacote binário recém-montado.
O que isto faz é garantir que os resultados da instalação do pacote estejam nos mesmos locais que o pacote que você está substituindo. Assegurando assim algum nível de interoperabilidade e consistência RedHat.