[Wapt] Documentation pour la création de paquets ? Re: create wapt

Hubert TOUVET htouvet at tranquil.it
Tue Apr 8 18:13:18 CEST 2014


Le 08/04/2014 17:26, Simon Fonteneau a écrit :
> Bonjour
>
> Je voulais savoir si il y avait un documentation pour la création des wapt
>
> Simon Fonteneau

Bonjour,
Il n'existe pas encore de documentation très détaillée : l'introduction 
est là : 
http://dev.tranquil.it/index.php/WAPT_-_D%C3%A9veloppement_de_paquets

On peut s'inspirer des paquets existants dans le dépot public 
http://wapt.tranquil.it/wapt
Un paquet wapt est un fichier Zip avec l'extension .wapt (un simple 7zip 
permet de voir le contenu !)  contenant au minimum :

  * un fichier python setup.py avec une fonction install()
  * un fichier texte WAPT\control avec les attributs du paquet (nom,
    version, architecture, dépendances, description...)
  * un fichier WAPT\manifest avec la liste des fichiers du paquet et une
    somme de contrôle sha1
  * un fichier WAPT\signature qui contient la signature cryptée de la
    liste des fichiers

Ce fichier zip contient évidemment en plus tous les fichiers nécessaires 
à l'installation (fichiers msi, setup.exe, install.exe, fichiers de 
configuration...)
Le client wapt-get possède des commande make-template, build-package, 
build-upload, make-group etc... pour faciliter la création, la signature 
et le déploiement de ce fichier ZIP particulier.

Le processus global est :
*1 - Préparation d'un environnement de travai*l
Le plus simple est d'installer le paquet tis-waptdev (dispo sur 
http://wapt.tranquil.it/wapt) qui installe un environnement python2.7 
complet, et un éditeur / debuggeur convivial  de code python "pyscripter"
Il faut également se créer (si ce n'est déjà fait) une clé privée et son 
certificat public qui va permettre de signer les paquets et authentifier 
quels paquets ont le droit d'être installés sur le parc.
Pour créer le couple clé privée / clé publique, utiliser la fonction 
Outils / Création de certificats auto-signés de waptconsole. Stocker la 
clé privée (.pem) en lieu sûr... et diffuser sur les postes 
(c:\wapt\ssl) la partie publique uniquement (.crt)
Configurer dans le fichier c:\wapt\wapt-get.ini les paramètres minimum 
de développement :
*[global]**
...
**default_sources_root*=c:\waptdev
*private_key*=C:\private\monorganisation.pem
*default_package_prefix*=test


*2- Développement du paquet**, tests , débuggage*
- par duplication d'un existant
wapt-get duplicate modele nouveau

- par création d'un template à partir d'un msi
wapt-get make-template chemin-vers-installeur.exe test-paquet

Cela crée une arborescence c:\waptdev\test-paquet avec des squelettes de 
fichiers à modifier/compléter

Pour tester le paquet, on n'a pas besoin de le on peut lancer sur le 
poste de développement / test (en tant qu'administrateur en général)
wapt-get install c:\waptdev\test-paquet

On peut également dans pyscripter mettre des points d'arrêt, et tester 
l'installation ou la désinstallation pas à pas.

Quand le paquet fonctionne en test, on peut le construire (en faire un 
zip avec la signature) et le mettre à disposition

*3 - Déploiement
*Pour construire/signer le paquet :
  wapt-get build-package c:\waptdev\test-paquet

Déployer le paquet consiste à le transférer sur un serveur http dans le 
répertoire /var/www/wapt et mettre à jour l'index des packages 
/var/www/wapt/Packages
- avec un serveur debian et les paquets tis-waptserver+tis-waptrepo
la commande wapt-get build-upload test-paquet.wapt envoie le paquet en 
http vers le serveur, et le waptserver se charge de le copier dans 
/var/www/wapt et de mettre à jour l'index

- sur un serveur apache2 et le paquet tis-waptrepo
On peut utiliser un outil comme winscp pour copier le paquet dans 
/var/www/wapt, puis on lance sur le serveur la commande "python 
/opt/wapt/wapt-scanpackages.py /var/www/wapt/"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20140408/93fa776f/attachment.html>


More information about the WAPT mailing list