Dividindo um pacote grande em pacotes menores / caminho de atualização para usuários?

3

Mantenho alguns pacotes grandes que usamos internamente e, a partir da próxima versão, gostaria de dividi-los em pacotes menores. Estes pacotes já estão instalados em várias máquinas através do nosso repositório apt customizado e não tenho certeza qual seria o caminho de upgrade para aqueles que já possuem esses grandes pacotes instalados.

Para ilustrar o problema:

packageX é o pacote grande atual instalado em várias máquinas

Eu gostaria de dividi-lo em:

  • packageX-foo
  • packageX-bar
  • packageX-baz

Eu acho que a coisa mais sensata a fazer seria criar um pacote virtual chamado packageX que encapsula todos os novos pacotes, isso soa certo?

Como posso garantir que apt-get update && apt-get upgrade não quebraria as coisas dos usuários?

Obrigado.

    
por Hamza 24.01.2013 / 12:11

2 respostas

1

Sim, tornar packageX um pacote virtual que depende dos outros é a maneira usual de lidar com isso.

Dessa forma, todos que tiverem packageX instalado agora terão todos os packageX-* pacotes após a atualização. Além disso, facilita a instalação de todo o packageX para quem quiser.

Dependendo do seu software, pode valer a pena pensar em criar pacotes virtuais adicionais que dependem de subconjuntos do pacote X * usados com freqüência para simplificar a instalação desses subconjuntos.

    
por Florian Diesch 24.01.2013 / 12:34
1
  1. packageX deve Depends: packageX-foo, packageX-bar, packageX-baz . Isso garante que as atualizações captem automaticamente cada novo pacote individual.
  2. Cada packageX-component deve: Breaks: packageX (<< V) e também Replaces: packageX (<< V) em que V é a nova versão. Isso garante que o gerenciador de pacotes saiba que os arquivos nos novos pacotes de componentes entram em conflito com os arquivos no pacote monolítico antigo.
por Robie Basak 24.01.2013 / 13:06

Tags