Qual é o significado do til em alguma string de versão do pacote debian openjdk?

7

Lendo o changelog do debian openjdk-8 pacote fonte vemos que existe uma versão chamada openjdk-8 (8u45-b14-4 ) e o próximo é openjdk-8 (8u60 ~ b22-1) .

Qual é o significado do til nesta última versão?

    
por Ortomala Lokni 20.09.2015 / 21:36

1 resposta

8

A referência oficial para o formato da versão do pacote Debian está no Manual de Políticas Debian . O formato é projetado para permitir números de versão “razoáveis” com uma relação de comparação bem definida (se um tanto complexa) para decidir quando uma versão é mais recente que outra.

Na maior parte, a comparação é uma comparação lexicográfica da string. Por exemplo, 1foo é classificado antes de 1ga . No entanto, as sequências de dígitos são comparadas em ordem numérica, portanto, foo10bar é classificado após foo9bar .

Com uma ordem lexicográfica, uma string é sempre classificada antes de seu prefixo. O caractere til permite um desvio disso: foo~bar é sempre classificado antes de foo , bem como antes de qualquer versão que comece com foo seguida por um caractere diferente de ~ . Isso geralmente é usado para versões beta: 8u60~b22 é classificado antes de 8u60 . Eu não sei porque os pacotes do OpenJDK 8 parecem alternar entre os sufixos -b e ~b .

Sufixos Til também são usados para backports de todos os tipos. Por exemplo, se a mesma versão de um pacote estiver presente tanto no Debian stable quanto no testing, e uma correção de segurança precisa ser estável, o pacote stable terá um sufixo como -2~deb1 enquanto a versão em teste (compilada com mais bibliotecas recentes) terão -2 ; Dessa forma, o pacote é uma atualização para a versão -1 , mas se um sistema for atualizado de estável para teste, a versão -2~deb1 stable será atualizada para a versão de teste -2 . Backports oficiais usam ~bpoNUMBER para o mesmo propósito, desta forma uma versão 4.2~bpo7 será atualizada para 4.2 se isso aparecer na distribuição principal.

    
por 20.09.2015 / 22:25