Numeração de versão do pacote Debian para pacotes personalizados locais

1

Gostaria de criar e empacotar um determinado programa Go. As versões empacotadas do referido programa fornecidas pelo Ubuntu 18.04 e pelo Debian 9.5 (na verdade, PVE 5.2) são todas bastante antigas, comparadas com o que eu poderia obter do upstream.

Conseguir as dependências para o meu build correto não é um problema, também não estou construindo um pacote Debian (estive lá, fiz isso).

O que eu preciso saber é como eu posso atribuir uma versão ao meu pacote - que não será liberada para ninguém - de modo que deve o mantenedor do pacote lançar uma versão mais recente do que a minha pacote tem, seria instalado e substituir o meu próprio pacote (uma tal situação poderia ser do-release-upgrade do Ubuntu).

Existe alguma maneira de "marcar" um pacote dessa maneira sem quebrar as comparações de versão internas ( dpkg --compare-versions )?

Eu sei que os backports normalmente têm bpo no nome do pacote (ou é a versão?), mas seria difícil encontrar uma lista abrangente de todas as "tags" similares e então eu estava pensando que talvez já existisse um método para conseguir isso e evitar confrontos. Então, o objetivo principal é jogar de acordo com as regras, enquanto eu consigo a versão mais nova que eu posso ter.

    
por 0xC0000022L 05.11.2018 / 12:54

1 resposta

2

Como você está empacotando novas versões de upstream, eu recomendaria uma versão do formulário

1.0-0~c0000022l+1

em que 1.0 é a versão upstream. A ideia aqui é a seguinte:

  • 0 é menor do que qualquer pacote Debian oficial jamais terá; isto é usado, por exemplo, em pacotes do Ubuntu que trazem uma versão mais recente do que o Debian (você verá 0ubuntu aqui);
  • ~ garante que a versão será classificada abaixo de qualquer revisão -0 (consulte Debian Política para detalhes);
  • c0000022l é algum sufixo específico para marcar a revisão como sua (semelhante a bpo para backports, deb para atualizações estáveis do Debian ...);
  • +1 oferece espaço para futuras atualizações na sua embalagem.

Se você precisar fornecer um pacote mais novo somente com correções de empacotamento, você aumentará o +1. Se você empacotar uma nova versão upstream, você aumenta a versão upstream conforme apropriado e começa de +1 novamente.

Se o mesmo upstream, ou o mais novo, chegar ao pacote oficialmente, ele será um candidato válido para atualização da sua versão local: se for um pacote do Ubuntu, 1.0-0ubuntu ... classificará após 1.0- 0 ~, e se for um pacote Debian, 1.0-1 irá classificar após 1.0-0.

    
por 05.11.2018 / 15:04

Tags