Qual é a razão por trás do uso do componente de pacote não numérico para a versão?

7

No repositório padrão do Ubuntu (e não apenas no Ubuntu) você pode ver uma versão do pacote como 2.2.14-5ubuntu8.12 .

Por que os mantenedores dão uma versão tão estranha no repositório de pacotes central ?

Quais tarefas a versão 2.2.14-42 não resolveria?

    
por zerkms 07.11.2013 / 12:20

2 respostas

9

Namespace:

  • 2.2.14 é o número da versão do pacote upstream (do apache.org)
  • -5 é a versão do pacote debian
  • em cima do qual o Ubuntu faz algumas modificações, cada iteração aumentando o número da versão. %código%

Se o Debian tivesse um ubuntu8.12 e o Ubuntu escolhesse, você teria um -6 no Ubuntu e provavelmente um 2.2.14-6 e assim por diante, e o número teria sido maior, o que é importante se você quero que seja considerado um upgrade por 2.2.14-6ubuntu1 .

Se você quiser fazer modificações, provavelmente vai querer adicionar seu próprio namespace: 2.2.14-5ubuntu8.12zerkms1

Depois que o Ubuntu lançar um 2.2.14-5ubuntu8.13 ou 2.2.14-5ubuntu9 ou 2.2.14-6, isso será uma atualização.

    
por 07.11.2013 / 12:43
8

Parte da string da versão é a versão "upstream". Upstream significa para a fonte original, e downstream significa para o pacote distro. Eu acho que geralmente não há nada entre isso, então existem basicamente dois estágios (a fonte original e o pacote distro compilado).

Por exemplo, bash-4.2.39 é apenas isso. A fonte original do bash-4.2.39 é exatamente a mesma, e do mesmo lugar, independentemente de você estar usando fedora, ubuntu, arch ou qualquer outra coisa. Existe apenas uma fonte para o bash-4.2.39. "4.2.39" seria o que eu chamo de número de versão upstream.

Essa fonte, no entanto, pode ser compilada de várias maneiras diferentes (além da arquitetura do sistema); Certamente este é o caso de bash. Essa é uma decisão tomada pelos empacotadores de recebimento de dados, que também podem incluir itens (como uma configuração) fora da fonte original. Neste ponto, pode haver diferenças claras entre o bash 4.2.39 empacotado para o Ubuntu e o bash 4.2.39 para o fedora (e diferenças entre versões da mesma distro). Isso é indicado principalmente pela parte final da string de versão - "ubuntu8.12" ou qualquer outra coisa. Além disso, exatamente qual versão de distribuição e distro o pacote foi compilado é importante porque corresponde a outros pacotes (bibliotecas compartilhadas) que este requer; mesmo que haja uma bash 4.2.39 disponível para o Ubuntu 10 e 12, eles podem não ser intercambiáveis.

Coisas como '-42' são indicativas de algumas versões adicionais a jusante, pela distro. Isso pode ter algo a ver com diferenças de configuração, correção de distros, etc., nesse caso, a mesma versão '-42' pode ser usada em múltiplos repositórios para múltiplas versões da distribuição (e suas derivações).

Isto adiciona uma string de versão única, indicando a versão original da fonte , a versão do pacote , e a versão específica da distro + distro .

    
por 07.11.2013 / 12:44