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 ?
Cordialement, Bastien
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@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
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@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
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@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Bonjour
Désolé je déterre un peu le sujet mais je viens d'être confronter au même problème ou du moins a un problème similaire avec Version() J'ai actuellement la version 7 de notepadplusplus d'installée sur mon poste. La version 7.1 est sortie mais la comparaison de version dans la fonction install_exe_if_needed ne fonctionne pas
Je fais ceci :
if iswin64(): install_exe_if_needed('npp.7.1.Installer.x64.exe',silentflags='/S',key=key,min_version='7.1',killbefore=['notepad++.exe']) else: install_exe_if_needed('npp.7.1.Installer.exe',silentflags='/S',key=key,min_version='7.1',killbefore=['notepad++.exe'])
Et du coup pas d'installation.
Voici du coup mon test pour confirmer le problème avec la fonction Version : if Version('7) < Version(7.1): print ('toto')
Et effectivement le problème est présent et est résolue si je fais un :
if '7' < '7.1' : print ('toto')
Si je supprime la partie Version de need_install() dans le setuphelpers mon problème est résolue et la comparaison fonctionne. J'ai donc du mal a comprendre donc le pourquoi de la fonction Version()
Simon
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@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
Bonjour Simon,
Désolé je déterre un peu le sujet mais je viens d'être confronter au même problème ou du moins a un problème similaire avec Version() J'ai actuellement la version 7 de notepadplusplus d'installée sur mon poste. La version 7.1 est sortie mais la comparaison de version dans la fonction install_exe_if_needed ne fonctionne pas
Je fais ceci :
if iswin64(): install_exe_if_needed('npp.7.1.Installer.x64.exe',silentflags='/S',key=key,min_version='7.1',killbefore=['notepad++.exe'])
else: install_exe_if_needed('npp.7.1.Installer.exe',silentflags='/S',key=key,min_version='7.1',killbefore=['notepad++.exe'])
Et du coup pas d'installation.
Voici du coup mon test pour confirmer le problème avec la fonction Version : if Version('7) < Version(7.1): print ('toto')
Et effectivement le problème est présent et est résolue si je fais un :
if '7' < '7.1' : print ('toto')
Si je supprime la partie Version de need_install() dans le setuphelpers mon problème est résolue et la comparaison fonctionne. J'ai donc du mal a comprendre donc le pourquoi de la fonction Version()
Hubert a commité un correctif et l'a pushé sur le github aujourd'hui. Ca sera inclus dans la prochaine version 1.3.7.
à bientôt,
Denis
Simon
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@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt