original in en Egon Willighagen
en to frIznogood
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.
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.
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 :)
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:
|
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é.
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!