Comment rapporter les bogues sous Debian 2.2

ArticleCategory: [Artikel Kategorie]

Community

AuthorImage:[Bild des Autors]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en Egon Willighagen 

en to frIznogood 

AboutTheAuthor:[Über den Autor]

Egon a rejoint l'équipe Hollandaise de LF en 1999 et il est devenu le deuxième éditeur au début de cette année. Il est étudiant en chimie à l'Université de Nijmegen. Il joue au basket et aime la randonnée.

Abstract:[Zusammenfassung]

Cet article décrit ce que les utilisateurs Debian peuvent faire pour la communauté: rapporter les bogues qu'ils trouvent. Voici comment et pourquoi faire remonter les bogues.

ArticleIllustration:[Titelbild des Artikels]

[Illustration]

ArticleBody:[Der eigentliche Artikel]

Communauté Debian

Debian est avant tout une distribution Linux, mais c'est aussi une communauté qui tente de développer gratuitement le meilleur système d'exploitation (OS) disponible. Mais qui fait partie de cette communauté? Bien sûr les développeurs sont les membres les plus importants, mais les utilisateurs le sont tout autant. Si Debian n'était plus utilisé, les développeurs cesseraient le développement. Où est l'intérêt de porter des logiciels si personne ne les utilise?

Ces développeurs, néanmoins, sont tous des volontaires. Au contraire de Red Hat et de Suse, où une entreprise (RH et Suse) emploie de nombreux développeurs, ceux de Debian ne sont pas rénumérés. Cela signifie qu'ils ne disposent pas de ressources illimitées dans le temps. "D'accord", pourriez-vous dire, "mais en quoi cela me concerne?" En tant qu'utilisateur, vous pouvez aider ces développeurs en leur soumettant les bogues que vous avez trouvés.

Les paquetages Debian peuvent avoir deux catégories de bogues. Une de ces catégories concerne les véritables bogues logiciels. Souvent, le développeur Debian n'est pas le créateur du logiciel (il a juste créé un paquetage Debian pour lui), il essaiera quelquefois de régler le problème mais la plupart du temps l'enverra à l'auteur du logiciel.

La seconde catégorie de bogues concerne ceux des paquetages Debian ou ceux de la routine d'installation du paquetage dans le système Debian. Ces bogues doivent être résolus par les développeurs Debian. Et trouver ces bogues est un travail de longue haleine.

Trouver des bogues

Les bogues sont courants dans les logiciels. Mais les développeurs doivent créer un système Debian stable et les bogues ne font pas partie de cette stabilité. Mais on ne les trouve pas sans difficulté, sinon ils auraient déjà été éliminés. Les bogues peuvent être trouvés de différentes manières:

Parmi ceux-ci, le plantage système est facilement trouvé, bien qu'il puisse être difficile de résoudre le problème. Mais le second type de bogue est plus difficile à trouver. La raison est que l'auteur/développeur ne peut tester le logiciel pour toutes les situations possibles. Par exemple: considérons un programme de calcul. L'auteur peut tester plusieurs aspects du comportement: 1+1 doit donner 2, 2*5 doit donner 10, etc. Mais il ne peut tester toutes les sommes ou multiplications possibles. Il ne testera pas 3456733256677*77782882355.

Mais un utilisateur si. Les utilisateurs font des choses avec le (et au) logiciel que l'auteur n'aurait jamais pu imaginer. Comme le nombre des utilisateurs est plus important que celui des auteurs et des développeurs Debian, ils peuvent tomber plus facilement sur plus de bogues. Mais tous ces bogues ne seront pas forcément critiques: votre système ne plantera pas, vos données ne seront pas corrompues. Dans la plupart des cas, ces bogues ne seront même pas gênants parce qu'ils seront contournés.

Et en tant que membre de la communauté, vous avez presque l'obligation morale d'informer les développeurs Debian des bogues, de manière à ce que le logiciel soit rendu encore plus stable. Cet article est simplement un plaidoyer pour que cela soit fait. (Bien sûr, vous ne trouverez pas beaucoup de bogues dans un sytème Debian :)

Comment rapporter des bogues sous Debian 2.2?

Qu'y a-t-il de si particulier sur les rapports de bogues sous Debian? L'un des aspects est que Debian possède un système de rapport de bogues élaboré. Les bogues soumis seront stockés sur un serveur de debogage central. Le programme reportbug facilite cette information sur les bogues et possède plusieurs outils très pratiques.

Supposons que vous ayez trouvé un bogue dans le programme dia (mon éditeur de schéma favori). Observons le processus de soumission de bogue pour ce paquetage. (Le bogue trouvé n'était pas un bogue Debian mais un bogue dans le logiciel, j'espère donc que les Développeurs Debian le feront suivre aux auteurs.)

J'ai saisi (au prompt car je n'ai pas trouvé de GUI sympa pour ce programme.):
egonw > reportbug
Please enter the name of the package in which you have found a problem,
or type one of these bug categories:

base              General bugs in the base system
boot-floppies     bugs in the boot and root disks
bugs.debian.org   The bug tracking system, @bugs.debian.org
ftp.debian.org    Problems with the main FTP site (or mirrors)
general           Widespread problems (e.g., that many man pages 
				are mode 755)
kernel            Problems with the kernel in general (otherwise: 
				kernel-image)
list archives      The mailing list archives.
lists.debian.org  The mailing lists (debian-*@lists.debian.org)
manual            bugs in the manual
nonus.debian.org  Problems with the non-us FTP site (or mirrors)
project           Problems related to Project administration
www.debian.org    Problems with the website (or mirrors)                 

Enter a package:

Faisons un travail correct et ne donnons pas une de ces catégories, mais le paquetage réel. Pour ce faire, terminons la session reportbug par ^C (ctrl-C). Nous devons trouver le paquetage qui contient l'exécutable "dia". Nous le faisons ainsi:
egonw > whereis dia
dia: /usr/lib/dia /usr/X11R6/bin/dia /usr/bin/X11/dia /usr/share/dia
egonw > dpkg -S /usr/bin/X11/dia
dpkg: /usr/bin/X11/dia not found.
egonw > dpkg -S /usr/X11R6/bin/dia
dia: /usr/X11R6/bin/dia

Avec la dernière commande, nous voyons que l'exécutable est contenu dans le paquetage dia (si vous n'êtes pas certain, contrôlez-le avec: "dpkg -l dia"). Notez que whereis renvoie quatre fichiers. Le premier est une bibliothèque. Le dernier est un répertoire et les deux du milieu sont des exécutables. Le paquetage ne fournit que le second des exécutables dia, et l'origine du premier m'est inconnue.

Maintenant que nous connaissons le paquetage bogué, nous pouvons rapidement vérifier d'où le programme a été téléchargé (ftp/http) ou récupéré (CD/floppy):
egonw > apt-cache showpkg dia
Versions: 0.86-helix1(/var/state/apt/lists/spidermonkey.helixcode.com_dis
ributions_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/
tatus),0.83-2(/var/state/apt/lists/ftp.nl.uu.net_pub_linux_debian_dists_s
able_main_binary-i386_Packages),
Reverse Depends: 
  task-helix-gnome,dia
Dependencies: 
0.86-helix1 - gdk-imlib1 (2 1.9.8.1) libart2 (2 1.2.0) libaudiofile0 (0 
(null)) libc6 (2 2.1.2) libdb2 (2 1:2.4.14-7) libesd0 (18 0.2.16) 
libesd-alsa0 (2 0.2.16) libgdk-pixbuf2 (0 (null)) libglib1.2 (2 1.2.0) 
libgnome32 (2 1.2.0) libgnomesupport0 (2 1.2.0) libgnomeui32 (2 1.2.0) 
libgtk1.2 (2 1.2.0) libpng2 (0 (null)) libpopt0 (0 (null)) libxml1 (0 
(null)) xlib6g (2 3.3.6-4) zlib1g (2 1:1.1.3) gsfonts-x11 (0 (null)) 
0.83-2 - gdk-imlib1 (2 1.9.8-2) libc6 (2 2.1.2) libglib1.2 (2 1.2.0) 
libgtk1.2 (2 1.2.6-1) libpopt0 (0 (null)) libxml1 (0 (null)) libz1 (0 
(null)) xlib6g (2 3.3.5) gsfonts-x11 (0 (null)) 
Provides: 
0.86-helix1 - 
0.83-2 - 
Reverse Provides:

Avec ceci, nous pouvons voir que la version actuelle (0.86-helix1) a été installée depuis HelixCode (Pour installer HelixGnome, saisissez 'echo "#HelixGnome Update\ndeb http://spidermonkey.helix code.com/distributions/debian unstable main" >> /etc/apt/sources.list; apt-get update; apt-get install task-helix-gnome'). Ce bogue ne doit pas être envoyé aux développeurs Debian mais plutôt à celui qui a créé le paquetage Debian HelixGnome, ce qui n'est pas fait avec l'outil reportbug. Pour l'exemple de cet article, supposons que la version 0.83-2 soit installée avec le paquetage Debian 2.2 pour dia et (dans mon cas) qu'elle ait été téléchargée depuis un miroir FTP Hollandais.

Bon, nous savons donc que le bogue se trouve dans le paquetage dia-0.83-2.deb qui a été téléchargé depuis un site FTP Debian. Nous continuons maintenant avec la soumission du bogue. Si vous n'êtes pas connecté vous pouvez ajouter l'option '-b' pour que le programme ne traite pas avec le Debian Bug Tracking System (BTS). En vérifiant avec BTS vous pouvez contrôler que le même bogue n'a pas déjà été soumis auparavant. Donc contrôler avec BTS est fortement conseillé.

Après avoir entré le nom de paquetage et consulté BTS, le programme contrôlera les dépendances du paquetage. Ce contrôle est important car le logiciel dépend des bibliothèques et les bogues peuvent avoir pour origine un conflit de version. C'est réellement une source majeure de bogues. Aucune intervention de l'utilisateur n'est nécessaire pour ce contrôle.

La question suivante demande une description sommaire du bogue. Cette description est utilisée comme titre et doit être complète et courte. Plus tard, le bogue pourra être décrit plus en détail. Dans mon cas, le titre est "dia file format incorrectly uses dia namespace". Les détails et l'explication seront donnés ultérieurement.

Maintenant vous devez qualifier le bogue. Cinq catégories sont disponibles:

severitydescription
critical lorsque le bogue provoque l'arrêt d'un logiciel indépendant du système (ou du système lui-même), cause une sérieuse perte de données, ou introduit un trou de sécurité sur les systèmes où vous installez le paquetage.
grave lorsque le bogue rend le paquetage en question inutilisable ou presque, cause des pertes de données, ou introduit des trous de sécurité autorisant l'accès aux comptes des utilisateurs du paquetage.
important tout autre bogue qui rend le paquetage impropre à la distribution.
normal la valeur par défaut, utilisée pour les bogues les plus bénins
wishlist pour toute demande de fonctionnalité supplémentaire, et aussi, pour tout bogue très difficile à corriger en raison de problèmes de conception.

Choisissez une gravité appropriée. Normal est la qualification par défaut et la plupart des bogues de la Debian 2.2 auront cette gravité. Ceci parce que Debian utilise plusieurs cycles de vérification étendus dans lesquels le système complet est testé avant que la distribution ne soit rendue publique. Notez que vous pouvez aussi soumettre des souhaits pour de nouvelles caractéristiques avec reportbug, bien qu'il ne s'agisse évidemment pas de bogues.

Après avoir choisi la classification, un éditeur sera démarré avec toutes les informations qui ont été recueillies jusque là:
Subject: dia file format incorrectly uses dia namespace
Package: dia
Version: 0.86-helix1
Severity: normal



-- System Information
Debian Release: 2.2
Architecture: i386
Kernel: Linux george 2.2.17 #1 Sun Jun 25 09:24:41 EST 2000 i586

Versions of packages dia depends on:
ii  gdk-imlib1            1.9.8.1-helix4     Gdk-Imlib is an imaging =

library fo
ii  libart2               1.2.4-helix3       The Gnome canvas widget
ii  libaudiofile0         0.1.9-0.1          The Audiofile Library
ii  libc6                 2.1.3-10           GNU C Library: Shared =

libraries an
ii  libdb2                2:2.4.14-2.7.7.1.c The Berkeley database =

routines (ru
ii  libesd0               0.2.17-7           Enlightened Sound Daemon - =

Shared
ii  libgdk-pixbuf2        0.8.0-helix2       The GNOME GdkPixBuf =

library.
ii  libglib1.2            1.2.8-helix1       The GLib library of C =

routines
ii  libgnome32            1.2.4-helix3       The Gnome libraries
ii  libgnomesupport0      1.2.4-helix3       The Gnome libraries =

C'est le moment de développer sur le titre que vous avez entré plus tôt. Entre les lignes "Severity: normal" et "-- System Information", vous pouvez ajouter plus de détails ainsi que les conditions dans lesquelles le bogue apparaît. Tentez de reproduire le même bogue et décrivez plus précisement les étapes suivies pour le provoquer. Ceci aide les développeurs a traquer le bogue dans la partie de code ayant un mauvais fonctionnement. Dans des situations plus complexes, vous pouvez aussi préciser la sortie ou le comportement souhaités.

Finalement, le programme vous demande si vous voulez que le bogue soit envoyé par courrier électronique dans la liste des bogues. L'envoi arrêtera le processus. Vous venez simplement de faire quelque chose pour la communauté.

Et après?

Vous pouvez suivre le statut du bogue en visitant Debian Bug Track System et en choisissant le paquetage pour lequel vous avez signalé le bogue. (N'espérez pas que votre bogue apparaisse dans la liste dans les 24 heures.) Ensuite, vous attendez. Et avec un peu de chance, le bogue sera corrigé.

Il est vraiment dommage qu'il n'y ait pas encore d'interface graphique pour reportbug, mais maintenant, tous les utilisateurs Debian peuvent soumettre des bogues, indépendamment des fonctionnalités du système. Et une interface est facilement créée de nos jours. J'espère bien en voir une apparaître très bientôt!