Vous avez probablement choisi le paquet que vous voulez créer. La première
chose à faire est de vérifier si le paquet si trouve déjà dans la distribution.
Si vous utilisez la distribution « stable », le mieux est d'aller sur
la page de recherche
des paquets
. Si vous utilisez une distribution
« unstable » courante, vérifiez le avec ces
commandes :
dpkg -s programme dpkg -l '*programme*'
Si le paquet existe déjà, et bien, installez-le :-). Si il se trouve
qu'il est orphelin -- si son responsable est « Debian QA Group »,
vous devriez être capable de le reprendre. Consultez la liste des paquets
orphelins
et la liste des paquets
disponibles pour adoption
pour vérifier que le paquet est bien
disponible.
Si vous pouvez adopter le paquet, récupérez les sources (avec quelque chose comme apt-get source nom_du_paquet) et examinez-les. Malheureusement ce document n'inclut pas des informations exaustives sur l'adoption de paquets. Cependant vous ne devriez pas avoir de problèmes pour comprendre comment le paquet fonctionne puisque quelqu'un a déjà fait la configuration pour vous. Continuez quand même à lire, une bonne partie des conseils qui suivent seront applicables dans votre cas.
Si le paquet est nouveau, et que vous décidez que vous voulez le voir dans Debian, procédez comme suit :
la liste des
paquets en cours de création
. Si quelqu'un travaille déjà dessus,
contactez-les si vous pensez que vous le devez. Sinon, trouvez un autre
programme intéressant que dont personne n'est responsable.
Règles de Logiciel
Libre Debian
. S'il n'est pas conforme à certaines de ces règles
mais peut quand même être distribué, il peut malgré tout être inclus dans les
sections « contrib » ou « non-free » de Debian. Si vous
ne savez pas trop où il doit aller, postez la licence sur debian-legal@lists.debian.org
et demandez conseil.
Bien sûr, toutes ces remarques ne sont que des mesures de sécurité, et ont pour but de vous sauver d'utilisateurs fous de rage si vous faites une erreur dans un démon setuid... Quand vous aurez plus d'expérience dans la création des paquets, vous serez capable de faire de tels paquets, mais même les développeurs les plus expérimentés consultent la liste de discussion debian-mentors en cas de doute. Et là les gens seront contents de vous aider.
Pour plus d'informations à ce sujet, consultez la Référence du Développeur.
La première chose à faire est de trouver et de télécharger le paquet original. Je suppose que vous avez déjà le fichier source que vous avez pris sur la page web de l'auteur. Les sources pour les logiciels Unix libres sont d'habitude au format tar/gzip avec l'extension .tar.gz, et contiennent normalement un sous-répertoire nommé programme-version avec toutes les sources dedans. Si la source de votre programme est disponible dans une autre sorte d'archive (par exemple, le programme se termine par '.Z' ou '.zip'), décompressez-le avec les outils adéquats ou demandez sur la liste de discussion debian-mentors si vous n'êtes pas sûr quant à la façon de le décompresser correctement (indice : utilisez « file archive.extension »).
Comme exemple, je vais utiliser un programme nommé « gentoo », un gestionnaire de fichiers pour X utilisant GTK+. Sachez qu'il y a déjà un paquet pour ce programme, et qu'il a changé substantiellement depuis que ce texte a été écrit la première fois.
Créez un sous-répertoire sous votre répertoire racine nommé « debian » ou « deb » ou quoi que ce soit d'adéquat (ou le nom du programme, ~/gentoo, ferait l'affaire dans notre cas). Placez l'archive téléchargée dedans, et décompressez la avec « tar -xzf gentoo-0.9.12.tar.gz ». Assurez-vous qu'il n'y a pas d'erreurs, même « sans importance », parce qu'alors il y aura des problèmes pour décompresser sur les systèmes d'autres personnes, dont les outils de décompressions pourraient ne pas supporter ces erreurs.
Maintenant vous avez un autre sous-répertoire, nommé « gentoo-0.9.12 ». Allez dans ce répertoire et lisez attentivement la documentation fournie. Il s'agit d'habitude de fichiers nommés README*, INSTALL*, *.lsm ou *.html. Dedans, vous devez trouver les instructions pour compiler et installer correctement le programme (très probablement elles supposent que vous voulez installer dans le répertoire /usr/local/bin; ce n'est pas le cas, mais on reviendra sur ce point plus tard dans Installer dans un sous-répertoire, Section 3.1).
La méthode varie d'un programme à l'autre, mais de nombreux programmes modernes viennent avec un script « configure » qui configure les sources selon votre système et s'assure que votre système est à même de les compiler. Après la configuration avec « ./configure », les programmes sont compilés avec « make ». Certains d'entre eux supportent « make check », pour se tester eux-mêmes. L'installation dans les répertoires de destination est généralement obtenue avec « make install ».
Maintenant, essayez de compiler et d'exécuter votre programme, pour vous assurer qu'il fonctionne correctement et ne casse rien d'autre quand il est installé ou qu'il tourne.
Sachez aussi que vous pouvez généralement entrer « make clean » (ou mieux, « make distclean ») pour nettoyer le répertoire de compilation. Parfois, il y a même un « make uninstall » qui peut être utilisé pour retirer tous les fichiers installés.
Vous devriez commencer la création du paquet avec un répertoire source complètement propre (originel), ou plus simplement avec les sources fraîchement décompressées.
Pour que le paquet soit correctement construit, vous devez changer le nom du programme en minuscule (si ce n'est déjà fait), et vous devriez changer le répertoire source en <nompaquet>-<version>.
Si le nom du programme consiste en plus d'un mot, réduisez-le à un mot, ou faites une abréviation. Par exemple, le paquet du programme « John's little editor for X » serait nommé johnledx, ou jle4x, ou quoi que vous vouliez, aussi longtemps qu'il reste sous une limite raisonnable, en général 20 caractères.
Vérifiez aussi la version exacte du programme (qui sera inclus dans la version du paquet). Si ce logiciel n'est pas numéroté avec un numéro de version comme X.Y.Z, mais avec une date de distribution, vous pouvez utiliser cette date comme numéro de version, avec comme préfixe '0.0.' (juste au cas où les responsables amont décident de distribuer une jolie version comme 1.0). Donc, si la date est le 19 décembre 1998, vous pouvez utilisez 0.0.19981219 comme chaîne pour la version.
Certains ne seront pas numérotés du tout, auquel cas vous devriez contacter le responsable amont pour voir s'il a une autre méthode de gestion des révisions.
Vérifiez que vous êtes dans le répertoire du code source du programme, et lancez ceci :
dh_make -e votre.adresse@de.responsable -f ../gentoo-0.9.12.tar.gz
Bien sûr, remplacez la chaîne « votre.adresse@de.responsable » avec
votre adresse mél pour l'inclure dans l'entrée changelog et dans d'autres
fichiers, et le nom du fichier par le nom de la source d'archive originale.
Voyez dh_make(1)
pour plus de détails.
Des informations sont affichées. Il vous demande quelle sorte de paquet vous voulez créer. Gentoo est un paquet binaire simple - il ne crée qu'un exécutable, et donc un seul fichier .deb - donc nous sélectionnons la première option, avec la touche « s », vérifions l'information sur l'écran et confirmons en pressant <entrée>.
Rappelons-le, en tant que nouveau responsable, vous ne devriez pas créer des paquets avec plusieurs exécutables, ou des bibliothèques. Ce n'est pas si difficile, mais cela requiert un peu plus de connaissances, et nous n'entrerons pas dans les détails ici.
Notez que vous ne pouvez exécuter dh_make qu'une fois, et qu'il ne se comportera pas correctement si vous l'exécutez encore dans le même répertoire déjà debianisé. Cela signifie aussi que vous devrez utiliser une autre méthode pour distribuer une nouvelle révision ou une nouvelle version de votre paquet dans le futur. Lisez plus à ce sujet dans ce texte dans Mettre à jour le paquet, Chapitre 9
Guide du nouveau responsable Debian
version 1.2, 6 avril 2002.joy-mg@debian.org
frederic.dumont@easynet.be