Differences between revisions 10 and 11
Revision 10 as of 2011-03-02 13:13:51
Size: 22346
Comment: Suite de la traduction
Revision 11 as of 2011-03-02 15:18:55
Size: 32530
Comment: Fin de la traduction
Deletions are marked like this. Additions are marked like this.
Line 242: Line 242:

Corrigé dans la version 2.28.0-1. Pourtant, même si je ne suis pas aveugle, je ne trouve nulle part de version 2.28.0-1 dans ce graphe et je pense que comme moi, vous pouvez le confirmer ! Que s'est-il donc passé ? Comme on peut le constater, le bug n'a pas été fermé avec le versement d'un paquet mais à l'aide d'un simple courrier électronique.

Cela arrive souvent lorsque quelqu'un tatonne avec la version et cela semble être le cas ici. En effet, le PTS ne connaît rien sur cette version dans l'historique du paquet: [[http://packages.qa.debian.org/g/gnome-media.html]]

Nous avons juste à ajouter l'information de version. Nous conservons l'approche conservatrice et marquoins le bug comme corrigé dans la version 2.28.1-1 qui est la version versée juste après:

{{{
bts notfound 507360 2.28.0-1 '# fixing version information' . found 507360 2.28.1-1
}}}

Même problème avec le bug 418597 où il faut chercher le bon numéro de version.

En fait, il semble qu'il y ait toujours encore des problèmes dans le ''paquet gnome-media'' donc j'ai envoyé un petit message à l'un des mainteneurs du paquet pour qu'il voit ça de plus prêt. :)

Il ne s'agit pas de bugs RC mais de bugs non fermés correctement à cause d'une erreur de suivi de version.

=== Exemple 5 ===

Passons maintenant à d'autres problèmes: [[http://bugs.debian.org/src:logrotate]]. Ce paquet dispose d'un grand nombre de versions corrigées. Lorsqu'on clique sur les étiquettes des bugs pour avoir plus d'information, on se rend compte qu'ils sont clos depuis… des lustres ! Que-se-passe-t-il ?

Vérifions le bug DebianBug:388608. L'infobulle nous indique: ''Modified 1 year and 116 days ago'' (modifié il y a 1 an et 116 jours). Wow! Ca fait sacrément plus que 28 jours non ? ;)

Consultons le graphe du bug.

[[attachment:HowtoUseBTS/logrotate.png|{{attachment:HowtoUseBTS/logrotate.png|Aperçu de la page web du graphe du bug #388608|width=800}}]]

Je ne pense pas que ce graphe soit lisible en l'état, donc cliquez dessus. :) On y trouve en haut une boîte verte (testing, unstable). Toutefois, il y a une ''autre'' unstable dans un cercle rouge un peut plus bas ! Que se passe-t-il ? deux versions unstable ?

Vérifions la page du paquet: [[http://packages.debian.org/unstable/logrotate]]: si vous descendez en bas de la page, vous trouverez l'information de version. Ici également, il y a un code couleur: vert signifie synchronisé, jaune indique une version de retard dans Debian et rouge indique un retard par rapport à la version originelle. Nous pouvons ignorer le jaune de m68k car cette architecture n'est pas un port officiel de Debian.

La version coupable est la hurd-i386, dans le numéro 3.7.1-5 et c'est également la version du cercle avec (stable, unstable) dans le graphe du bug !

[[attachment:HowtoUseBTS/logrotate2.png|{{attachment:HowtoUseBTS/logrotate2.png|Aperçu de la page web du paquet logrotate avec les informations de version pour toutes les architectures|width=800}}]]

Que pouvons-nous faire ? Soit trouver quelqu'un pour construire le paquet sous Hurd, ou demander à l'un de nos sympathiques gestionnaires FTP de supprimer le paquet dans hurd-i386. On peut réaliser cette opération en créant un rapport de bug pour le paquet ftp.debian.org. reportbug permet cela grâce à un système de menu pour ce pseudo paquet (ftp.debian.org) en simplifiant fortement la demande, même pour la suppression partielle d'un paquet.

Je choisis en général ''RoQA'' (''Request of Quality Assurance'', Demande d'assurance qualité en français) car l'équipe QA, c'est tout le monde, y compris vous. Eh oui, ça comprend toutes les personnes qui s'occupent de Debian.

En fait, le paquet suivant a le même problème: [[http://bugs.debian.org/src:distcc]]. J'ai donc envoyé une demamnde de suppression pour hurd-i386 sur ''distcc'' un peu plus tôt et comme nous avons des gestionnaires ftp rapides, c'est déjà fait.

Si vous cliquez sur les informations de ces bugs, vous verrez qu'ils seront bientôt archivés. :)

=== UDD ===

Si vous vous demandez comment je suis tombé sur ces exemples, sachez que j'ai employé la ''UDD'' pour cela.

'''UDD''' signifie '''Ultimate Debian Database''' (Base de Données Ultime sur Debian) et qu'elle peut être interrogée avec n'importe quoi.

Je me suis fait deux pages sur mon compte alioth (duquel tout le monde peut réaliser des requêtes) pour suivre tout ça: [[http://alioth.debian.org/~rhonda/]].

La première requête est la liste des bugs critiques pour la publication en cours de traitement (qui peut être également interrogée depuis [[http://udd.debian.org/bugs.cgi]]) en sélectionnant Lenny en haut. La deuxième est juste un résumé des rapports de bug qui ont été fermés l'année dernière et qui ne sont pas encore archivés.

== Questions et Réponses ==

QUESTION: Y-a-t-il une règle pour le titre des bugs ?

REPONSE: en général, non. Certains paquets (ou plutôt des pseudo-paquets) utilisent le titre du bug pour lancer automatiquement des tâches et ils utilisent un formatage particulier. En général, les personnes qui s'en occupent sont au courant qu'il n'est pas facile d'avoir cette information et ils savent rester souples si vous ne respectez pas ces règles.

Un de ces paquets spéciaux (pseudo) est ''ftp.debian.org''. Cette équipe a des règles spéciales pour les sujets et ils utilisent cette information pour savoir quoi faire juste en lisant le sujet au lieu de lire le message complet (qui contient juste quelques informations complémentaires).

QUESTION: Qui change l'étiquette Severity d'un rapport de bug (et comment le faire ?) ?

REPONSE: Cela nous amène à l'adresse de courrier électronique spéciale, ''control@bugs.debian.org''

QUESTION: A quel point la "politique APT" est-elle importante pour un rapport de bug ?

REPONSE: En fait, je ne suis pas sûr de savoir ce que vous entendez par "politique APT". Pouvez-vous expliciter ce terme que j'entends pour la première fois, particulièrement dans le contexte de la remontée de bugs ?

Peut-être est-ce la ligne "APT Policy" que reportbug ajoute généralement lorsqu'on créé un rapport de bug sur un paquet (résumé de l'information d'apt-cache).
Revenons à la sortie de {{{reportbug --template}}} :) Le rapport de bug doit être placé entre le bloc comprenant ''Package'', ''Version'' et ''Severity'', et le bloc qui commence avec ''System Information''.

Ce dernier aide le mainteneur à trouver les problèmes liés à des dépendances spéciales ou aux paramètres de debconf ou du noyau utilisé. Lorsque le rapport de bug est très détaillé, il n'y a pas forcément besoin d'indiquer ces dépendances spéciales. Mais souvent, les gens soumettent des rapports de bug avec peu d'information (en général, pas volontairement) et ces ''Information Système'' peuvent donner une bonne idée de la cause du problème. J'espère que ces éléments apportent des réponses à vos question. :)

QUESTION: Dans la sortie de "reportbug --template nom_du_paquet", en dessous des informations système: APT policy: (500, 'stable').

REPONSE: Ah oui, ça me dit quelquechose maintenant. C'est la valeur par défaut que les utilisateurs de stable renvoient. Ces personnes ont peut-être d'autres dépôts d'indiqués dans leur fichier sources.list et ils ont peut-être modifié les préférences de manière à ce que les paquets d'une version spécifique de Debian soit installée préférentiellement.
Il s'agit d'une information interne à apt mais elle est utile (en plus de la version du paquet) pour comprendre dans quel environnement le bug se produit.

QUESTION: Peut-on lancer toutes les commande de contrôle en utilisant les pseudos en-têtes dans un courrier électronique envoyé à l'adresse numéro_de_bug@b.d.o ou doit-on utiliser control@b.d.o ?

REPONSE: Vous devez nécéssairement utiliser l'adresse explicite control@, la vérification automatique n'étant pas faîte. De ce j'ai pu comprendre, ça a fonctionné dans le passé mais ce n'est pas très fiable.

QUESTION: 28 jours depuis la notification ou depuis la dernière édition ?

REPONSE: La réponse est dans la section ''Suivi de version''.

QUESTION: Le bug est marqué comme corrigé dans la version 0.7.3-3, qui est également la version stable. Pourquoi le BTS pense qu'il affecte encore stable ?

REPONSE: Bonne question ! :) En fait, je l'attendais ! ;) Lisez la ligne en dessous: il est également ''trouvé'' dans la même version. Etant donné qu'un bug ne peut être trouvé et corrigé dans la même version, le BTS garde une approche conservative et supprime les deux éléments en considérant qu'ils n'existent pas.

QUESTION: Qu'en est-il des attaques contre le BTS , par exemple, celles qui sont ciblées sur la fermeture ou la réouverture arbitraire, etc... ?

REPONSE: Dans la pratique, certains spams parviennent à être envoyés aux adresses -done. Ils sont généralement facilement repérés et comme on peut facilement revenir en arrière, ça ne pose pas de problème. En général, les mainteneurs de paquets les remarquent et réagissent ainsi que le font régulièrement les administrateurs du BTS.

Ces administrateurs ont également la possibilité de bloquer certains émetteurs du BTS en cas d'envoi malicieux délibéré.

Néanmoins, le fait d'être ouvert et d'inviter tout le monde à travailler sur les bugs surpasse complètement les quelques troubles qui viennent parfois perturber le robot de contrôle.

QUESTION: Le bug n'aurait-il pas eu besoin d'être ''fixed'' (corrigé) au lieu de ''found'' (trouvé) ?

REPONSE: Merci de cette réfléxion, vous avez raison bien entendu. Néanmoins, je ne vais pas renvoyer un autre message de contrôle car cela n'aura pas d'effet. La mauvaise correction ne fera rien donc je ne vais pas ennuyer un mainteneur de paquet. :)

== Voir aussi ==
 * [[http://bugs.debian.org/]]
 * [[http://www.debian.org/Bugs/Reporting]]
 * [[http://www.debian.org/Bugs/server-control]]
 * [[http://www.debian.org/Bugs/Developer#tags]]

Traductions: English - Italiano - Français



Comment utiliser le Système de Suivi de Bug (BTS)

Session d'entraînement IRC Debian Women conduite par Gerfried Fuchs, le 09 Décembre 2010

Voici un tutoriel sur l'utilisation du système de suivi de bug.

L'acronyme BTS signifie Bug Tracking System (où Système de suivi de bugs en français). Il s'agit du système ou le projet Debian réalise l'enregistrement et le suivi des rapports de bug (y compris les demandes d'amélioration, pas uniquement les "véritables" bugs). Il s'agit en majorité d'un système basé sur le courrier électronique - car on peut modifier ou effectuer des manipulations uniquement en envoyant un courrier électronique. Les courriers doivent être envoyés en format texte et non en HTML.

Prérequis

Prérequis techniques:

Interroger les rapports de bug: l'interface web du BTS

L'interface Web du BTS se consulte sur http://bugs.debian.org/. A travers cette interface, vous pouvez lancer des recherches, assez rapidement (si le serveur n'est pas trop chargé) et assez facilement, sur les rapports de bug.

Si vous allez sur http://bugs.debian.org, vous serez redirigé sur une page affichant un formulaire de recherche. Mais la partie la plus utile représente les nombreuses redirections que ce formulaire permet:

  • Si vous maintenez des paquets vous-même, vous pouvez aller sur http://bugs.debian.org/your@maintenance.addre.ss et consulter tous les rapports de bug de l'intégralité des paquets que vous maintenez avec cette adresse email.

  • Si vous remontez des rapports de bug (et j'espère que c'est ce que vous faîtes au lieu de garder pour vous les bugs que vous rencontrez et qui continueront à vous agacer tant qu'ils ne seront pas corrigés) vous pouvez aller sur http://bugs.debian.org/from:your@addre.ss pour consulter tous les rapports de bugs non corrigés.

  • Si vous voulez signaler un nouveau bug, alors vous devriez vérifier si celui-ci n'a pas déjà été remonté. Pour celà, vous pouvez utiliser http://bugs.debian.org/packagename pour visualiser tous les rapports de bugs qui affectent un paquet donné. A noter que ces rapports de bugs concernent uniquement les paquets binaires.

  • Si vous voulez consulter un rapport de bug de tous les paquets construits à partir du même paquet source, comme par exemple, openoffice.org, vous pouvez aller sur http://bugs.debian.org/src:openoffice.org à la place (notez le préfixee src:).

  • Si vous disposez d'un numéro de rapport de bug, vous pouvez aller directement consulter ce rapport en ajoutant le numéro à la fin de l'URL, comme sur http://bugs.debian.org/12345.

Sur les pages d'aperçu, une liste des rapports indiqués dans la présente page est affichée en haut. A la fin de cette page, un formulaire vous permet de sélectionner les rapports qui vous intéressent selon différentes options.

Vous vous rendrez compte que sur cette page d'aperçu, il y a souvent des caractères mystérieux à côté de chaque résumé de bug. Vous pouvez mettre le pointeur de souris dessus afin d'obtenir la signification du caractère. En cliquant dessus, vous ouvrez une fenêtre pop-up avec davantage d'information sur le rapport de bug.

Il s'agissait d'une courte introduction à l'interface web du BTS. Encore une fois, retenez qu'il s'agit seulement d'une interface de recherche et n'hésitez pas à cliquer à droite et à gauche: rien de mauvais ne peut en sortir.

Créer des rapports de bug: reportbug

Pour signaler des bugs, vous aurez besoin d'un client de courrier électronique ou, mieux encore, du paquet reportbug. reportbug est un outil principalement en mode texte (mais il existe deux interfaces graphiques: une basée sur urwid, l'autre sur GTK+). Il existe également reportbug-ng qui est une interface graphique dont l'objectif est identique à reportbug mais qui est un outil bien distinct.

Les deux outils imposent l'utilisation d'un MTA (Mail Transport Agent) comme postfix, exim ou ssmtp. Je ne détaillerai pas comment les configurer. Retenez qu'il est utile pour certains de disposer d'un MTA en local de manière à pouvoir écrire son courrier électronique sur son portable lorsqu'on est déconnecté et pouvoir l'envoyer ensuite, lorsqu'on est à nouveau connecté.

Même lorsque vous ne disposez pas d'un MTA local, reportbug reste extrèmement utile car il dispose d'une option --template. Cette dernière vous aide à produire de l'information qui vous sera de toute manière demandée par le mainteneur du paquet, directement dans le rapport de bug (par exemple, l'information sur les dépendances).

Lancez dans un terminal:

reportbug --template paquet

avec un nom de paquet que vous avez installé. N'ayez pas peur: cela ne fait rien de mal ! Ca permet juste d'afficher quelques lignes de texte. :)

Dans ces lignes, plusieurs éléments importants vous donneront des indications pour la suite, comme où envoyer le courrier électronique:

To: Debian Bug Tracking System <submit@bugs.debian.org>

L'adresse submit@bugs est l'adresse à laquelle les nouveaux rapports de bug sont envoyés. Bien entendu vous devrez utiliser un titre compréhensible et bien descriptif qui permettra au mainteneur du paquet de voir quel est le problème.

Ensuite, il y a un autre bloc qui commence avec Package::, où il y a une ligne Version: et une autre Severity:

  • Les lignes Package: et Version doivent être les premières de votre rapport de bug, dans le corps du message alors que vous avez l'habitude d'y écrire Cher ami,.

  • La ligne Severity est optionnelle, vous pouvez la laisser de côté s'il s'agit d'un rapport de bug normal.

Severity indique différents niveaux de sévérité depuis grave, critical, serious, à important, normal, ou minor ou encore whishlist.

Les trois premiers niveaux (grave, critical et serious) sont considérés comme critique pour la version et définissent un groupe spécial de rapports de bug. Dans le doute, il ne faut pas les utiliser à moins de comprendre vraiment leur signification: certaines personnes peuvent réagir vivement lorsqu'ils sont employés dans le cas d'un rapport qui ne serait pas vraiment si grave. Je vous indiquerai la signification de ces rapports spéciaux un peu plus tard.

wishlist est le niveau de sévérité pour les demandes d'amélioration que vous voudriez voir intégrées au paquet. Certains mainteneurs vous suggéreront probablement de faire ces demandes dans le projet originel. Soyez préparé à cette réaction, même si personnellement, je considère qu'un mainteneur de paquet doit être un lien entre les utilisateurs Debian et les développeurs amont.

Enfin, essayez d'être le plus descriptif possible non seulement dans le titre du bug mais également dans le message du rapport. Il serait également appréciable si vous pouviez indiquer une méthode permettant de reproduire votre bug.

A propos de la création de rapports de bug, vous pouvez également consulter la documentation sur http://www.debian.org/Bugs/Reporting.

Modifier les rapports de bug: control@bugs.debian.org

Pour modifier les rapports de bug, vous devez utiliser l'adresse control@bugs.debian.org. L'intégralité du système de suivi de bug est ouvert à tous, comme cette adresse électronique. Cela signifie que techniquement tout le monde peut modifier un rapport de bug. L'adresse de contrôle est le début de l'aventure. Elle fonctionne comme l'adresse d'envoi sur les premières lignes du rapport de bug.

La documentation de l'adresse électronique de contrôle est située sur http://www.debian.org/Bugs/server-control.

La syntaxe est généralement la suivante:

 commande numéro_de_bug arguments

La quantité d'arguments varie selon la commande employée.

Ainsi, avec la commande retitle:

retitle 12345 nouveau-titre

vous modifiez le titre du rapport de bug 12345 en nouveau-titre.

N'ayez crainte, vous ne pouvez pas réaliser cette opération pour ce numéro de bug car il est archivé. Vous pouvez seulement agir sur les rapports de bug qui ne sont pas encore archivés.

Une commande souvent utilisée est la commande reassign qui permet d'indiquer que le rapport de bug concerne un paquet différent. Cette commande utilise un deuxième argument après le nom du paquet: un numéro de version. Si vous connaissez le numéro de version de l'autre paquet concerné par le bug, il est utile et important d'ajouter la version pour permettre au suivi de version de continuer à fonctionner. J'expliquerai le suivi des version un peu plus tard et je vous montrerai quelques cas d'utilisation. :)

La commande tag améliore la classification des bugs. Lorsque vous crééz un rapport de bug, vous pouvez également ajouter des Tags (étiquettes) aux pseudo en-têtes de votre message et affecter des étiquettes spécifiquement à un rapport de bug.

Voici quelques étiquettes qui sont souvent employées:

  • patch: lorsque vous joignez une correction au problème dans votre message.

  • moreinfo et unreproducible: lorsque les mainteneurs du paquet ne comprennent pas clairement le problème.

  • security: lorsque le bug concerne une faille de sécurité ou y ressemble.

La liste des étiquettes peut être consultée sur http://www.debian.org/Bugs/Developer#tags.

Les courriers à destination de l'adresse de contrôle sont stockés dans le BTS mais ne sont pas renvoyés ailleurs. Ainsi, ces messages sont souvent accompagnés d'un champ Cc vers bugnumber@bugs.debian.org. Ces courriers sont alors envoyés vers le mainteneur de paquet (ainsi qu'aux autres personnes abonnées à cette adresse).

Si vous voulez vous abonner à un rapport de bug en particulier, envoyez simplement un courrier électronique à bugnumber-subscribe@bugs.debian.org. Vous recevrez un email de confirmation à la suite de laquelle, vous recevrez tous les messages envoyés à ce rapport de bug. Vous pouvez également souscrire à tous les rapports de bug d'un paquet en utilisant le PTS (Package Tracking System ou Système de Suivi de Paquets en français) en allant sur http://packages.qa.debian.org/nom_du_paquet (remplacer nom_du_paquet par le paquet auquel vous désirez vous abonner). En bas à gauche, vous trouverez le formulatire d'inscription.

Si les utilisateurs envoyent des courriers à la fois à control@bugs et à bugnumber@bugs, ils ne veulent pas déranger ou mettre en échec le programme de contrôle avec le texte à destination du mainteneur de paquet. La commande spéciale thanks que vous avez peut-être remarquée après les commandes de contrôle indique au programme de contrôle d'arrêter de traiter le message à partir de là. Merci de vous soucier de ce programme et d'utiliser thanks pour terminer vos messages de contrôle. :)

Merci de prendre note que j'ai toujours dit que les courriers envoyés à bugnumber@bugs sont envoyés au mainteneur du paquet (et aux personnes qui y sont abonnées). Ces courriers ne sont PAS envoyés à la personne qui a créé le rapport de bug ! C'est quelque-chose qui est en discussion et qui va peut-être changer. Toutefois, pour l'instant, vous devez penser à rechercher l'adresse du créateur du rapport et à l'ajouter en copie ou bien vous devez utiliser l'adresse email: bugnumber-submitter@bugs.debian.org.

Suivi de version

Qu'est-ce-que le suivi de version ?

Le BTS conserve la trace de la version d'un paquet dans laquelle un bug a été corrigé, quelle version de Debian il affecte. C'est pourquoi la pseudo en-tête Version: dans la création du rapport est très importante. Dans le cas contraire, le BTS pourrait croire que le bug touche toutes les versions du paquet.

C'est également ici où je reviens vers le groupe spécial de bug: les bugs critiques pour la publication (release) que j'ai mentionné plus haut. Les rapports de bugs peuvent être archivés après 28 jours s'ils remplissent certaines conditions: en général, d'être corrigés dans unstable et dans testing.

Bien entendu, s'ils touchent toutes les version de Debian, ils sont également concernés par les architectures de Debian. Un rapport de bug qui touche uniquement unstable mais pas testing (à cause de la version concernée) peut être archivé tout de suite.

Ainsi, les distributions concernées forment un critère, les architectures touchées, un autre. Si ces deux critères sont gérés et corrigés, le décompte du temps est lancé.

Les rapports de bugs peuvent être fermés selon plusieurs méthodes. La plus courante est par le versement d'un paquet contenant un message closes: #12345 dans le changelog. Lorsque le paquet est accepté dans l'archive Debian, un courrier électronique est envoyé à 12345-done@bugs.debian.org avec Version: 1.2.3 dans la première ligne du message. Cela peut évidemment être déclenché manuellement si un courrier est envoyé à numéro_de_bug-done@bugs avec une en-tête Version: qui indique également que le bug a été corrigé dans cette version.

Si le rapport de bug est un faux problème (comme, un faux rapport), alors la ligne Version: ne doit PAS être ajoutée au courrier.

Cette différence est nécéssaire pour que le BTS puisse distinguer les bugs corrigés pour une version donnée et les bugs qui n'en sont pas vraiment.

The later will start right ahead with the 28 day period. The former will only start when the package in that version is in sync in unstable on all architectures and also in testing (if the bug affects testing).

Je n'ai pas encore touché un mot sur les rapports de bug critiques pour la publication qui sont envoyés ici et là.

Les rapports de bug critiques pour la publication devront AUSSI être corrigés pour la version stable avant de commencer le processus d'archivage. Ainsi, même si un rapport de bug critique pour la publication est fermé dans unstable, qu'il a migré dans testing et qu'il est synchronisé dans toutes les architctures, il ne sera PAS archivé tant que le suivi de version pensera qu'il affecte la version stable de Debian.

L'interface Web du BTS dispose d'une fonctionnalité très utile pour tout cela: le graphe de version. Vous les avez sans doute déjà remarqué dans quelques rapports de bug, ils sont situés en haut à droite. Ils contiennent plusieurs boîtes: des rouges arrondies et des vertes rectangulaires. Les boîtes vertes sont les version corrigées, les rouges sont les versions touchées.

Comme indiqué plus haut, n'hésitez pas à cliquer partout, y compris sur les graphes de version. Cela vous permettra de mieux les comprendre. ;)

Exemple 1

Jetons un coup d'oeil à un graphe de bug simple:

Aperçu d'un rapport de bug pour le bug #598227 avant la tenue de ce tutoriel

Ce graphe est vraiment simple, il peut y en avoir de très complexes avec de nombreuses branches. Vous pouvez voir en haut la boîte verte et également les version de Debian (testing, unstable) qui y sont mentionnées. Sur la gauche, vous pouvez lire la sévérité: grave. Comme mentionné plus haut, nous sommes en présence d'un bug critique pour la publication. C'est la raison pour laquelle il n'est pas encore archivé.

En lisant le rapport de bug, on voit qu'il affecte la version stable de manière non justifiée: icedove 3 n'est pas dans stable et donc ce rapport n'a pas une sévérité grave pour cette version de Debian. Mais étant donné qu'on ne peut affecter de sévérité à la version de publication, l'étiquette mentionnée précédemment peut maintenant intervenir.

Il existe en effet des étiquettes pour les distributions. Lors de mon travail sur la réduction du nombre de bugs critiques pour la publication stable, je suis tombé sur de nombreux bugs comme celui-ci. J'ai donc étiqueté ce rapport comme suit:

 tag 598274 + squeeze sid

ce qui infique qu'il ne concerne pas Lenny.

Si un rapport de bug dispose d'une étiquette de version, le BTS le considère comme touchant uniquement les versions mentionnées. Si vous disposez d'un MTA local et que vous avez renseigné la variable d'environnement DEBEMAIL comme je l'ai fait, il existe un outil très utile dans le paquet devscripts: il s'appelle bts (et devinez à quoi il sert ?).

bts est un client en ligne de commande pour le BTS et me permet d'envoyer juste un simple courrier pour corriger le problème grâce à la commande:

bts tag 598274 + squeeze sid  '# not relevant for stable'

Ainsi, lorsqu'on poursuit la lecture du rapport de bug, il semble que la version corrigée 0.7.3-3 soit fausse et qu'elle doit être supprimée:

bts notfound 598274 0.7.3-3

Dans la pratique, ces commandes peuvent être chaînées et combinées, en les séparant avec des points.

C'est très utile lorsqu'on veut réaliser plusieurs opérations en une seule, en produisant un seul courrier au lieu de plusieurs.

Si vous rechargez la page du rapport de bug vous verrez que les étiquettes ont été déjà modifiées. N'y-a-t-il rien d'autre qui a changé ? Bien sûr, quelquechose a changé: si vous cliquez sur icedove-bibiui en haut pour consulter la page récapitulative des bugs de ce paquet et que vous cliquez sur la partie [G|u|☺] dans le résumé du bug, vous constaterez que le bug peut être archivé dans 28 jours ! Hourra, nous venons de supprimer un bug critique pour la publication de la version stable, ici et maintenant :)

Exemple 2

Jetons un coup d'oeil à ce bug:

aperçu d'une page web du rapport de bug #606327 avant le déroulement de ce tutoriel

En fait, ce bug semble un peu étrange. Le courrier initial contient une en-tête Version mais il n'y a pas de graphe et aucune information de version dans le résumé situé en haut de la page. Lisons la suite et voyons ce qu'il arrive.

Juste après le courrier initial, vous pourrez remarquer deux extraits de Bug reassigned (Bug réaffecté) et spécialement Bug no longer marked as found in versions (Bug non trouvé dans les versions). Ahah! Le rapport a perdu son information de version suite à une réaffectation ! J'ai mentionné précédemment qu'une réaffectation utilise un argument supplémentaire qui indique une version. Malheureusement, il n'a pas été utilisé dans notre cas.

Aperçu du message "Bug Reassigned" dans la page web du rapport de bug #606327

Vérifions. C'est encore plus drôle ! Le bug a été réaffecté de open-vm-dkms à open-vm-tools. Ne sont-ils pas liés ? Si vous allez plus loin, vous remarquerez que l'un est le nom du paquet source tandis que l'autre correspond au binaire produit par ces sources. Ainsi, ils devraient avoir la même information de version, n'est-ce-pas ? Que faire maintenant ?

bts found 606327 2010.06.16-268169-3 '# re-add version information lost in reassign'

Nous devrons attendre un peu avant que la commande soit appliquée. Après quelques temps, si nous rechargeons la page, nous verrons un graphe apparaître et qu'il contient seulement (testing, unstable). Ce bug ne concerne donc plus stable. Deuxième bug RC viré ! :)

Exemple 3

Voyons maintenant le prochain rapport de bug.

aperçu d'une page web du rapport de bug #605784

Ce graphe de bug concerne une version unique. Ce paquet ne semble pas avoir été mis à jour depuis que Lenny a été publiée !

Ainsi, le BTS n'a aucune chance de distinguer juste par l'information de version si le bug affecte stable ou non. Il a besoin encore de l'aide des étiquettes de publication. Lorsqu'on lit la première ligne du rapport juste au dessus, après la mise à jour dans squeeze, cela indique que le bug n'affecte pas vraiment stable.

Donc, nous allons le tagguer avec + squeeze sid encore une fois. :)

Après un peu de temps, nous constatons que le graphe de version sur la page du bug n'a pas du tout changé. C'est correct mais comme les étiquettes de publication sont indiquées, le bug ne concernen plus stable. :) Troisième bug RC viré !

Exemple 4

Maintenant, un problème plus corsé que les cas précédents.

Consultons ce rapport de bug:

aperçu de la page web du rapport de bug #507360

Ce bug est marqué comme fermé depuis février (2010) ! Ce qui est largement plus long que 28 jours n'est-ce-pas ?

Nous trouvons une version listée et une version corrigée dans l'information en haut à gauche. Et nous avons un graphe presqu'entièrement rouge. Où est donc la boîte verte ? Comme mentionné plus haut, vous pouvez cliquer sur le graphe. Cela ne donne pas beaucoup plus d'information pour le moment mais vous pouvez déplier le graphe en cliquant sur [Don't collapse].

screenshot of expanded version graph for bug #507360

Corrigé dans la version 2.28.0-1. Pourtant, même si je ne suis pas aveugle, je ne trouve nulle part de version 2.28.0-1 dans ce graphe et je pense que comme moi, vous pouvez le confirmer ! Que s'est-il donc passé ? Comme on peut le constater, le bug n'a pas été fermé avec le versement d'un paquet mais à l'aide d'un simple courrier électronique.

Cela arrive souvent lorsque quelqu'un tatonne avec la version et cela semble être le cas ici. En effet, le PTS ne connaît rien sur cette version dans l'historique du paquet: http://packages.qa.debian.org/g/gnome-media.html

Nous avons juste à ajouter l'information de version. Nous conservons l'approche conservatrice et marquoins le bug comme corrigé dans la version 2.28.1-1 qui est la version versée juste après:

bts notfound 507360 2.28.0-1 '# fixing version information' . found 507360 2.28.1-1

Même problème avec le bug 418597 où il faut chercher le bon numéro de version.

En fait, il semble qu'il y ait toujours encore des problèmes dans le paquet gnome-media donc j'ai envoyé un petit message à l'un des mainteneurs du paquet pour qu'il voit ça de plus prêt. :)

Il ne s'agit pas de bugs RC mais de bugs non fermés correctement à cause d'une erreur de suivi de version.

Exemple 5

Passons maintenant à d'autres problèmes: http://bugs.debian.org/src:logrotate. Ce paquet dispose d'un grand nombre de versions corrigées. Lorsqu'on clique sur les étiquettes des bugs pour avoir plus d'information, on se rend compte qu'ils sont clos depuis… des lustres ! Que-se-passe-t-il ?

Vérifions le bug 388608. L'infobulle nous indique: Modified 1 year and 116 days ago (modifié il y a 1 an et 116 jours). Wow! Ca fait sacrément plus que 28 jours non ? ;)

Consultons le graphe du bug.

Aperçu de la page web du graphe du bug #388608

Je ne pense pas que ce graphe soit lisible en l'état, donc cliquez dessus. :) On y trouve en haut une boîte verte (testing, unstable). Toutefois, il y a une autre unstable dans un cercle rouge un peut plus bas ! Que se passe-t-il ? deux versions unstable ?

Vérifions la page du paquet: http://packages.debian.org/unstable/logrotate: si vous descendez en bas de la page, vous trouverez l'information de version. Ici également, il y a un code couleur: vert signifie synchronisé, jaune indique une version de retard dans Debian et rouge indique un retard par rapport à la version originelle. Nous pouvons ignorer le jaune de m68k car cette architecture n'est pas un port officiel de Debian.

La version coupable est la hurd-i386, dans le numéro 3.7.1-5 et c'est également la version du cercle avec (stable, unstable) dans le graphe du bug !

Aperçu de la page web du paquet logrotate avec les informations de version pour toutes les architectures

Que pouvons-nous faire ? Soit trouver quelqu'un pour construire le paquet sous Hurd, ou demander à l'un de nos sympathiques gestionnaires FTP de supprimer le paquet dans hurd-i386. On peut réaliser cette opération en créant un rapport de bug pour le paquet ftp.debian.org. reportbug permet cela grâce à un système de menu pour ce pseudo paquet (ftp.debian.org) en simplifiant fortement la demande, même pour la suppression partielle d'un paquet.

Je choisis en général RoQA (Request of Quality Assurance, Demande d'assurance qualité en français) car l'équipe QA, c'est tout le monde, y compris vous. Eh oui, ça comprend toutes les personnes qui s'occupent de Debian.

En fait, le paquet suivant a le même problème: http://bugs.debian.org/src:distcc. J'ai donc envoyé une demamnde de suppression pour hurd-i386 sur distcc un peu plus tôt et comme nous avons des gestionnaires ftp rapides, c'est déjà fait.

Si vous cliquez sur les informations de ces bugs, vous verrez qu'ils seront bientôt archivés. :)

UDD

Si vous vous demandez comment je suis tombé sur ces exemples, sachez que j'ai employé la UDD pour cela.

UDD signifie Ultimate Debian Database (Base de Données Ultime sur Debian) et qu'elle peut être interrogée avec n'importe quoi.

Je me suis fait deux pages sur mon compte alioth (duquel tout le monde peut réaliser des requêtes) pour suivre tout ça: http://alioth.debian.org/~rhonda/.

La première requête est la liste des bugs critiques pour la publication en cours de traitement (qui peut être également interrogée depuis http://udd.debian.org/bugs.cgi) en sélectionnant Lenny en haut. La deuxième est juste un résumé des rapports de bug qui ont été fermés l'année dernière et qui ne sont pas encore archivés.

Questions et Réponses

QUESTION: Y-a-t-il une règle pour le titre des bugs ?

REPONSE: en général, non. Certains paquets (ou plutôt des pseudo-paquets) utilisent le titre du bug pour lancer automatiquement des tâches et ils utilisent un formatage particulier. En général, les personnes qui s'en occupent sont au courant qu'il n'est pas facile d'avoir cette information et ils savent rester souples si vous ne respectez pas ces règles.

Un de ces paquets spéciaux (pseudo) est ftp.debian.org. Cette équipe a des règles spéciales pour les sujets et ils utilisent cette information pour savoir quoi faire juste en lisant le sujet au lieu de lire le message complet (qui contient juste quelques informations complémentaires).

QUESTION: Qui change l'étiquette Severity d'un rapport de bug (et comment le faire ?) ?

REPONSE: Cela nous amène à l'adresse de courrier électronique spéciale, control@bugs.debian.org

QUESTION: A quel point la "politique APT" est-elle importante pour un rapport de bug ?

REPONSE: En fait, je ne suis pas sûr de savoir ce que vous entendez par "politique APT". Pouvez-vous expliciter ce terme que j'entends pour la première fois, particulièrement dans le contexte de la remontée de bugs ?

Peut-être est-ce la ligne "APT Policy" que reportbug ajoute généralement lorsqu'on créé un rapport de bug sur un paquet (résumé de l'information d'apt-cache). Revenons à la sortie de reportbug --template :) Le rapport de bug doit être placé entre le bloc comprenant Package, Version et Severity, et le bloc qui commence avec System Information.

Ce dernier aide le mainteneur à trouver les problèmes liés à des dépendances spéciales ou aux paramètres de debconf ou du noyau utilisé. Lorsque le rapport de bug est très détaillé, il n'y a pas forcément besoin d'indiquer ces dépendances spéciales. Mais souvent, les gens soumettent des rapports de bug avec peu d'information (en général, pas volontairement) et ces Information Système peuvent donner une bonne idée de la cause du problème. J'espère que ces éléments apportent des réponses à vos question. :)

QUESTION: Dans la sortie de "reportbug --template nom_du_paquet", en dessous des informations système: APT policy: (500, 'stable').

REPONSE: Ah oui, ça me dit quelquechose maintenant. C'est la valeur par défaut que les utilisateurs de stable renvoient. Ces personnes ont peut-être d'autres dépôts d'indiqués dans leur fichier sources.list et ils ont peut-être modifié les préférences de manière à ce que les paquets d'une version spécifique de Debian soit installée préférentiellement. Il s'agit d'une information interne à apt mais elle est utile (en plus de la version du paquet) pour comprendre dans quel environnement le bug se produit.

QUESTION: Peut-on lancer toutes les commande de contrôle en utilisant les pseudos en-têtes dans un courrier électronique envoyé à l'adresse numéro_de_bug@b.d.o ou doit-on utiliser control@b.d.o ?

REPONSE: Vous devez nécéssairement utiliser l'adresse explicite control@, la vérification automatique n'étant pas faîte. De ce j'ai pu comprendre, ça a fonctionné dans le passé mais ce n'est pas très fiable.

QUESTION: 28 jours depuis la notification ou depuis la dernière édition ?

REPONSE: La réponse est dans la section Suivi de version.

QUESTION: Le bug est marqué comme corrigé dans la version 0.7.3-3, qui est également la version stable. Pourquoi le BTS pense qu'il affecte encore stable ?

REPONSE: Bonne question ! :) En fait, je l'attendais ! ;) Lisez la ligne en dessous: il est également trouvé dans la même version. Etant donné qu'un bug ne peut être trouvé et corrigé dans la même version, le BTS garde une approche conservative et supprime les deux éléments en considérant qu'ils n'existent pas.

QUESTION: Qu'en est-il des attaques contre le BTS , par exemple, celles qui sont ciblées sur la fermeture ou la réouverture arbitraire, etc... ?

REPONSE: Dans la pratique, certains spams parviennent à être envoyés aux adresses -done. Ils sont généralement facilement repérés et comme on peut facilement revenir en arrière, ça ne pose pas de problème. En général, les mainteneurs de paquets les remarquent et réagissent ainsi que le font régulièrement les administrateurs du BTS.

Ces administrateurs ont également la possibilité de bloquer certains émetteurs du BTS en cas d'envoi malicieux délibéré.

Néanmoins, le fait d'être ouvert et d'inviter tout le monde à travailler sur les bugs surpasse complètement les quelques troubles qui viennent parfois perturber le robot de contrôle.

QUESTION: Le bug n'aurait-il pas eu besoin d'être fixed (corrigé) au lieu de found (trouvé) ?

REPONSE: Merci de cette réfléxion, vous avez raison bien entendu. Néanmoins, je ne vais pas renvoyer un autre message de contrôle car cela n'aura pas d'effet. La mauvaise correction ne fera rien donc je ne vais pas ennuyer un mainteneur de paquet. :)

Voir aussi