Remover automaticamente um% preun RPM quebrado?

3

Temos um erro no script %preun de um RPM distribuído no passado. Isso foi corrigido, mas, agora, a atualização para a versão mais recente está falhando porque a versão anterior não está sendo desinstalada corretamente:

Error in PREUN scriptlet in rpm package perl-perfSONAR-OPPD-MP-server
/var/tmp/rpm-tmp.veW9Jb: line 5: syntax error: unexpected end of file
error: %preun(perl-perfSONAR-OPPD-MP-server-3.4-1.pSPS.noarch) scriptlet
failed, exit status 2

Isso pode ser resolvido desinstalando o pacote desatualizado manualmente sem executar a %preun parte e reinstalando o novo:

rpm -e --nopreun perl-perfSONAR-OPPD-MP-server-3.4-1.pSPS.noarch
rpm -i --replacepkgs perl-perfSONAR-OPPD-MP-server-3.5-0.0.a1.pSPS.noarch.rpm

Este é um procedimento manual que requer intervenção do administrador do sistema que gostaríamos de evitar.

Alguém sabe uma maneira de fazer o mesmo através do yum para que o pacote anterior seja removido para que o novo seja instalado sem erros, tudo isso com um único comando yum ou através de upgrades automáticos do yum?

Estamos usando o CentOS 6, se isso for importante.

    
por Tonin 30.06.2015 / 12:33

1 resposta

3

Não há nenhuma maneira conhecida de automatizar as atualizações do yum com scripts de bugs: o yum não analisa nem passa os disablers necessários para o rpm lib.

    
por 08.07.2015 / 21:37

Tags