Packaging avec les outils de DevTools
Chapitre I
Empaquetage d'un paquet conforme au "Standard Source Tree"
Pour commencer, il est important de voir la documentation du fameux
standard source tree avant de passer à la suite de ce document.
1. Création d'un tarball avec distutils
La première étape de la distribution d'un paquet Python est de rendre celui-ci
distribuable à l'aide de
Distutils (cela n'est pas nécessaire pour les produits
Zope). Ce paquet fournit un fichier
setup.py générique, tirant les
informations nécessaire du fichier
__pkginfo__.py. Vous n'avez donc
théoriquement qu'à copier le setup.py générique et à écrire un fichier
MANIFEST.in. Pour en savoir plus ou si vous avez des besoins un peu exotique,
e vous laisse lire la
documentation de distutils. Une fois cela effectué, il
est de bon ton de tester que ça marche...
-
python setup.py sdist à la racine du paquet.
-
vérifier que l'archive générée (dans le sous-répertoire dist) contient les
fichiers désirés.
-
extraire l'archive (tarball) dans un répertoire temporaire.
-
python setup.py install dans le répertoire extrait de l'archive
(voir les options d'installation avec python setup.py install --help).
-
vérifier que les tests / éxécutables installés fonctionnent correctement.
L'utilitaire
preparedistrib vous aide en faisant des vérifications et diverses
actions préparant la distribution. Il est donc fortement conseillé de l'éxécuter
avant d'effectuer une distribution. Une fois le tarball généré et vérifié,
utiliser l'utilitaire
tagpackage pour mettre un tag dans le CVS correspondant
à la distribution que vous venez d'effectuer.
Pour tester rapidement votre paquet debian utilisez
buildpackage.
(
buildpackage logilab/pyreverse deb si on reprend l'exemple).
Une fois le paquet construit, il faut vérifier :
-
son contenu avec dpkg --contents <monpackage.deb>
-
son installation avec dpkg -i <monpackage.deb>
-
que les tests / éxécutables installés fonctionnent correctement
-
sa déinstallation avec dpkg -r <monpackage.deb>
3. Construction du paquet final
Une fois que tout marche, vous devez utiliser
makedistrib pour construire le
tarball et le paquet debian. Il est important d'utiliser ensuite l'utilitaire
tagpackage pour mettre les tags dans le gestionnaire de source.