[Wapt] Ajouter un module python à wapt

Frederic Garesche Frederic.Garesche at insa-rennes.fr
Tue Jul 2 10:58:31 CEST 2019


Bonjour Hubert, 

Je mets directement ma librairie dans C:\wapt\lib\sites-packages\ puis je crée un agent wapt 
Ainsi le module est déployé en même temps que l'agent avec le paquet waptupgrade. 
Cela a deux avantages : 
- la sécurité d'avoir le module quoi qu'il arrive. On est plusieurs gestionnaires et un paquet spécifique est le risque de ne pas l'avoir sur tous les postes. 
- le contrôle de la version grâce au champ min_wapt_version 

Ce qui me manque c'est la gestion de la version de l'agent. Je ne sais pas comment incrémenter la version de l'agent pour qu'il prenne en compte le module à jour. 
Je génère l'agent wapt mais lors du déploiement sur une machine cliente qui a déjà l'agent, waptupgrade n'installe pas l'agent parce qu'il considère que c'est la même version. 

Cordialement, 

Frédéric GARESCHÉ 
Équipe Assistance et Exploitation 
Direction du Système d'Information (D.S.I) 
Correspondant Département EII et laboratoire IETR 
Tél. : +33 (0)2 23 2 3 82 81 
20 avenue des Buttes de Coësmes 
CS 70839 - 35 708 RENNES Cedex 7 

[ https://www.insa-rennes.fr/ ] 


De: "Hubert TOUVET" <htouvet at tranquil.it> 
À: "wapt" <wapt at lists.tranquil.it> 
Envoyé: Lundi 1 Juillet 2019 09:59:01 
Objet: Re: [Wapt] Ajouter un module python à wapt 

Bonjour, 
A priori, la méthode décrite ci-dessous n'a pas de raison de ne plus fonctionner dans les versions de wapt post 1.3 
Il faut créer un paquet qui initialement copie le module dans le VirtualEnv de wapt. 
Ensuite, il doit être disponible comme décrit ci-dessous. 
La principale différence de ce point de vue entre 1.3 et 1.6/1.7 est le fait que Wapt a une installation python en propre qui est construit par VirtualEnv au lieu de procédure custom. 
Lors des mises à jour de l'agent Wapt, normalement, Innosetup ne touche pas aux fichiers qu'il n'a pas installés lui-même. 
Donc le module additionnel devrait persister... à vérifier. 

Quelles difficultés rencontrez-vous ? 

Hubert 

Le 01/07/2019 à 09:26, Frederic Garesche a écrit : 



Bonjour Joël, 

J'utilise un module intégré dans l'agent wapt. 
Je l'ai mis dans C:\wapt\lib\sites-packages\malibpython.py 
Le module contient des fonctions que j'ai créées pour simplifier la création des paquets. 
Dans le setup.py, il suffit d'ajouter la ligne : from libinsa import * 
Cela fonctionne dans toutes les fonctions de base de wapt : install(), uninstall(), sessionsetup(), ... 

L'équipe wapt m'avait fourni une solution pour mettre à jour mon module. Mais cela ne fonctionne plus depuis la migration d'après wapt 1.3.13. 
Et hélas, l'équipe Wapt ne m'a pas donner de nouvelle solution. 
Je voulais aussi savoir si ma méthode d'inclusion de module était la plus adapté par rapport au fonctionnement de wapt mais là non plus je n'ai pas eu de réponse. 

La seule solution que j'ai actuellement est de mettre à jour mon module lors d'une mise à jour de wapt. 

Voici pour exemples, trois des mes fonctions : 

def add_trustedpublisher_certificates(certificates): 
r"""Add trustedpublisher certificates 

Args: 
certificates (list) : list of trustedpublisher certificate files to add 

Returns: 
None 

>>> add_trustedpublisher_certificates(['SymantecTimeStampingServicesCAG2.cer','SymantecTimeStampingServicesSignerG4.cer']) 
""" 
if not isinstance(certificates,list): 
certificates = [certificates] 

for cert in certificates: 
if isfile(cert): 
print('Adding TrustedPublisher certificate : %s' %(cert)) 
run(r'certutil.exe -f -addstore "TrustedPublisher" "%s"' %(cert)) 
else: 
print(r'Warning : trustedpublisher certificate file %s not found' %(cert)) 

def add_drivers(drivers,drivers_path_root): 
r"""Add drivers 

Args: 
drivers (list) : list of driver files with their relative path 
drivers_path_root (str) : root path where to find the drivers 

Returns: 
None 

>>> add_drivers(['usb-blaster\\usbblstr.inf','usb-blaster-ii\\usbblasterii.inf'],'C:\\Altera\\17.1\\quartus\\drivers') 
""" 
if not isinstance(drivers,list): 
drivers = [drivers] 

if isdir(drivers_path_root): 
for driver in drivers: 
print('installing %s' %(driver)) 
with disable_file_system_redirection(): 
run_notfatal(r'C:\Windows\System32\pnputil.exe -i -a "%s\%s"' %(drivers_path_root,driver)) 
else: 
print(r'Warning : drivers path root %s not found' %(drivers_path_root)) 

def add_firewall_rule(name_rule,path,profil='domain,private'): 
r"""Add firewall rule 

Args: 
name_rule (str) : Name of the rule 
path (str) : Absolute path to the file to allow 
profil (str): Add the rule for domain | private | public 

Returns: 
None 

>>> add_firewall_rule('Packet Tracer Executable',r'C:\Program Files\Cisco Packet Tracer 7.1\bin\PacketTracer7.exe') 
""" 
try: 
run(r'netsh advfirewall firewall show rule name="%s"' %name_rule) 
except: 
print('Firewall : adding rule "%s" in %s' %(name_rule,profil)) 
if isfile(path): 
run_notfatal(r'netsh advfirewall firewall add rule name="%s" dir=in action=allow program="%s" enable=yes profile=%s' %(name_rule,path,profil)) 


Frédéric GARESCHÉ 
Équipe Assistance et Exploitation 
Direction du Système d'Information (D.S.I) 
Correspondant Département EII et laboratoire IETR 
Tél. : +33 (0)2 23 2 3 82 81 
20 avenue des Buttes de Coësmes 
CS 70839 - 35 708 RENNES Cedex 7 

[ https://www.insa-rennes.fr/ ] 


De: "Latieule Joel" [ mailto:joel.latieule at ac-montpellier.fr | <joel.latieule at ac-montpellier.fr> ] 
À: "wapt" [ mailto:wapt at lists.tranquil.it | <wapt at lists.tranquil.it> ] 
Envoyé: Lundi 1 Juillet 2019 08:14:42 
Objet: Re: [Wapt] Ajouter un module python à wapt 



Bonjour Frederic, 




Sans pouvoir t'aider et dans l'objectif d'acquérir de nouvels exemples d'usage avec WAPT, pourrait tu m'indiquer comment tu souhaite utiliser les modules ajouter à l'agent ? 

Je suis également dans un étab scolaire (bien plus petit que le tient). Je suis intéressé pour faire évoluer mon installation. 
Joël LATIEULE - 06.38.02.33.27 / TICE

Collège Victor Hugo - 0110021n
5 boulevard Marcel Sembat, 11100 Narbonne
04.68.90.24.00 
Le 27/06/2019 à 13:37, Frederic Garesche a écrit : 

BQ_BEGIN

Bonjour, 

J'utilise un module pour regrouper quelques fonctions qui sont souvent utilisées dans nos paquets. 
On a, par exemple, une fonction pour modifier plus facilement la base de registre, une autre pour modifier les profils déjà présents sur la machine et surtout modifier notre profil obligatoire sur notre parc d'enseignement. 
Nos fonctions ne sont certes pas super bien écrites ni optimales mais restent fonctionnelles. 
Le module est utilisé aussi bien pour la fonction install() que pour la fonction uninstall(). 

Quelle méthode préconisez-vous pour ajouter son propre module python à l'agent Wapt 1.7.4 ? 

En attendant une réponse de votre part, je vous souhaite une bonne journée, 


PS : J'avais déjà posé la question mais je n'avais pas eu de réponse. 


Frédéric GARESCHÉ 
Équipe Assistance et Exploitation 
Direction du Système d'Information (D.S.I) 
Correspondant Département EII et laboratoire IETR 
Tél. : +33 (0)2 23 2 3 82 81 
20 avenue des Buttes de Coësmes 
CS 70839 - 35 708 RENNES Cedex 7 

[ https://www.insa-rennes.fr/ ] 

_______________________________________________
WAPT mailing list [ mailto:WAPT at lists.tranquil.it | WAPT at lists.tranquil.it ] [ http://lists.tranquil.it/listinfo/wapt | http://lists.tranquil.it/listinfo/wapt ] 



_______________________________________________ 
WAPT mailing list 
[ mailto:WAPT at lists.tranquil.it | WAPT at lists.tranquil.it ] 
[ http://lists.tranquil.it/listinfo/wapt | http://lists.tranquil.it/listinfo/wapt ] 


_______________________________________________
WAPT mailing list [ mailto:WAPT at lists.tranquil.it | WAPT at lists.tranquil.it ] [ http://lists.tranquil.it/listinfo/wapt | http://lists.tranquil.it/listinfo/wapt ] 

BQ_END


_______________________________________________ 
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/20190702/87f369cd/attachment.html>


More information about the WAPT mailing list