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 :

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) :


Debian BTS administrators <[email protected]>

Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd, 1994-1997 Ian Jackson.