deb-version(7) | dpkg suite | deb-version(7) |
deb-version - formato Debian do número de versão do pacote
[epoch:]upstream-version[-debian-revision]
Os números de versões como usados para pacotes binário e fonte Debian consistem de três componentes. Estes são:
É fornecido para permitir enganos nos números de versão de versões antigas de um pacote, e também esquemas de numeração de versões antigas de um pacote, para se deixar para trás.
O comportamento comparativo do sistema de gestão de pacotes com respeito a upstream-version é descrito abaixo. A porção upstream-version do número de versão é obrigatória.
O upstream-version apenas pode conter alfanuméricos (“A-Za-z0-9”) e os caracteres . + - : ~ (ponto, mais, hífen, dois pontos, til) e deve começar com um digito. Se não existir nenhum debian-revision então os hífens não são permitidos, se não existir nenhum epoch então símbolos dois pontos não são permitidos.
É opcional; se não estiver presente então o upstream-version não pode conter um hífen. Este formato representa o caso onde um pedaço de software foi escrito especificamente para ser tornado num pacote Debian, e assim há apenas uma “debianizaçao” dele e assim sendo não é requerido nenhuma indicação de revisão.
É convencional reiniciar a revisão-debian a ‘1’ cada vez que a versão-do-autor é incrementada.
O dpkg irá separar o número de versão pelo último hífen da string (se existir um) para determinar upstream-version e debian-revision. A ausência de debian-revision é comparada antes da presença de uma (mas note que debian-revision é a parte menos significante do número da versão).
As partes versão-do-autor e revisão-debian são comparadas pelo sistema de gestão de pacotes usando o mesmo algoritmo:
As strings são comparadas da esquerda para a direita.
Primeiro é determinada a parte inicial de cada string consistindo inteiramente de caracteres não-dígitos. Estas duas partes (uma delas pode estar vazia) são comparadas lexicamente. Se uma diferença for encontrada, é retornada. A comparação léxica é uma comparação de valores ASCII modificados para que todas as letras fiquem organizadas antes das não-letras e assim para que um título fique organizado antes de tudo, mesmo do final de uma parte. Por exemplo, as seguintes partes estão organizadas em ordem: ‘~~’, ‘~~a’, ‘~’, a parte vazia, ‘a’.
Então é determinada a parte inicial do restante de cada string que consiste inteiramente de caracteres dígitos. Os valores numéricos destas duas partes são comparados, e qualquer diferença encontrada é retornada como resultado da comparação. Para estes objectivos uma string vazia (a qual pode apenas ocorrer no final de uma ou ambas strings de versão a serem comparadas) conta como zero.
Estes dois passos (comparar e remover strings não-dígito iniciais) são repetidos até que seja encontrada uma diferença ou ambas strings estão esgotadas.
Note que o objectivo de épocas é permitir-nos deixar para trás enganos na numeração das versões, e para lidar com situações onde o esquema de numeração da versão mude. Não se destina a lidar com números de versões que contém strings de letras que o sistema de gestão de pacotes não pode interpretar (tais como ‘ALPHA’ ou ‘pre-’), ou com pedidos tolos.
O caractere til e as suas propriedades de organização especiais foi introduzido no dpkg 1.10 e algumas partes dos scripts de compilação do dpkg apenas ganharam suporte para ele nas séries 1.10.x.
deb-control(5), deb(5), dpkg(1)
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.
2024-09-26 | 1.22.6 |