[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ suivant ]
Ce document essaie de décrire à l'utilisateur Debian moyen, et au développeur en devenir, la construction d'un paquet Debian. Il utilise un langage assez courant et est complété par des exemples, selon le vieux proverbe romain : Longum iter est per preaecepta, breve et efficax per exempla (c'est long par la règle, court et efficace par l'exemple).
Une des choses qui font de Debian une distribution de si haut niveau est son système de paquets. Bien qu'il existe une grande quantité de logiciels au format Debian, vous devrez parfois installer un logiciel qui ne l'est pas. Vous pouvez vous demander comment faire vos propres paquets et peut-être pensez-vous que c'est une tâche très difficile. Eh bien, si vous êtes vraiment un débutant sous Linux, c'est dur, mais si vous étiez un débutant, vous ne seriez pas en train de lire ce document. Vous devez en savoir un peu sur la programmation Unix, mais vous n'avez certainement pas besoin d'être un magicien.
Une chose est certaine, cependant : pour correctement développer et maintenir des paquets Debian, vous aurez besoin de journées/homme. Ne vous faites pas d'illusion, pour que votre système fonctionne, les responsables doivent à la fois être techniquement compétents et rapides.
Ce document va expliquer toutes les étapes les plus petites (et peut-être a priori insignifiantes), vous aider à créer ce premier paquet, et à gagner de l'expérience pour construire les versions suivantes ainsi peut-être que d'autres paquets.
Les nouvelles versions de ce document devraient toujours être disponibles en
ligne sur http://www.debian.org/doc/maint-guide/
.
La version de référence en anglais est disponible sur http://www.debian.org/doc/maint-guide/index.en.html
et dans le paquet « maint-guide
». La traduction en
français est également disponible dans le paquet
« maint-guide-fr
».
Avant de commencer quoi que ce soit, vous devriez vous assurer que vous avez correctement installé certains paquets supplémentaires nécessaires pour le développement. Notez que la liste ne contient aucun paquet marqué « essentiel » ou « requis » - nous supposons que vous avez déjà installé ceux-ci.
Cette version du document a été mise à jour pour les paquets de Debian 2.2 (Potato) et 3.0 (Woody).
Les paquets suivants sont fournis dans l'installation standard de Debian 2.1, de sorte que vous les avez probablement déjà (ainsi que les paquets supplémentaires dont ils dépendent). Néanmoins, vous devriez le vérifier avec « dpkg -s <paquet> ».
dpkg-dev
- ce paquet contient les outils nécessaires pour
dépaqueter, construire et télécharger les paquets sources Debian (voir
dpkg-source(1)
).
file
- ce programme bien pratique peut déterminer la nature d'un
fichier (voir file(1)
).
gcc
- le compilateur C de GNU, nécessaire si votre programme,
comme la plupart, est écrit en C (voir gcc(1)
). Ce paquet va
aussi « tirer » plusieurs autres paquets tels que
binutils
qui inclut les programmes utilisés pour assembler et lier
des fichiers objets (voir « info binutils » dans le paquet
binutils-doc
) et cpp
, le préprocesseur C (voir
cpp(1)
).
g++
- le compilateur C++ de GNU, nécessaire si votre programme est
écrit en C++ (voir g++(1)
).
libc6-dev
- les bibliothèques et fichiers d'en-têtes C dont gcc a
besoin pour les lier aux fichiers objets créés (voir « info libc »
dans le paquet glibc-doc
).
make
- d'ordinaire, la création d'un programme se fait en
plusieurs étapes. Plutôt que d'avoir à taper les mêmes commandes encore et
encore, vous pouvez utiliser ce programme pour en automatiser le processus, en
créant des fichiers « Makefile » (voir « info make »).
patch
- ce programme très utile prend un fichier contenant une
liste de différences (produite par le programme diff) et l'applique au fichier
original, produisant une version mise à jour (voir patch(1)
).
perl
- Perl est un des langages de script les plus utilisés sur
les systèmes modernes similaires à Unix, souvent qualifié de « couteau
suisse d'Unix » (voir perl(1)
).
Vous devrez probablement aussi installer les programmes suivants :
autoconf
et automake
- beaucoup de nouveaux
programmes utilisent des scripts de configuration et des fichiers Makefile
prétraités à l'aide de programmes comme ceux-ci (voir « info
autoconf », « info automake ») ;
dh-make
et debhelper
- dh-make est nécessaire pour
créer le squelette de notre exemple de paquet et il utilise certains outils de
debhelper pour créer les paquets. Ils ne sont pas indispensables pour la
création des paquets, mais ils sont fortement recommandés pour
les nouveaux responsables. Ils rendent le processus complet bien plus facile à
démarrer et à contrôler par la suite (voir dh_make(1)
,
debhelper(1)
, /usr/share/doc/debhelper/README) ;
devscripts
- ce paquet contient de jolis scripts utiles qui
peuvent aider les responsables, mais ils ne sont pas indispensables pour la
création de paquets (voir /usr/share/doc/devscripts/README.debian.gz) ;
fakeroot
- cet utilitaire vous laisse prétendre être le
superutilisateur, ce qui est nécessaire pour certaines parties du processus de
construction (voir fakeroot(1)
) ;
gnupg
- un outil qui vous permet de signer numériquement
les paquets. Ceci est spécialement important si vous comptez les distribuer à
d'autres personnes, et c'est certainement ce que vous ferez quand votre travail
sera inclus dans la distribution Debian (voir gpg(1)
) ;
g77
- le compilateur FORTRAN de GNU, nécessaire si votre programme
est écrit en FORTRAN (voir g77(1)
) ;
gpc
- le compilateur PASCAL de GNU, nécessaire si votre programme
est écrit en Pascal. Digne d'être mentionné ici, fp-compiler
, le
compilateur pascal libre, est également bon pour cette tâche (voir
gpc(1)
, ppc386(1)
) ;
xutils
- certains programmes, d'ordinaire ceux conçus pour X11,
utilisent aussi ces programmes pour générer les fichiers Makefile à partir d'un
ensemble de fonctions macros (voir imake(1)
,
xmkmf(1)
) ;
lintian
- c'est le vérificateur de paquet Debian, qui peut vous
indiquer de nombreuses erreurs courantes après la construction de votre paquet
et expliquer les erreurs trouvées (voir lintian(1)
,
diffstat(1)
,
/usr/share/doc/lintian/lintian.html/index.html) ;
pbuilder
- ce paquet contient des programmes utilisés pour créer
et maintenir un environnement chroot. Construire un paquet Debian dans cet
environnement permet de vérifier les dépendances correctes de construction et
évite les erreurs FTBFS (voir pbuilder(8)
et
pdebuild(1)
).
Enfin, ces paquets très importants doivent être installés et leur contenu lu en parallèle à ce document :
debian-policy
- la Charte inclut des explications sur la structure
et le contenu de l'archive Debian, plusieurs considérations sur l'architecture
du système d'exploitation, la norme de hiérarchie des fichiers (qui dit où
chaque fichier ou répertoire doit aller), etc. Le plus important pour vous est
qu'il décrit les critères que chaque paquet doit vérifier pour être inclus dans
la distribution (voir
/usr/share/doc/debian-policy/policy.html/index.html) ;
developers-reference
- concerne tout ce qui n'est pas spécifique
aux détails techniques de la création de paquets, comme la structure des
archives, comment renommer, rendre orphelin, choisir un paquet, faire un NMU
(une version du paquet non faite par le responsable), comment gérer les bogues,
les meilleures pratiques d'empaquetage, où et quand faire des envois de
paquets, etc. (voir
/usr/share/doc/developers-reference/index.en-us.iso-8859-1.html).
Les courtes descriptions qui sont données ci-dessus ne servent que d'introduction à ce que fait chaque paquet. Avant de continuer, veuillez lire attentivement la documentation de chaque programme, au moins l'usage standard. Cela peut vous sembler fastidieux maintenant, mais plus tard vous serez très content de l'avoir fait.
Remarque : debmake
est un paquet qui contient certains
programmes qui fonctionnent d'une manière similaire à dh-make, mais son usage
spécifique n'est pas couvert dans ce document, parce qu'il est
obsolète. Veuillez lire le manuel Debmake
pour plus
d'informations.
Vous pouvez faire deux types de paquets : source et binaire. Un paquet source contient le code que vous pouvez compiler en un programme. Un paquet binaire contient juste le programme fini. Ne mélangez pas les termes comme source du programme et le paquet source du programme ! Veuillez lire les autres manuels si vous avez besoin de plus de détails sur la terminologie.
Debian utilise le terme « responsable » pour la personne qui fait des paquets, « auteur » pour la personne qui a créé le programme, et « responsable amont » pour la personne qui maintient le programme actuellement. D'ordinaire, l'auteur et le responsable amont sont une seule et même personne. Si vous avez écrit un programme, et que vous voulez qu'il soit dans Debian, vous pouvez remplir une demande pour devenir un responsable.
Après avoir construit votre paquet (ou pendant la création), vous devrez devenir responsable Debian officiel si vous souhaitez que votre programme soit dans la prochaine distribution (si le programme est utile, pourquoi pas ?) Ce processus est expliqué dans la Référence du développeur. Veuillez la lire.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ suivant ]
Guide du nouveau responsable Debian
version 1.2.3, 18 janvier 2005.joy-mg@debian.org
adn+deb@diwi.org
debian-l10n-french@lists.debian.org
frederic.dumont@easynet.be