Comment signaler un bogue dans Debian avec reportbug
Nous vous recommandons fortement d'utiliser le programme reportbug
pour signaler vos bogues dans Debian. Pour l'installer et le lancer, exécutez :
Le programme reportbug est installé par défaut sur la plupart des systèmes. S'il n'est pas disponible, il peut être installé avec l'outil de gestion de paquets disponible sur votre machine.
Reportbug peut être lancé à partir de la section Système du menu ou en
exécutant la commande reportbug
en ligne de commande.
Il vous guide pas à pas au cours du processus de signalement d'un bogue.
Si vous avez des questions que l'invite interactive de reportbug ne résout pas, vous pouvez vous référer de nouveau à cette documentation ou demander sur la liste des utilisateurs de Debian (en anglais) ou la liste des utilisateurs francophones de Debian.
Comment signaler un bogue dans Debian par courrier électronique (et comment utiliser reportbug de façon avancée)
Choses importantes à noter avant d'envoyer votre rapport de bogue
À quel paquet se rapporte votre bogue ?
Vous devez savoir sur quel paquet soumettre votre rapport de bogue. Veuillez consulter cet exemple pour obtenir des renseignements sur la manière de trouver ces informations (que vous utiliserez pour savoir si le bogue a déjà été signalé).
Si vous ne pouvez pas déterminer contre quel paquet le rapport de bogue doit être rempli, merci de demander conseil à la liste des utilisateurs de Debian (en anglais) ou la liste des utilisateurs francophones de Debian.
Si votre problème n'est pas lié à un paquet déterminé mais à une prestation globale de Debian, il y a plusieurs pseudopaquets ou même des listes de diffusion que vous pouvez plutôt utiliser pour nous faire part de vos problèmes.
Votre bogue a-t-il déjà été signalé ?
Vous devriez vérifier que votre bogue n'a pas déjà été signalé avant de le soumettre. Vous pouvez voir quels bogues ont été signalés pour un paquet particulier en utilisant l'option de recherche des bogues par paquet. S'il existe un rapport de bogue avec le n° numéro, vous devez soumettre vos commentaires en envoyant un courriel à <numéro>@bugs.debian.org plutôt que de signaler un nouveau bogue.
Envoyer plusieurs rapports pour plusieurs bogues
Veuillez ne pas signaler plusieurs bogues sans lien entre eux — en particulier s'ils affectent des paquets différents — dans le même rapport de bogue.
Ne pas signaler le bogue en amont
Si vous signalez le bogue dans Debian, n'envoyez pas vous-même de copie aux responsables amont du logiciel, car il est possible que le bogue n'existe que dans Debian. Si nécessaire, le responsable du paquet fera suivre le bogue.
Envoyer le rapport de bogue par courrier électronique
Vous pouvez signaler un bogue dans Debian en envoyant un courriel à [email protected]
selon le format particulier décrit ci-dessous. reportbug
(voir ci-dessus) s'occupera du formatage pour
vous, merci de l'utiliser !
En-têtes
Comme pour tout message électronique, vous inclurez une ligne
Sujet
claire et descriptive dans l'en-tête principal du message.
Le sujet que vous donnez est utilisé comme titre initial dans le
système de suivi des bogues, merci d'essayer de le rendre informatif !
Si vous souhaitez envoyer un copie de votre rapport de bogue à des destinataires supplémentaires (par exemple, des listes de diffusion), vous ne devez pas utiliser les en-têtes de courriel habituels, mais une méthode différente décrite ci-dessous.
Pseudo-en-têtes
La première partie du rapport de bogue est constituée de pseudo-en-têtes qui contiennent des informations sur le paquet et la version auxquels s'applique votre rapport de bogue. La première ligne du corps du message doit inclure un pseudo-en-tête. C'est-à-dire :
Package: <nom de paquet>
Remplacez <nom de paquet>
par le nom
du paquet défectueux.
La deuxième ligne du message doit être :
Version: <version du paquet>
Remplacez <version du paquet>
par la version du paquet.
Merci de ne rien mettre d'autre que la version, car le système de suivi
des bogues se base sur cet en-tête pour trouver quelles versions sont touchées
par ce bogue.
Vous devez fournir une ligne Package
correcte dans le
pseudo-en-tête pour que le système de suivi des bogues délivre le message au
responsable du paquet. Voyez cet exemple pour savoir
comment trouver cette information.
Pour indiquer d'autres pseudo-en-têtes valables, veuillez voir les pseudo-en-têtes supplémentaires.
Corps de votre rapport
Veuillez inclure dans votre rapport :
- Le texte exact et complet de tout message d'erreur affiché ou enregistré. C'est très important !
- Ce que vous avez exactement tapé ou fait pour faire apparaître le problème.
- Une description du comportement incorrect : ce que vous attendiez exactement et ce que vous avez observé. Une transcription d'une session d'exemple est un bon moyen de montrer cela.
- Une suggestion de correction, ou même une rustine, si vous en avez.
- Les détails de la configuration du programme posant problème. Incluez le texte complet de ses fichiers de configuration.
- Les versions de tous les paquets dont dépend le paquet défectueux.
- La version du noyau utilisée (tapez
uname -a
), votre bibliothèque C partagée (tapezls -l /lib/*/libc.so.6
ouapt show libc6 | grep ^Version
), et tout autre renseignement sur votre système Debian, si cela semble approprié. Par exemple, si vous avez eu un problème avec un script Perl, vous pouvez fournir la version du binaire « perl » (tapezperl -v
oudpkg -s perl | grep ^Version:
). - Les renseignements appropriés sur votre matériel. Si vous rapportez un problème avec un pilote de périphérique, merci de décrire tout le matériel de votre système, car les problèmes sont souvent causés par des conflits d'IRQ et d'adresse E/S.
- Si reportbug est installé, la sortie de
reportbug --template -T none -s none -S normal -b --list-cc none -q <package>
sera également utile car elle contient le résultat des scripts spécifiques du responsable et les informations de version.
Incluez tout détail qui semble pertinent — il y a très peu de risque de rendre votre rapport trop long en incluant trop d'informations. S'ils sont petits, merci d'inclure dans votre rapport tous les fichiers que vous avez utilisés pour reproduire le problème (s'ils sont longs, pensez à les rendre disponibles sur un site public si possible).
Pour plus de conseils sur la façon d'aider les développeurs à résoudre votre problème, merci de lire Comment signaler efficacement des bogues (texte en anglais).
Exemple de rapport de bogue
Un rapport de bogue, avec en-têtes et pseudo-en-têtes de message, ressemble à quelque chose comme ceci :
To: [email protected] From: [email protected] Subject: Hello says `goodbye' Package: hello Version: 1.3-16 When I invoke `hello' without arguments from an ordinary shell prompt it prints `goodbye', rather than the expected `hello, world'. Here is a transcript: $ hello goodbye $ /usr/bin/hello goodbye $ I suggest that the output string, in hello.c, be corrected. I am using Debian GNU/Linux 2.2, kernel 2.2.17-pre-patch-13 and libc6 2.1.3-10.
Note du traducteur : pour information, une traduction complète de ce message pourrait être :
À : [email protected] De : [email protected] Objet : Hello affiche « goodbye » Paquet : hello Version : 1.3-2 Quand je lance « hello » sans argument depuis un shell ordinaire cela affiche « goodbye », plutôt que le « hello, world » attendu. Voici une transcription : $ hello goodbye $ /usr/bin/hello goodbye $ Je suggère que la chaîne de caractère en sortie, dans hello.c, soit corrigée. J'utilise Debian GNU/Linux 2.2, noyau version 2.2.17-pre-patch-13 et libc6 2.1.3-10.
Envoyer des copies de rapports de bogue à d'autres adresses
Il est parfois nécessaire d'envoyer une copie d'un rapport de bogue ailleurs
qu'à debian-bugs-dist
et au responsable du paquet, auxquels le
rapport est normalement envoyé.
Vous pourriez faire cela en utilisant les autres adresses dans le champ
Copies-À
(CC
en anglais) de votre logiciel de
messagerie, mais dans ce cas les autres copies n'auraient pas de numéro de rapport de
bogue mis dans le champ Répondre-À
(Reply-To
en
anglais) et dans la ligne Objet
(Subject
en anglais).
Quand les destinataires répondront, ils garderont probablement l'entrée
[email protected]
dans l'en-tête et verront leur message
enregistré comme un nouveau rapport de bogue. Cela engendre beaucoup de
rapports dupliqués.
La bonne manière de procéder est d'utiliser le pseudo-en-tête
X-Debbugs-CC
. Ajoutez une ligne comme celle-ci à vos
pseudo-en-têtes de message :
X-Debbugs-CC: [email protected]
Cela fera envoyer par le système de suivi des bogues une copie de votre rapport
à l'adresse (aux adresses) de la ligne X-Debbugs-CC
aussi bien
qu'à debian-bugs-dist
.
Si vous voulez envoyer des copies à plus d'une adresse, ajoutez-les sur la même ligne
X-Debbugs-CC
en les séparant par des virgules.
Évitez d'envoyer de telles copies aux adresses d'autres rapports de bogues,
parce qu'elles seront interceptées par les vérifications qui empêchent les
messages de boucler. Il y a relativement peu d'intérêt à utiliser
X-Debbugs-CC
pour cela de toute façon, car le numéro de bogue
ajouté par ce mécanisme sera simplement remplacé par un nouveau ; utilisez un
en-tête CC
ordinaire à la place.
Cette fonctionnalité peut souvent être utilement combinée avec le code de
message quiet
— voyez ci-dessous.
Pseudo-en-têtes supplémentaires
Niveaux de gravité
Si un rapport concerne un bogue particulièrement grave, ou si c'est plutôt une demande de fonctionnalité, vous pouvez indiquer un niveau de gravité pour le bogue lorsque vous le signalez. Ce n'est cependant pas indispensable et les responsables du paquet affecteront un niveau de gravité approprié à votre rapport si vous ne le faites pas (ou s'il est mauvais).
Pour indiquer un niveau de gravité mettez une ligne comme celle-ci dans le pseudo-en-tête :
Severity: <gravité>
Remplacez <gravité> par l'un des niveaux de gravité disponible, comme décrit dans la documentation avancée.
Marquer un bogue
Vous pouvez donner des étiquettes (tags) à un bogue, c'est-à-dire le
marquer en même temps que vous le signalez. Par exemple, si vous incluez une
rustine (un patch) avec votre rapport de bogue, vous pouvez lui donner
l'étiquette patch
. Ce n'est cependant pas obligatoire, car les
développeurs mettront les étiquettes sur votre rapport si nécessaire.
Pour coller une étiquette, mettez une ligne comme celle-ci dans le pseudo-en-tête :
Tags: <étiquettes>
Remplacez <étiquettes> par une ou plusieurs des étiquettes disponibles, comme décrit dans la documentation pour les développeurs. Séparez les différentes étiquettes avec des virgules, des espaces ou les deux.
User: <nom d'utilisateur> Usertags: <étiquettes de l'utilisateur>
Remplacez <étiquettes de l'utilisateur> par une ou plusieurs étiquettes qui vous sont propres. Séparez les différentes étiquettes avec des virgules, des espaces ou les deux. Si vous indiquez un <nom d'utilisateur>, ces étiquettes d'utilisateurs seront collées. Sinon, l'adresse de courriel de l'expéditeur sera utilisée comme nom d'utilisateur.
Vous pouvez configurer des étiquettes d'utilisateur pour plusieurs utilisateurs lors de la soumission du bogue en incluant plusieurs pseudo- en-têtes User ; chaque pseudo-en-tête Usertags configure les étiquettes d'utilisateur pour le pseudo-en-tête User précédent. Cela est particulièrement utile pour configurer les étiquettes d'utilisateur d'une équipe de plusieurs utilisateurs, pour configurer les étiquettes d'utilisateur de plusieurs équipes ou pour configurer les étiquettes d'utilisateur d'architecture pour les bogues affectant plusieurs architectures.
User: <premier nom d'utilisateur> Usertags: <étiquettes utilisateur du premier utilisateur> User: <second nom d'utilisateur> Usertags: <étiquettes utilisateur du second utilisateur>
Indiquer le transfert
Forwarded: [email protected]
indiquera que le bogue qui vient d'être signalé est transféré à [email protected]. Voyez Enregistrer que vous avez transmis un rapport de bogue dans la documentation développeur pour les détails.
Indiquer la propriété
Owner: [email protected]
indiquera que [email protected] est maintenant responsable de la correction de ce bogue. Voyez Changer le propriétaire d'un bogue dans la documentation développeur pour les détails.
Paquet source
Source: paquettruc
est équivalent à Package:
pour les bogues présents dans le paquet
source de paquettruc ; pour la plupart des bogues dans la plupart des
paquets il vaut mieux ne pas utiliser cette option.
Commandes de contrôle
Control: commandes de contrôle
permet à toutes les commandes pouvant être
envoyées à [email protected]
de fonctionner aussi pour les messages envoyés
à [email protected]
ou [email protected]
.
-1 fait initialement référence au bogue actuel (c'est-à-dire le bogue créé par
un message à submit@
ou le bogue concerné par nnn@
.
Veuillez consulter la documentation du serveur de contrôle pour obtenir plus
de renseignements sur les commandes de contrôle possibles.
Par exemple, les pseudo-en-têtes suivants dans un
message envoyé à [email protected]
:
Control: retitle -1 c'est le nouveau titre Control: severity -1 normal Control: summary -1 0 Control: forwarded -1 https://bugs.debian.org/nnn
auront pour conséquence de modifier le titre de 12345, modifier son niveau de gravité, définir le résumé et le marquer comme transmis.
En-têtes X-Debbugs-
Enfin, si votre client de messagerie
(MUA) ne
permet pas de modifier les en-têtes, vous pouvez mettre les différents
en-têtes X-Debbugs-
dans les pseudo-en-têtes.
Informations supplémentaires
Autres adresses pour le signalement (rapports de bogues mineurs ou multiples)
Si un rapport de bogue est mineur, par exemple, une coquille dans la
documentation ou tout autre problème trivial de compilation, merci d'indiquer
correctement la gravité et de l'envoyer
à [email protected]
au lieu de
[email protected]
. maintonly
enverra le rapport
au seul responsable du paquet, il ne l'enverra pas aux listes de diffusion du
système de suivi des bogues.
Si vous soumettez plusieurs rapports à la fois, vous devriez certainement
utiliser [email protected]
afin de ne pas causer trop de
trafic redondant sur les listes de diffusion du système de suivi des bogues.
Avant d'envoyer beaucoup de bogues similaires vous devriez peut-être poster un
résumé sur debian-bugs-dist
.
Si vous souhaitez signaler au système de suivi des bogues un bogue qui a
déjà été envoyé au responsable, vous pouvez utiliser
[email protected]
. Les bogues envoyés
à [email protected]
ne sont pas transmis, seulement enregistrés.
Quand vous utilisez une adresse autre que l'adresse
[email protected]
pour soumettre un rapport de bogue, le
système de suivi des bogues remplira le champ Reply-To
de tout
message transmis de façon à ce que les réponses soient par défaut traitées de
la même manière que le rapport original. Cela signifie, par exemple, que les
réponses à maintonly
iront
à nnn[email protected]
au lieu de
nnn@bugs.debian.org
, sauf bien sûr si quelqu'un modifie
le champ manuellement.
Accusés de réception
Normalement, le système de suivi des bogues vous renvoie un accusé de réception
par courrier électronique quand vous signalez un nouveau bogue ou quand vous
ajoutez de nouvelles informations à un bogue existant. Si vous ne voulez pas
recevoir ces accusés de réception, incluez
X-Debbugs-No-Ack
en en-tête ou pseudo-en-tête de votre message (le
contenu de cet en-tête n'importe pas). Si vous
signalez un nouveau bogue avec cet en-tête, vous devrez utiliser l'interface
web pour connaître le numéro du bogue.
Notez que cet en-tête ne supprimera pas les accusés de réception du serveur de
message [email protected]
, car ces accusés de réception
peuvent contenir des messages d'erreur qui doivent être lus et auxquels il faut
réagir.
Pourriels et courriels perdus
Le système de suivi des bogues met en œuvre une assez large série de règles
visant à faire en sorte que les pourriels n'entrent pas dans le BTS.
Alors que nous nous efforçons de minimiser le nombre de faux positifs,
il peut tout de même y en avoir. Si vous soupçonnez votre courriel d'être un faux
positif, n'hésitez pas à contacter [email protected]
pour
de l'aide.
Une autre cause fréquente de courriel qui n'arrive pas dans le BTS est l'utilisation
d'adresses qui correspondent à FROM_DAEMON dans procmail, qui incluent des adresses
d'émission de type [email protected]
.
Si vous soupçonnez votre courriel de correspondre à FROM_DAEMON, jetez un œil
à procmailrc(5)
pour vérifier et renvoyer ensuite le courriel en utilisant une adresse qui ne corresponde
pas à FROM_DAEMON.
Rapports de bogues concernant des paquets inconnus
Si le système de suivi des bogues ne peut trouver qui est le responsable du
paquet concerné, il enverra le rapport à debian-bugs-dist
même si
le code maintonly
a été utilisé.
Quand vous envoyez un message à [email protected]
ou
nnn[email protected]
vous devriez vérifier que
le rapport de bogue est assigné au bon paquet, en remplissant correctement le
champ Package
en haut de la soumission originale d'un rapport, ou
en utilisant le service
[email protected]
pour (ré)assigner
le rapport de façon appropriée.
Utiliser dpkg
pour trouver le
paquet et sa version pour le rapport
Pour signaler avec reportbug
un bogue dans une commande,
disons grep
, la commande suivante sélectionnera
automatiquement le paquet approprié afin que vous puissiez remplir
votre rapport de bogue directement :
reportbug --file $(which grep)
Vous pouvez aussi vérifier le paquet ayant installé cette commande en
utilisant dpkg --search
. Vous pouvez trouver la version
du paquet qui est installée en utilisant dpkg --list
ou
dpkg --status
.
Par exemple :
$ which apt-get /usr/bin/apt-get $ type apt-get apt-get is /usr/bin/apt-get $ dpkg --search /usr/bin/apt-get apt: /usr/bin/apt-get $ dpkg --list apt Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ ii apt 0.3.19 Advanced front-end for dpkg $ dpkg --status apt Package: apt Status: install ok installed Priority: standard Section: base Installed-Size: 1391 Maintainer: APT Development Team <[email protected]> Version: 0.3.19 Replaces: deity, libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7) Provides: libapt-pkg2.7 Depends: libapt-pkg2.7, libc6 (>= 2.1.2), libstdc++2.10 Suggests: dpkg-dev Conflicts: deity Description: Advanced front-end for dpkg This is Debian's next generation front-end for the dpkg package manager. It provides the apt-get utility and APT dselect method that provides a simpler, safer way to install and upgrade packages. . APT features complete installation ordering, multiple source capability and several other unique features, see the Users Guide in /usr/doc/apt/guide.text.gz
Autres commandes et paquets utiles
L'outil querybts, disponible dans le même paquet que reportbug, fournit une interface pratique en mode texte au système de suivi des bogues.
Les utilisateurs d'Emacs peuvent aussi utiliser la commande debian-bug fournie
par le paquet debian-el
.
Lorsqu'elle est lancée avec M-x debian-bug, elle demande toutes les
informations nécessaires de façon similaire à reportbug
.
Autres pages concernant le système de gestion des bogues (SGB ou BTS pour Bug Tracking System en anglais) :
- Page principale du système de gestion des bogues.
- Instructions pour signaler des bogues.
- Accéder aux enregistrements de bogues autrement que sur la Toile.
- Informations pour les développeurs sur le système de gestion des bogues.
- Informations pour les développeurs sur le traitement des bogues par messagerie électronique.
- Carte de référence des serveurs de messagerie.
- Requêtes de rapport de bogues par messages électroniques.
Debian BTS administrators <[email protected]>
Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd,
1994-1997 Ian Jackson.