[Wapt] Erreur de version

Bastien HERMITTE bhermitte at b2pweb.com
Wed May 18 09:59:19 CEST 2016


J'ai l'impression que c'est un bug de wapt.

Si je me base sur la documentation Debian que vous m'indiquez, dans le 
5.6.12 il est indiqué l'ordre de comparaison des numéros de versions : 
epoch, upstream_version, debian_revision.
Il est indiqué également que chacune de ces parties est comparée, de 
gauche à droite, si la partie précédente est égale.

Or il semble que wapt compare chaque nombre de la version entière 
(upstream_version + debian_revision), en délimitant par des points [1].
Du coup, si on compare les versions 1.0-1 et 1.0.1-1, wapt va comparer 
'1' à '1', puis '0-1' à '0', et va en déduire que '0-1' est supérieur à 
'0' et donc que 1.0-1 est supérieur à 1.0.1-1 ce qui n'est pas le cas.
Il suffit d'afficher le retour de la fonction alphanum_key() [2] pour 
voir qu'il compare ['', 0, '-', 1, ''] à ['', 0, ''].

Je pense que la comparaison devrait se faire sur la partie 
upstream_version, puis sur la partie debian_revision, comme décrit dans 
la documentation debian.
D'ailleurs ils précisent bien qu'une chaine vide dans l'upstream_version 
compte comme un zéro, donc 1.0 = 1.0.0, ce qui permet de comparer à 1.0.1.

Je suis loin d'être expert en python, il est tout à fait possible que je 
me trompe.

Cordialement,
Bastien

[1] https://github.com/tranquilit/WAPT/blob/master/waptpackage.py#L175
[2] https://github.com/tranquilit/WAPT/blob/master/waptpackage.py#L194


Le 18/05/2016 à 08:12, Bastien HERMITTE a écrit :
> Bonjour,
> Merci, je regarderai ça quand j'aurai un peu de temps.
> Cordialement,
> Bastien
>
> Le 17/05/2016 à 16:31, Denis Cardon a écrit :
>> Bonjour,
>>
>>> J'ai un paquet en version 2.3.0.0-0, et je l'ai mis à jour en 2.3.0-1.
>>> Cependant WAPT considère la nouvelle version comme une version
>>> inférieure et veut m'installer la version précédente.
>> >
>> > Est-ce normal ?
>>
>> on s'est basé sur l'algorithme de comparaison de numérotation de 
>> paquets de Debian [1] [2]. Je ne sais pas si le comportement est un 
>> bug ou une feature (ie est ce que 2.3.0.0 > 2.3.0 ?). Le chiffre 
>> après le tiret n'est évalué que si la première partie est égale. Si 
>> vous trouvez la référence dans la documentation Debian comment 
>> évaluer cette comparaison, on pourra vérifier que ça correspond bien.
>>
>> Cordialement,
>>
>> Denis
>>
>> [1] https://www.debian.org/doc/debian-policy/ch-controlfields.html
>> [2] https://github.com/tranquilit/WAPT/blob/master/waptpackage.py#L153
>>
>>
>>>
>>> Cordialement,
>>> Bastien
>>> _______________________________________________
>>> WAPT mailing list
>>> WAPT at lists.tranquil.it
>>> http://lists.tranquil.it/listinfo/wapt
>>
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt



More information about the WAPT mailing list