rpm --upgrade do mesmo pacote gera conflitos de arquivo

rpm --upgrade do mesmo pacote gera conflitos de arquivo

Instalei meu pacote personalizado contendo vários arquivos.

Executar rpm --upgradeuma segunda vez gera muitos erros:

File ABC from install of mypackage-1.0-0.i386 conflicts with file from package mypackage-1.0-0.i386

O RPM sai com o código de erro 5.

Mas é o mesmo pacote com o mesmo número de versão! Não deveria dizer "já instalado" ou algo assim? O que preciso fazer com o arquivo de especificação ou comando de atualização rpm para evitar esse problema?

Correndo rpm --upgrade --replacefilesdiz "pacotemeupacote-1.0-0.i386já instalado", com código de saída 5

(Eu realmente não quero substituir os arquivos se eles não foram alterados ...

Algumas das mensagens de erro

Responder1

Você tem várias opções. O mais fácil é aumentar a versão e/ou lançamento ao construir um novo pacote para que o rpm -Ucomando (upgrade) funcione normalmente. Se não quiser fazer isso, você pode usar rpm -U --replacefiles --replacepkgspara reinstalar efetivamente o pacote. Uma terceira opção é remover o pacote antes de instalar o “novo”.

Em todos esses casos, todos os arquivos que fazem parte do paylod regular (ou seja, não estão marcados como noreplacearquivos de configuração) serão substituídos pelas versões mais recentes. É assim que o RPM funciona. Se você quiser seguir o caminho de atualizar apenas as coisas que foram alteradas, você precisará gerar pacotes DRPM (Delta RPM), que contêm apenas diferenças de uma versão anterior. Isso exigirá que você aumente seus números de versão e/ou lançamento ao reconstruir. Nunca fiz pacotes delta RPM, então não posso oferecer nenhum conselho sobre eles.

informação relacionada