[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ A ] [ suivant ]



Référence du développeur Debian
Annexe A - Aperçu des outils du responsable Debian


Cette section contient un aperçu rapide des outils dont dispose le responsable. Cette liste n'est ni complète, ni définitive, il s'agit juste d'un guide des outils les plus utilisés.

Les outils du responsable Debian sont destinés à aider les responsables et libérer leur temps pour des tâches plus cruciales. Comme le dit Larry Wall, il y a plus d'une manière de le faire.

Certaines personnes préfèrent utiliser des outils de haut niveau, d'autres pas. Debian n'a pas de position officielle sur la question ; tout outil conviendra du moment qu'il fait le boulot. C'est pourquoi cette section n'a pas été conçue pour indiquer à chacun quel outil il doit utiliser ou comment il devrait faire pour gérer sa charge de responsable Debian. Elle n'est pas non plus destinée à favoriser l'utilisation d'un outil aux dépens d'un autre.

La plupart des descriptions de ces outils proviennent des descriptions de leurs paquets. Vous trouverez plus d'informations dans les documentations de ces paquets. Vous pouvez aussi obtenir plus d'informations avec la commande apt-cache show <nom_paquet>.


A.1 Outils de base

Les outils suivants sont pratiquement nécessaires à tout responsable.


A.1.1 dpkg-dev

Le paquet dpkg-dev contient les outils (y compris dpkg-source) nécessaires pour déballer, fabriquer et livrer des paquets Debian source. Ces utilitaires fournissent les fonctionnalités de bas niveau indispensables pour créer et manipuler les paquets ; en tant que tels, ils sont essentiels à tout responsable Debian.


A.1.2 debconf

Le paquet debconf fournit une interface unifiée pour configurer les paquets interactivement. Il est indépendant de l'interface et permet une configuration en mode texte, par une interface HTML ou par boîtes de dialogue. D'autres types d'interface peuvent être ajoutés sous forme de modules.

Vous trouverez la documentation de ce paquet dans le paquet debconf-doc.

Beaucoup pensent que ce système devrait être utilisé pour tout paquet nécessitant une configuration interactive ; reportez-vous à la Gestion de la configuration avec debconf, Section 6.5. debconf n'est pas requis par la charte Debian pour le moment ; cependant, cela pourra changer.


A.1.3 fakeroot

fakeroot simule les privilèges root. Cela permet de fabriquer un paquet sans être root (en général, les paquets installent des fichiers appartenant à root). Si vous avez installé fakeroot, vous pouvez construire un paquet en tant que simple utilisateur avec : dpkg-buildpackage -rfakeroot.


A.2 Outils du paquet lint

Selon le « Free On-line Dictionary of Computing » (FOLDOC), « lint » est « un outil de traitement de langage C qui contient beaucoup plus de tests complets sur le code que n'en font habituellement les compilateurs C. ». Les outils du paquet lint aide les responsables de paquet à trouver automatiquement des problèmes habituels et des violations de charte dans leurs paquets


A.2.1 lintian

lintian dissèque les paquets pour y repérer des bogues et des manquements aux règles de développement. Il contient des tests automatisés pour vérifier de nombreuses règles et quelques erreurs courantes.

Vous devriez récupérer la dernière version de lintian depuis unstable régulièrement et vérifier tous vos paquets. Notez que l'option -i donne des explications détaillées sur la signification de chaque erreur, la partie concernée dans la charte et le moyen habituel de régler le problème.

Veuillez vous reporter à Tester le paquet, Section 5.3 pour plus d'informations sur comment et quand utiliser Lintian.

Vous pouvez aussi obtenir un résumé de tous les problèmes reportés par Lintian sur vos paquets à http://lintian.debian.org/. Ces rapports contiennent la sortie de la dernière version de lintian pour l'ensemble de la distribution de développement (unstable).


A.2.2 linda

linda est un autre vérificateur de paquet. Il est semblable à lintian, mais il a un ensemble de tests différents. Il est écrit en Python plutôt qu'en Perl.


A.2.3 debdiff

debdiff (du paquet devscripts, devscripts, Section A.6.1) compare des listes de fichiers et des fichiers de contrôle de deux paquets. C'est un simple test de régression qui peut vous aider à remarquer si le nombre de paquets binaires a changé depuis le dernier envoi ou si autre chose a changé dans le fichier de contrôle. Bien sûr, certains des changements qu'il indique sont normaux, mais il peut aider à empêcher différents accidents.

Vous pouvez l'exécuter sur un couple de paquets binaires :

     debdiff package_1-1_arch.deb package_2-1_arch.deb

Ou même sur un couple de fichiers de changements :

     debdiff package_1-1_arch.changes package_2-1_arch.changes

Pour plus d'informations, veuillez voir debdiff(1).


A.3 Aides pour le fichier debian/rules

Des outils de construction de paquets rendent le processus d'écriture du fichier debian/rules plus facile. Veuillez voir les Scripts d'aide, Section 6.1.1 pour plus d'informations sur les raisons pour lesquelles ils peuvent être désirables ou non.


A.3.1 debhelper

Le paquet debhelper regroupe un ensemble de programmes qui peuvent être utilisés dans debian/rules pour automatiser les tâches courantes relatives à la fabrication des paquets Debian binaires. debhelper inclut des programmes pour installer différents fichiers, les compresser, ajuster leurs droits et intégrer votre paquet dans le système de menu Debian.

À la différence d'autres approches, debhelper est divisé en plusieurs petits utilitaires simples qui agissent de manière cohérente. Ce découpage permet un contrôle des opérations plus fin que certains des autres « outils debian/rules ».

Il existe aussi un certain nombre de petites extensions debhelper trop éphémères pour être documentées. Vous en listerez la plupart en faisant apt-cache search ^dh-.


A.3.2 debmake

debmake — un précurseur de debhelper — est un assistant moins modulaire pour manipuler le fichier debian/rules. Il inclut deux programmes principaux : deb-make, utile au développeur Debian pour convertir un paquet source normal (non-Debian) en paquet source Debian, et debstd qui regroupe le type de fonction que l'on trouve dans debhelper.

Le consensus actuel est que l'utilisation de debmake est déconseillée au profit de debhelper. C'est un bogue d'utiliser debmake pour les nouveaux paquets. Les nouveaux paquets utilisant debmake seront rejetés de l'archive.


A.3.3 dh-make

Le paquet dh-make contient dh_make, un programme qui crée un squelette de fichiers nécessaires à la construction d'un paquet Debian à partir d'une arborescence source. Comme le nom le suggère, dh_make est une réécriture de debmake et ses fichiers modèles utilisent les programmes dh_* de debhelper.

Quoique les fichiers de règles fabriqués par dh_make constituent en général une base suffisante pour un paquet fonctionnel, ce ne sont que les fondations : la charge incombe toujours au responsable d'affiner les fichiers générés et de rendre le paquet complètement fonctionnel et en conformité avec la charte.


A.3.4 yada

Le paquet yada est un autre assistant pour la création de paquets. Il utilise un fichier debian/packages pour générer debian/rules et d'autres fichiers nécessaires dans le sous-répertoire debian/. Le fichier debian/packages contient des instructions pour construire les paquets et il n'y a pas besoin de créer de fichiers Makefile. Il existe la possibilité d'utiliser un moteur de macros semblable à celui utilisé dans les fichiers SPECS des paquets source RPM.

Pour plus d'informations, voir le site de YADA.


A.3.5 equivs

equivs est un autre paquet pour faire des paquets. Il est souvent conseillé pour un usage local, si vous avez besoin de faire un paquet pour satisfaire des dépendances. Il est aussi parfois utilisé pour faire des « méta-paquets » qui sont des paquets dont l'unique objet est de dépendre d'autres paquets.


A.4 Constructeurs de paquets

Les paquets suivants aident le processus de construction des paquets, en général en contrôlant dpkg-buildpackage ainsi que la gestion du support de tâches.


A.4.1 cvs-buildpackage

Le paquet cvs-buildpackage permet de mettre à jour ou de récupérer des paquets sources dans un référentiel CVS, il permet de fabriquer un paquet Debian depuis le référentiel CVS et il assiste le développeur lors de l'intégration de modifications amont dans le référentiel.

Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS pour le responsable Debian. Il permet de conserver des branches CVS distinctes pour les distributions stable, unstable et probablement experimental et de bénéficier des avantages d'un système de contrôle de version.


A.4.2 debootstrap

Le paquet debootstrap vous permet d'amorcer un système Debian de base à n'importe quel endroit dans votre système de fichiers. Par « système de base », nous entendons le strict minimum nécessaire pour fonctionner et installer le reste du système.

Avoir un système comme celui-ci peut vous servir de différentes manières. Vous pouvez, par exemple, déplacer votre racine dans ce système avec chroot pour tester vos dépendances de construction. Vous pouvez aussi l'utiliser pour voir comment se comporte votre paquet quand il est installé dans un environnement minimum.


A.4.3 pbuilder

pbuilder construit un système « chrooté » et compile des paquets dans ce système. Ceci est très utile pour vérifier que les dépendances de compilation de votre paquet sont correctes et pour vous assurer qu'aucune dépendance de construction inutile ou incorrecte n'existe dans le paquet résultant.

Un paquet lié est pbuilder-uml, qui va même plus loin en réalisant la construction au sein d'un environnement « User Mode Linux ».


A.4.4 sbuild

sbuild est un autre compilateur automatique. Il peut aussi être utilisé dans un environnement « chrooté ». Il peut être utilisé seul ou comme partie d'un environnement de compilation distribué en réseau. Comme le précédent, c'est une partie du système utilisé par les porteurs pour construire des paquets binaires pour toutes les architectures disponibles. Veuillez vous reporter à buildd, Section 5.10.3.3 pour plus d'informations et à http://buildd.debian.org/ pour voir le système en fonctionnement.


A.5 Téléchargeurs de paquets

Les paquets suivants aident à automatiser ou à simplifier le processus d'envoi de paquets dans l'archive officielle.


A.5.1 dupload

Le paquet dupload contient un script du même nom pour mettre à jour des paquets dans l'archive Debian, tracer les mises à jour et les annoncer par courrier électronique automatiquement. Vous pouvez le configurer pour faire des mises à jour à d'autres endroits et avec d'autres méthodes.


A.5.2 dput

Le script dput fait à peu près la même chose que dupload, mais il le fait différemment. Il a aussi quelques fonctions supplémentaires telles que la possibilité de vérifier la signature GnuPG et les sommes de contrôles avant le téléchargement et la possibilité de démarrer dinstall en mode simulation (dry-run) après le téléchargement.


A.5.3 dcut

Le script dcut (faisant partie du paquet dput, Section A.5.2) aide à la suppression de fichiers du répertoire d'envoi ftp.


A.6 Automatisation de la maintenance

Les outils suivants aident à automatiser les différentes tâches de maintenance par l'ajout des entrées de changelog ou de lignes de signatures, par la recherche de bogues à partir d'Emacs et par l'utilisation du fichier officiel config.sub le plus récent.


A.6.1 devscripts

Le paquet devscripts contient des scripts et outils qui sont très utiles pour maintenir vos paquets Debian. Parmi ces scripts, vous trouverez debchange et dch qui manipulent votre fichier debian/changelog depuis la ligne de commande et debuild qui est construit au-dessus de dpkg-buildpackage. L'outil bts est également très utile pour mettre à jour l'état des rapports de bogue depuis la ligne de commande. Le programme uscan peut être utilisé pour suivre les nouvelles versions amont de vos paquets. Le programme debrsign peut être utilisé pour signer à distance un paquet avant de l'envoyer, ce qui est agréable quand la machine sur laquelle vous construisez le paquet est différente de celle où résident vos clés GPG.

Vérifiez la page de manuel devscripts(1) pour une liste complète des scripts disponibles.


A.6.2 autotools-dev

autotools-dev contient les meilleurs pratiques pour des personnes assurant la maintenance de paquets qui utilisent autoconf et/ou automake. Contient également des fichiers canoniques config.sub et config.guess qui sont connus pour fonctionner avec tous les portages Debian.


A.6.3 dpkg-repack

dpkg-repack crée un paquet Debian à partir d'un paquet qui a déjà été installé. Si des changements ont été effectués sur le paquet quand il a été décompacté (par exemple, des fichiers dans /etc ont été modifiés), le nouveau paquet héritera de ces changements.

Cet utilitaire peut faciliter la copie de paquet d'un ordinateur vers un autre ou la re-création de paquets installés sur un système, mais qui ne sont plus disponibles ailleurs ou pour sauvegarder l'état actuel d'un paquet avant de le mettre à jour.


A.6.4 alien

alien convertit des paquets binaires entre différents formats de paquets, y compris des paquets Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris et Slackware.


A.6.5 debsums

debsums vérifie des paquets installés par rapport à leur somme de hachage MD5. Veuillez noter que tous les paquets n'ont pas de sommes MD5 car elles ne sont pas requises par la charte.


A.6.6 dpkg-dev-el

dpkg-dev-el fournit des macros Emacs Lisp qui apportent une aide lors de l'édition des fichiers du répertoire debian de votre paquet. Par exemple, il y a des fonctions pratiques pour lister les bogues actuels d'un paquet et pour finaliser la dernière entrée d'un fichier debian/changelog file.


A.6.7 dpkg-depcheck

dpkg-depcheck (du paquet devscripts, devscripts, Section A.6.1) exécute une commande sous strace pour déterminer tous les paquets utilisés par la commande.

Pour les paquets Debian, c'est utile quand vous devez créer une ligne Build-Depends pour votre nouveau paquet : exécuter le processus de compilation avec dpkg-depcheck vous fournira une bonne première approximation des dépendances de compilation. Par exemple :

     dpkg-depcheck -b debian/rules build

dpkg-depcheck peut aussi être utilisé pour vérifier les dépendances d'exécution, particulièrement si votre paquet utilise exec(2) pour exécuter d'autres programmes.

Pour plus d'informations, veuillez voir dpkg-depcheck(1).


A.7 Outils de portage

Les outils suivants facilitent le travail des porteurs et la compilation croisée.


A.7.1 quinn-diff

quinn-diff est utilisé pour localiser les différences d'une architecture à l'autre. Il pourrait vous dire, par exemple, quels paquets de l'architecture X doivent être portés sur l'architecture Y.


A.7.2 dpkg-cross

dpkg-cross est un outil qui installe les bibliothèques et les en-têtes nécessaires à une compilation croisée[35] d'une manière similaire à dpkg. De plus, les paquets dpkg-buildpackage et dpkg-shlibdeps ont été améliorés pour accepter les compilations croisées.


A.8 Documentation et information

Les paquets suivants fournissent des informations pour les responsables ou de l'aide pour construire de la documentation


A.8.1 debiandoc-sgml

debiandoc-sgml fournit la DTD DebianDoc SGML qui est habituellement utilisée pour la documentation Debian. Ce manuel, par exemple, est écrit en DebianDoc. Il fournit également des scripts pour construire et décliner le source en de multiples formats de sortie.

La documentation sur la DTD peut être trouvée dans le paquet debiandoc-sgml-doc.


A.8.2 debian-keyring

Contient les clés publiques GPG et PGP des développeurs Debian. Voir Gérer votre clé publique, Section 3.2 et la documentation du paquet pour plus d'informations.


A.8.3 debview

debview fournit un mode Emacs pour voir les paquets binaires Debian. Il vous permet d'examiner un paquet sans le décompresser.


[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ A ] [ suivant ]


Référence du développeur Debian


Version 3.3.9, 04 août 2007 (version française 20061130).

L'équipe de la Référence du développeur [email protected]
Andreas Barth
Adam Di Carlo
Raphaël Hertzog
Christian Schwarz
Ian Jackson

version française par Frédéric Bothamy (traducteur actuel)
et Antoine Hulin (ancien traducteur)
et les membres de la liste [email protected]