Pourquoi certains paquets ont-ils des nombres supplémentaires avant un deux-points au début de leur chaîne de version?

24

Je viens de remarquer que Wine (et un certain nombre d’autres paquets) ont changé leur schéma de gestion des versions pour quelque chose comme:

1:1.6.2-0ubuntu3

Je comprends tout après le 1: ... Mais à quoi le 1: fait-il référence?

Il ne semble pas refléter la version majeure. En regardant une liste des mises à jour en attente, il existe des versions telles que: 2:4.1.3... et il y a beaucoup de paquets sans le préfixe #: .

Que se passe-t-il?

    
posée Oli 01.04.2014 - 12:46
la source

2 réponses

24

De man deb-version :

NAME
       deb-version - Debian package version number format

SYNOPSIS
       [epoch:]upstream-version[-debian-revision]

DESCRIPTION
       Version  numbers as used for Debian binary and source packages
       consist of three components. These are:

       epoch  This is a single (generally  small)  unsigned  integer.
              It  may  be omitted, in which case zero is assumed.  If
              it is omitted then the upstream-version may not contain
              any colons.

              It is provided to allow mistakes in the version numbers
              of older versions of a package, and  also  a  package's
              previous version numbering schemes, to be left behind.

Donc, ce numéro supplémentaire (dans votre cas 1 ) fait référence au composant epoch qui peut être omis, auquel cas 0 est supposé . Et donc, si vous voyez une chaîne de version qui ressemble à 1.6.2-0ubuntu3 , vous pouvez penser qu'en fait, elle ressemble à 0:1.6.2-0ubuntu3 . Comment cela est-il utile et comment cela se passe-t-il? Il est prévu de laisser les erreurs dans les numéros de version des anciennes versions d'un package, ainsi que les schémas de numérotation des versions précédentes du package, . Pour mieux comprendre, examinez de plus près les paragraphes explicatifs suivants de Manuel des règles de Debian - Fichiers de contrôle et leurs champs :

  

Lors de la comparaison de deux numéros de version, l’époque de chacun est   comparé, alors la upstream_version si epoch est égale, puis    debian_revision si upstream_version est également égal. epoch est comparé numériquement.

Et:

  

Notez que le but des époques est de nous laisser partir   erreurs dans la numérotation des versions et pour faire face aux situations où   modifications du schéma de numérotation des versions. Il est non destiné à faire face à   numéros de version contenant des chaînes de lettres que le paquet   le système de gestion ne peut pas interpréter (comme ALPHA ou pre- ), ou   avec des commandes stupides.

    
réponse donnée Radu Rădeanu 01.04.2014 - 12:59
la source
14

Ceci est l’époque. Il remplace la version pour déterminer lequel des deux paquets est plus récent:

À partir de la page deb-version man:

   epoch  This is a single (generally small) unsigned integer.  It may  be
          omitted,  in  which case zero is assumed.  If it is omitted then
          the upstream-version may not contain any colons.

          It is provided to allow mistakes in the version numbers of older
          versions  of  a  package,  and also a package's previous version
          numbering schemes, to be left behind.

Source

    
réponse donnée Sylvain Pineau 01.04.2014 - 12:55
la source

Lire d'autres questions sur les étiquettes