[Wapt] Bug meta paquet et dépendance

Hubert TOUVET htouvet at tranquil.it
Wed Nov 25 08:36:11 CET 2015


Effectivement, le problème est l'appel imbriqué de WAPT.install dans une 
procédure install.
Pour faire l'installation, on importe le module setup.py en tant que 
__waptsetup__
Ce code n'est pas complètement réentrant et la variable uninstallkey est 
conservée.
Donc le uninstallkey du sous-paquet est propagée au paquet du dessus...

Ce problème n'existe pas avec les dépendances classiques car install est 
appelé séquentiellement et le module setup.py déchargé entre chaque appel...

j'ai fait un correctif dans la branche master du git  [1]  en donnant un 
nom aléatoire à chaque module setup.py importé.  ça semble résoudre le 
problème.
Il peut y avoir des effets de bords à changer, cela en particulier pour 
le débuggage des paquets dans PyScripter. Mes tests sont concluants, à 
voir à plus grande échelle...

Hubert

[1] 
https://github.com/tranquilit/WAPT/commit/96cb3ec98696e9c237d355842eb8e85e3352c00b



Le 24/11/2015 16:53, Fonteneau Simon a écrit :
>
> Effectivement après beaucoup de test je confirme le bug.
>
> Donc pour résumer :
>
> Je fait un paquet     aiz-wireshark
>
> Qui contient  :
>
> uninstallkey = []
>
> def install():
>    if iswin64():
>        WAPT.install('aiz-wiresharkx64')
>    else:
>        WAPT.install('aiz-wiresharkx86')
>
> def uninstall():
>    if iswin64():
>        WAPT.remove('aiz-wiresharkx64')
>    else:
>        WAPT.remove('aiz-wiresharkx86')
>
> Aucune dépendance n'est configurée dans ce paquet dans la partie control.
>
> ----
>
> Ensuite dans le paquet aiz-wiresharkx64 et aiz-wiresharkx86 j'indique  
> dans la partie dépendance le paquet  aiz-winpcap
>
> ----
>
> Maintenant si je lance la désinstallation de aiz-wireshark le paquet 
> aiz-winpcap va être désinstallée.
>
> Ce qui n'est pas le comportement normal.
>
> Simon
>
>
>
>
>
>
> Le 24/11/2015 15:18, Fonteneau Simon a écrit :
>> Je test chez moi du coup pour voir
>>
>>
>>
>>
>>
>>
>>
>> Le 24/11/2015 15:08, Bastien HERMITTE a écrit :
>>> Je viens de tester ce cas, et Winpcap n'est pas désinstallé.
>>> C'est donc bien WAPT qui le désinstalle.
>>>
>>> Bastien
>>>
>>> Le 24/11/2015 14:42, Fonteneau Simon a écrit :
>>>> Ce que je vais dire est peut être une bêtise mais pour le test ca 
>>>> peut être interessant:
>>>>
>>>> Si vous ne configurer pas de uninstall pour le paquet Winpcap
>>>>
>>>> Puis vous mettez a jour Winpcap sur le poste et ensuite vous 
>>>> désinstallez via le paquet wireshark via wapt.
>>>>
>>>> Nous saurons rapidement si le problème vient de wireshark ou bien 
>>>> de wapt. Si dans ce cas précis winpcap est encore désinstallée 
>>>> alors ce n'est pas wapt qui désintalle winpcap (puisqu'il sans 
>>>> uninstall il ne sait pas le désinstaller)
>>>>
>>>> Simon
>>>>
>>>>
>>>>
>>>> Le 24/11/2015 12:46, Bastien HERMITTE a écrit :
>>>>> Bonjour,
>>>>>
>>>>> C'est une uninstallkey, et tous mes tests sont fait en ligne de 
>>>>> commande avec le compte administrateur.
>>>>>
>>>>> J'exécute la commande récupérée par un "wapt-get list-registry 
>>>>> wireshark", soit celle qu'appelle WAPT il me semble.
>>>>> Je rajoute juste le paramètre silencieux /S qui est rajouté par WAPT.
>>>>>
>>>>> Cordialement,
>>>>> Bastien
>>>>>
>>>>> Le 24/11/2015 11:53, Fonteneau Simon a écrit :
>>>>>> C'est une uninstallstring ou une uninstallkey de configurée dans 
>>>>>> le paquet wireshark ?
>>>>>>
>>>>>> Ensuite il y a peut être une différence entre l'execution en 
>>>>>> compte system et l’exécution en compte utilisateur(administrateur)
>>>>>>
>>>>>> Si vous avez renseignée une uninstallkey , wapt va chercher la 
>>>>>> commande a exécuter dans :
>>>>>> HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\/*keyname*/
>>>>>>
>>>>>> Exécutez vous bien la même commande ?
>>>>>>
>>>>>> Simon
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Le 24/11/2015 11:45, Bastien HERMITTE a écrit :
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> C'est justement ce que j'ai pensé au début, mais après test ce 
>>>>>>> n'est pas le cas :
>>>>>>> - lorsque j'appelle le désinstalleur de Wireshark en ligne de 
>>>>>>> commande, il ne me désinstalle pas Winpcap
>>>>>>> - lorsque je désinstalle Wireshark via le paquet réel (et pas le 
>>>>>>> meta paquet), il ne me désinstalle pas Winpcap non plus
>>>>>>>
>>>>>>> D'où mon questionnement sur un bug éventuel.
>>>>>>>
>>>>>>> Cordialement,
>>>>>>> Bastien
>>>>>>>
>>>>>>> Le 24/11/2015 01:11, Fonteneau Simon a écrit :
>>>>>>>> Pour moi c'est normal
>>>>>>>>
>>>>>>>> Je pense que c'est parce-que la uninstall de wireshark est 
>>>>>>>> prévu pour uninstall aussi wincap
>>>>>>>>
>>>>>>>> Mais comme wincap n'a pas été désinstallé par wapt, le paquet 
>>>>>>>> est toujours dans la liste des paquets installé.
>>>>>>>>
>>>>>>>> Du coup a mon avis il faudrait revoir la partie uninstall du 
>>>>>>>> paquet wireshark pour qu'elle ne désinstalle pas wincap ou 
>>>>>>>> alors mieux qu'elle fasse un forget a la fin pour justement 
>>>>>>>> oublier le paquet wincap:
>>>>>>>>
>>>>>>>>     reader = WAPT.is_installed('my-wincap')
>>>>>>>>     if reader :
>>>>>>>>         WAPT.forget_packages(reader.package)
>>>>>>>>
>>>>>>>> Simon
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Le 23/11/2015 18:04, Bastien HERMITTE a écrit :
>>>>>>>>> Bonjour,
>>>>>>>>>
>>>>>>>>> Je rencontre un problème avec un meta paquet et je me demande 
>>>>>>>>> si ce n'est pas un bug de WAPT.
>>>>>>>>>
>>>>>>>>> J'ai 3 paquets pour le logiciel wireshark :
>>>>>>>>> - un meta paquet avec seulement des conditions pour installer 
>>>>>>>>> le paquet correspondant à l'architecture
>>>>>>>>> - un paquet x86
>>>>>>>>> - un paquet x64
>>>>>>>>>
>>>>>>>>> Les deux paquets x86 et x64 ont en dépendance le paquet winpcap.
>>>>>>>>>
>>>>>>>>> Tout fonctionne bien si je ne passe pas par le meta paquet.
>>>>>>>>> Mais :
>>>>>>>>> - lorsque j'installe wireshark via le meta paquet, il 
>>>>>>>>> m'installe bien le paquet winpcap
>>>>>>>>> - lorsque je désinstalle wireshark via le meta paquet, il me 
>>>>>>>>> désinstalle le paquet winpcap mais celui-ci reste dans la 
>>>>>>>>> liste des paquets installés
>>>>>>>>>
>>>>>>>>> Si je ne m'abuse, la désinstallation via le meta paquet ne 
>>>>>>>>> devrait pas me désinstaller le paquet winpcap.
>>>>>>>>>
>>>>>>>>> Merci d'avance.
>>>>>>>>> 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
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>
>>>
>>>
>>> _______________________________________________
>>> WAPT mailing list
>>> WAPT at lists.tranquil.it
>>> http://lists.tranquil.it/listinfo/wapt
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20151125/50a2aaf9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 27405 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20151125/50a2aaf9/attachment-0002.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 27405 bytes
Desc: not available
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20151125/50a2aaf9/attachment-0003.jpe>


More information about the WAPT mailing list