Melhor maneira de liberar um RPM que inclua um módulo de versão independente

2

Eu trabalho em um software de servidor que é direcionado para o RHEL / CentOS e atualmente é distribuído por meio de um arquivo RPM padrão. O que me traz aqui é que inclui um mecanismo de cliente para download que os usuários podem acessar passando pela interface principal da Web.

Então é isso que eu tenho:

  1. O agente para download ainda é algo que minha empresa mantém, mas tem um ciclo de lançamento separado.
  2. Cada nova versão do RPM é normalmente associada a uma versão específica do agente (geralmente também mais recente, mas potencialmente pode ser a mesma)
  3. Quando os usuários atualizam o servidor, eles podem querer continuar usando o mesmo agente
  4. A instalação do agente atualmente é compactada com o RPM, portanto, quando o servidor é atualizado, a versão mais antiga do agente é removida do sistema.

Aparentemente (4) não é desejável, então o que queremos é manter todas as versões de agentes que foram instaladas, mesmo com o upgrade do componente do servidor.

Uma solução possível que pode funcionar é colocar o agente em seu próprio RPM que tenha o número da versão do agente no nome e que o RPM principal exija como dependência. Então, quando o produto estiver instalado, o rpm -qa mostrará:

<product>-1.0.0
<product>-agent-install-1.0.5-1.0  (might be a better way to format the name)

E quando o servidor for atualizado, você verá:

<product>-2.0.0
<product>-agent-install-1.0.5-1.0
<product>-agent-install-1.2.0-1.0

Como não sou um especialista em Linux, gostaria de saber se a estratégia que descrevi acima é ...

  1. uma solução possível (ou seja, não estou perdendo algo óbvio que mataria toda a ideia)
  2. uma prática aceitável ou um hack

Existe uma maneira mais limpa que você faria em vez disso? Por exemplo, eu poderia ter cada instalação do servidor, basta copiar o instalador do agente em um diretório separado e, como o outro diretório não é gerenciado pelo RPM, ele ficará por perto e não será excluído. Mas isso seria melhor?

    
por DXM 11.06.2013 / 22:23

0 respostas