Allez dans le répertoire principal du programme et lancez ceci :
dpkg-buildpackage -rfakeroot
Ceci fera tout pour vous, vous avez juste à entrer votre clé secrète PGP, deux fois. Une fois que c'est fait, vous verrez cinq fichiers dans le répertoire ~/debian :
Ceci est le paquet binaire complété. Vous pouvez utiliser dpkg ou dselect pour l'installer ou le retirer juste comme tout autre paquet.
Ceci est le code source original rassemblé de sorte que si quelqu'un d'autre veut recréer votre paquet depuis le début, il le peut. Ou si il n'utilise pas le système de paquet Debian, mais a besoin de télécharger le code source et de le compiler.
Ceci est un résumé du contenu du code source. Ce fichier est généré à partir
du fichier gentoo-0.9.12/debian/control, et est utilisé pour décompresser les
sources avec dpkg-source(1)
. Ceci est un fichier signé avec PGP,
de sorte que les gens peuvent être sûrs qu'il s'agit bien du votre.
Ce fichier compressé contient chacune des additions que vous avez faites au
code source original, sous une forme connue comme « différence unifiée ». Il
est crée et utilisé par dpkg-source(1)
.
Ce fichier contient toutes les modifications faites dans la révision courante du paquet, et est utilisé par les programmes de maintenance des archives FTP Debian pour y installer les paquets binaires et sources. Il est partiellement généré à partir du fichier gentoo-0.9.12/debian/changelog et du fichier .dsc.
Au fur et à mesure que vous travaillez sur le paquet, son comportement va
changer et de nouvelles capacités seront ajoutées. Les gens qui téléchargent
votre paquet peuvent lire ce fichier et voir ce qui a changé. Les longues
chaînes de chiffres sont des sommes MD5 pour les fichiers mentionnés. Les
personnes téléchargeant vos fichiers peuvent les tester avec
md5sum(1)
et si les fichiers ne correspondent pas, ils sauront que
le fichier a été corrompu ou qu'il a été piraté. Ce fichier est signé avec
PGP, de sorte que les gens peuvent être encore plus sûrs qu'il s'agit bien du
votre.
Avec un paquet large, vous ne voudrez sans doute pas reconstruire depuis le début chaque fois que vous faites une petite modification. Pour tester, vous pouvez faire un fichier .deb sans reconstruire les sources amonts comme ceci :
fakeroot debian/rules binary
Assurez-vous juste que votre règle `install' n'a *pas* de fille `install-stamp' (c'est en standard aujourd'hui), pour garantir que `dh_clean -k' est exécuté chaque fois. Et une fois que vous en avez fini avec vos réglages, n'oubliez pas de reconstruire en suivant la procédure correcte, pour pouvoir télécharger correctement.
Lancez lintian(1)
sur votre fichier .changes; ce programme va
examiner un grand nombre d'erreurs de paquetage courantes. La commande est :
lintian -i gentoo_0.9.12-1_i386.changes
Bien-sûr, remplacez le nom de fichier par celui du fichier de changements généré pour votre paquet. S'il s'avère qu'il y a des erreurs (les lignes commençant avec E:), lisez l'explication (les lignes N:), corrigez les erreurs, et reconstruisez comme décrit dans Construire le paquet, Section 6.1. S'il y a des lignes qui commencent avec W:, il s'agit de mises en garde, donc vous pouvez être sûr que votre paquet est bon (mais il nécessite certainement des modifications mineures).
Remarquez que vous pouvez reconstruire le paquet avec dpkg-buildpackage et
lancer lintian en une seule commande debuild(1)
.
Regardez dans votre paquet en utilisant un gestionnaire de fichiers comme
mc(1)
ou décompressez-le dans une place temporaire en utilisant
dpkg-deb(1)
. Cherchez avant tout les fichiers inutiles à la fois
dans les paquets binaire et source, au cas où les choses se seraient mal
passées et que des crasses n'auraient pas été nettoyées. Astuce: `zgrep ^+++
../gentoo_0.9.12-1.diff.gz` vous donnera la liste de vos
modifications/additions au fichiers sources, et `dpkg-deb -c
gentoo_0.9.12-1_i386.deb` la liste des fichiers dans le paquet.
Installez le paquet pour le tester vous-même, par exemple en utilisant
debi(1)
en tant que root. Essayez de l'installer sur d'autres
machines que la votre et vérifier attentivement chaque avertissement ou erreur
à l'installation ou en exécutant le programme.
Plus tard, quand vous construisez une nouvelle version, vous devriez faire les choses suivantes pour assurer une mise à jour de base de votre paquet :
Maintenant que vous avez testé votre nouveau paquet en détail, vous devez
télécharger ces fichiers à master.debian.org, en utilisant
dupload(1)
. D'abord vous devez créer le fichier de configuration
d'upload, ~/.dupload.conf. Mettez-y quelque chose comme ceci :
package config; $default_host = "master"; $cfg{master}{"method"} = "scpb"; $cfg{master}{"login"} = "joy"; $cfg{master}{"visibleuser"} = "jrodin"; $cfg{master}{"visiblename"} = "jagor.srce.hr"; $cfg{master}{"fullname"} = "Josip Rodin"; $cfg{non-us}{"method"} = "scpb"; $cfg{non-us}{"login"} = "joy"; $cfg{non-us}{"visibleuser"} = "jrodin"; $cfg{non-us}{"visiblename"} = "jagor.srce.hr"; $cfg{non-us}{"fullname"} = "Josip Rodin"; 1;
Bien-sûr, remplacez mes informations personnelles par les votre, et lisez la
page de manuel dupload.conf(5)
pour comprendre ce que chacune de
ces options signifie.
Puis connectez vous à votre fournisseur Internet et lancez cette commande :
dupload --to master gentoo_0.9.12-1_i386.changes
Dupload vérifie que les sommes md5 des fichiers sont identiques à celles du fichier .changes, pour qu'il puisse vous avertir de reconstruire comme décrit dans Construire le paquet, Section 6.1 et qu'il charge le fichier correctement.
Dupload vous demandera pour votre mot de passe sur master.debian.org,
téléchargera vos paquets, et donnera une annonce courte de votre téléchargement
sur debian-devel-changes@lists.debian.org
si nécessaire.
Si vous vivez en Europe, vous pouvez utiliser d'autres queues de téléchargement
à la place de master. Pour des détails lisez dupload.conf(5)
et
la Référence du Développeur.
Disons qu'un rapport de bogue a été rempli pour votre paquet, #54321, et qu'il décrit un problème que vous pouvez résoudre. Pour créer une nouvelle révision du paquet, vous devez:
Considérons maintenant une autre situation, légèrement plus compliquée - une nouvelle version amont est disponible, et bien-sûr vous voulez en faire un paquet. Vous devez donc :
uupdate -u gentoo-0.9.13.tar.gz
Bien-sûr, remplacez le nom de fichier par celui de l'archive source de votre
programme. uupdate(1)
va correctement renommer cette archive,
essayer d'appliquer les modifications de votre précédent fichier .diff.gz, et
mettre à jour le nouveau fichier debian/changelog.
Remarquez que si vous configurez `debian/watch' comme indiqué dans watch.ex, Section 5.6, vous pouvez lancer
uscan(1)
pour automagiquement chercher les nouvelles sources, les
télécharger et exécuter uupdate dessus.
Avant de vous décider à poser une question dans un lieu public, s.v.p. RTFM.
Ceci inclut la documentation sous /usr/share/doc/dpkg, /usr/share/doc/debian,
/usr/share/doc/debhelper et les pages de manuel/d'info pour tous les programmes
mentionnés dans cet article. Quand vous recevez un rapport de bogue (oui, un
rapport de bogue réel!) vous saurez qu'il est temps de plonger dans Système de Suivi de Bogues Debian
et lisez la documentation là, pour être à même de gérer les rapports
efficacement.
En joignant la liste de discussion Debian Mentors à debian-mentors@lists.debian.org
vous pouvez joindre des développeurs Debian expérimentés qui vous aideront avec
les questions que vous pouvez avoir. Vous pouvez vous y inscrire en envoyant
un courriel à debian-mentors-request@lists.debian.org
avec le mot 'subscribe' dans le sujet du message.
Si vous avez encore des questions, posez les sur la liste de discussion Debian
Developers à debian-devel@lists.debian.org
.
Vous pouvez vous y inscrire en envoyant un courriel à debian-devel-request@lists.debian.org
avec le mot 'subscribe' dans le sujet du message. Si vous êtes déjà un
développeur Debian, vous devriez y être inscrit de toute manière.
Même si tout marche bien, il est temps de commencer à prier. Pourquoi ? Parce que dans quelques heures (ou jours) les utilisateurs du monde entier vont commencer à utiliser votre paquet, et si vous avec fait des erreurs critiques vous serez bombardé par les courriels d'utilisateurs Debian furieux... Je plaisante. :-)
Relaxez-vous et soyez prêt pour les rapports de bogues, parce qu'il y aura beaucoup plus de travail à faire avant qu'il soit parfaitement conforme aux règles Debian (une fois encore, lisez la documentation réelle pour les détails). Bonne chance !
jrodin@jagor.srce.hr
frederic.dumont@freeworld.be