Table des matières
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 façon de le faire ».
Some people prefer to use high-level package maintenance tools and some do not. Debian is officially agnostic on this issue; any tool that gets the job done is fine. Therefore, this section is not meant to stipulate to anyone which tools they should use or how they should go about their duties of maintainership. Nor is it meant to endorse any particular tool to the exclusion of a competing tool.
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_de_paquet
Les outils suivants sont pratiquement nécessaires à tout responsable.
dpkg-dev
contient les outils (y
compris dpkg-source) nécessaires pour dépaqueter,
construire, et envoyer les paquets source Debian. 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.
debconf
fournit une interface
unifiée pour configurer les paquets de façon interactive. 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 en trouverez la documentation dans le paquet debconf-doc
.
Many feel that this system should be used for all packages that require
interactive configuration; see Section 6.5, « Gestion de la configuration avec debconf
».
debconf
is not currently required by
Debian Policy, but that may change in the future.
According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is: "A Unix C language processor which carries out more thorough checks on the code than is usual with C compilers." Package lint tools help package maintainers by automatically finding common problems and policy violations in their packages.
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.
Voir Section 5.3, « Tests du paquet » pour plus d'informations sur comment et quand utiliser Lintian.
Vous pouvez aussi obtenir un résumé de tous les problèmes signalés par
Lintian sur vos paquets en https://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
).
debdiff (du paquet devscripts
, Section A.6.1, « devscripts
»)
compare les listes de fichiers ainsi que les fichiers de contrôle de deux
paquets. C'est un simple test de régression qui peut 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 indiqués sont normaux, mais cela peut aider à empêcher
différents accidents.
Vous pouvez l'exécuter sur un couple de paquets binaires :
debdiff paquet_1-1_arch.deb paquet_2-1_arch.deb
Ou même sur un couple de fichiers de changements :
debdiff paquet_1-1_arch.changes paquet_2-1_arch.changes
Pour plus d'informations, veuillez consulter debdiff(1).
Des outils de construction de paquets facilitent le processus d'écriture du
fichier debian/rules
. Section 6.1.1, « Scripts d'assistance »
contient plus d'informations sur l'intérêt de les utiliser ou non.
debhelper
is a collection of
programs that can be used in debian/rules
to automate
common tasks related to building binary Debian packages. debhelper
includes programs to install various
files into your package, compress files, fix file permissions, and integrate
your package with the Debian menu system.
Unlike some approaches, debhelper
is
broken into several small, simple commands, which act in a consistent
manner. As such, it allows more fine-grained control than some of the other
debian/rules tools.
Il existe aussi un certain nombre de petites extensions debhelper
trop éphémères pour être documentées
ici. La plupart seront listés avec apt-cache search ^dh-
.
The dh-make
package contains
dh_make, a program that creates a skeleton of files
necessary to build a Debian package out of a source tree. As the name
suggests, dh_make is a rewrite of debmake
, and its template files use
dh_* programs from 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.
The following packages help with the package building process, general driving of dpkg-buildpackage, as well as handling supporting tasks.
git-buildpackage
permet de mettre à
jour ou de récupérer des paquets source dans un référentiel Git, il permet
de fabriquer un paquet Debian depuis le référentiel Git et assiste le
responsable lors de l'intégration de modifications amont dans le
référentiel.
Ce paquet fournit l'infrastructure facilitant l'utilisation de Git pour le
responsable Debian. Il permet de conserver des branches Git distinctes pour
les distributions stable
, unstable
et
éventuellement experimental
et de bénéficier des
avantages d'un système de gestion de version.
debootstrap
permet d'amorcer un
système Debian de base à n'importe quel endroit de votre système de
fichiers. « Système de base » signifie ici le strict minimum de paquets
nécessaires pour fonctionner et installer le reste du système.
Un système comme celui-ci peut être utilisé de nombreuses façons
différentes. Par exemple, avec chroot, vous pouvez y
tester les dépendances de construction. Vous pouvez aussi vérifier le
comportement d'un paquet installé dans un environnement minimum. Les
automates de constructions « chrootés
» utilisent ce
paquet ; voir ci-après.
pbuilder
constructs a chrooted
system, and builds a package inside the chroot. It is very useful to check
that a package's build dependencies are correct, and to be sure that
unnecessary and wrong build dependencies will not exist in the resulting
package.
A related package is cowbuilder
,
which speeds up the build process using a COW filesystem on any standard
Linux filesystem.
sbuild
est un autre compilateur
automatique. Il peut également ê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,
il fait partie du système utilisé par les porteurs pour construire des
paquets binaires pour toutes les architectures disponibles. Voir Section 5.10.3.3, « wanna-build
» pour plus d'informations et https://buildd.debian.org/ pour voir le système en fonctionnement.
Les paquets suivants aident à automatiser ou simplifier le processus d'envoi de paquets dans l'archive officielle.
dupload
contient un script du même
nom pour envoyer des paquets dans l'archive Debian, suivre les envois, et
les annoncer par courrier électronique. Il peut être configuré pour envoyer
les paquets ailleurs ou avec d'autres méthodes.
The dput
package and script do much
the same thing as dupload
, but in a
different way. It has some features over dupload
, such as the ability to check the GnuPG
signature and checksums before uploading, and the possibility of running
dinstall in dry-run mode after the upload.
dcut (du paquet dput
, Section A.5.2, « dput
») permet de
supprimer des fichiers du répertoire d'envoi FTP.
Les outils suivants permettent d'automatiser les différentes tâches de
maintenance en ajoutant des entrées au journal de modification ou des lignes
de signatures, en cherchant des bogues depuis Emacs et en utilisant le
fichier officiel config.sub
le plus récent.
devscripts
is a package containing
wrappers and tools that are very helpful for maintaining your Debian
packages. Example scripts include debchange and
dch, which manipulate your
debian/changelog
file from the command-line, and
debuild, which is a wrapper around
dpkg-buildpackage. The bts utility is
also very helpful to update the state of bug reports on the command line.
uscan can be used to watch for new upstream versions of
your packages. debrsign can be used to remotely sign a
package prior to upload, which is nice when the machine you build the
package on is different from where your GPG keys are.
Voir la page de manuel devscripts(1) pour une liste complète des scripts disponibles.
autotools-dev
contains best
practices for people who maintain packages that use
autoconf and/or automake. Also
contains canonical config.sub
and
config.guess
files, which are known to work on all
Debian ports.
dpkg-repack creates a Debian package file out of a
package that has already been installed. If any changes have been made to
the package while it was unpacked (e.g., files in /etc
were modified), the new package will inherit the changes.
This utility can make it easy to copy packages from one computer to another, or to recreate packages that are installed on your system but no longer available elsewhere, or to save the current state of a package before you upgrade it.
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.
dpkg-dev-el
is an Emacs lisp package
that provides assistance when editing some of the files in the
debian
directory of your package. For instance, there
are handy functions for listing a package's current bugs, and for finalizing
the latest entry in a debian/changelog
file.
dpkg-depcheck (du paquet devscripts
, Section A.6.1, « devscripts
»)
exécute une commande sous strace pour déterminer tous les
paquets utilisés par la commande.
Pour les paquets Debian, c'est utile pour créer une ligne
Build-Depends
d'un nouveau paquet : exécuter le processus
de compilation avec dpkg-depcheck 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, d'autant plus si le
paquet utilise exec(2) pour exécuter d'autres programmes.
Pour plus d'informations, veuillez voir dpkg-depcheck(1).
Les outils suivants sont pratiques pour les porteurs et la compilation
croisée (« cross-compilation
»).
dpkg-cross
est un outil qui installe
les bibliothèques et les en-têtes nécessaires à une compilation croisée
(« cross-compilation
») d'une manière similaire à
dpkg
. De plus, les fonctionnalités
de dpkg-buildpackage et dpkg-shlibdeps
ont été améliorées pour accepter les compilations croisées.
Les paquets suivants fournissent des informations pour les responsables ou de l'aide pour construire de la documentation.
docbook-xml
fournit la définition de
type de document (« Document Type Definition
» ou
DTD
) XML pour DocBook, souvent utilisé pour la
documentation Debian (de même que la plus ancienne DTD SGML pour
DebianDoc). Ce manuel, par exemple, est écrit en XML pour DocBook.
docbook-xsl
fournit les fichiers XSL
pour construire et décliner les sources en de multiples formats de
sortie. Vous devriez utiliser un processeur de ligne de commande XSLT, tel
que xsltproc
, pour utiliser les
feuilles de style XSL. La documentation des feuilles de style est disponible
dans les nombreux paquets docbook-xsl-doc-*
.
Pour fabriquer des PDF à partir des FO (« Formatting
Objects
»), il faut un processeur de FO comme xmlroff
ou fop
. dblatex
est un autre outil pour générer des PDF
à partir des XML pour DocBook.
debiandoc-sgml
fournit la définition
de type de document (« Document Type Definition
» ou
DTD
) SGML pour DebianDoc, souvent utilisé pour la
documentation Debian, mais est maintenant déconseillé (docbook-xml
devrait être utilisé à la place). Il
fournit également des scripts pour construire et décliner les sources en de
multiples formats de sortie.
De la documentation sur la DTD est disponible dans le paquet debiandoc-sgml-doc
.
Contains the public GPG keys of Debian Developers and Maintainers. See Section 3.2.2, « Gestion de clé publique » and the package documentation for more information.