deb-version(7) | dpkg suite | deb-version(7) |
NOME¶
deb-version - formato Debian do número de versão do pacote
SINOPSE¶
[epoch:]upstream-version[-debian-revision]
DESCRIÇÃO¶
Os números de versões como usados para pacotes binário e fonte Debian consistem de três componentes. Estes são:
- epoch
- Este é um único (geralmente pequeno) inteiro não
assinado. Pode ser omitido, o que em tal caso é assumido zero. Se
for omitido então a versão-do-autor pode não
conter nenhuns dois pontos (:).
É 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.
- upstream-version
- Esta é a parte principal no número de versão.
É geralmente o número de versão do pacote original
(do autor) a partir do qual p ficheiro .deb foi feito, se isto for
aplicável. Geralmente isto ficará no mesmo formato que
aquele especificado pelo autor original, no entanto, pode precisar de ser
reformatado para se ajustar ao formato do sistema de gestão de
pacotes e esquema de comparação.
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.
- debian-revision
- Esta parte do número de versão especifica a versão do
pacote Debian baseada na versão do autor. Só pode conter
alfanuméricos e os caracteres + . ~ (mais,
ponto, til) e é comparado do mesmo modo que upstream-version
é.
É 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).
Algoritmo de ordenar¶
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.
NOTAS¶
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.
VEJA TAMBÉM¶
TRADUÇÃO¶
Américo Monteiro
Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro <a_monteiro@gmx.com>.
2023-05-11 | 1.21.22 |