<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <META NAME="GENERATOR" CONTENT="lfparser_2.8"> <META NAME="LFCATEGORY" CONTENT="Community"> <TITLE>lf171, Community: Wie man Bug-Reports für Debian 2.2 schreibt</TITLE> <!-- stylesheet added by lfparser: --> <style type="text/css"> <!-- pre { font-familiy:monospace,Courier } --> </style> </HEAD> <BODY bgcolor="#ffffff" text="#000000"> <!-- this is generated html code. NEVER use this file for your translation work. Instead get the file with the same article number and .meta.shtml in its name. Translate this meta file and then use lfparser program to generate the final article --> <!-- lfparser can be obtained from http://main.linuxfocus.org/~guido/dev/lfparser.html --> <MAP name="top"> <AREA shape="rect" coords="367,9,418,30" alt="Home" href="../index.shtml"> <AREA shape="rect" coords="423,9,457,30" alt="Map" href="../map.html"> <AREA shape="rect" coords="463,9,508,30" alt="Index" href="../indice.html"> <AREA shape="rect" coords="514,9,558,30" alt="Search" href="../Search/index.html"> </MAP> <MAP name="bottom"> <AREA shape="rect" coords="78,0,163,15" alt="News" href="../News/index.shtml"> <AREA shape="rect" coords="189,0,284,15" alt="Archives" href="../Archives/index.html"> <AREA shape="rect" coords="319,0,395,15" alt="Links" href="../Links/index.shtml"> <AREA shape="rect" coords="436,0,523,15" alt="About LF" href="../aboutus.html"> </MAP> <!-- IMAGE HEADER --> <CENTER> <IMG src="../../common/images/Topbar-de.gif" width="600" height="40" border="0" alt="[Top bar]" ismap usemap="#top" ><BR> <IMG src="../../common/images/Bottombar-de.gif" width="600" height="21" border="0" alt="[Bottom bar]" ismap usemap="#bottom"> </CENTER> <!-- SSI_INFO --> <!-- tr_staticssi include virtual --> <!-- tr_staticssi exec cmd --> <!-- addedByLfdynahead ver 1.5 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Dieses Dokument ist verfübar auf: <A href="../../English/September2000/article171.shtml">English</a> <A href="../../Castellano/September2000/article171.shtml">Castellano</a> <A href="../../Deutsch/September2000/article171.shtml">Deutsch</a> <A href="../../Francais/September2000/article171.shtml">Francais</a> <A href="../../Nederlands/September2000/article171.shtml">Nederlands</a> <A href="../../Russian/September2000/article171.shtml">Russian</a> <A href="../../Turkce/September2000/article171.shtml">Turkce</a> </FONT></TD></TR></TABLE><br> <!-- SHORT BIO ABOUT THE AUTHOR --> <TABLE ALIGN=LEFT BORDER=0 hspace=4 vspace=4 WIDTH="30%" > <TR> <TD> <!-- PALM DOC --> <TABLE BORDER=0 hspace=4 vspace=4> <TR> <TD> <font size=1> <a href="http://cgi.linuxfocus.org/cgi-bin/2pda"><img src="../../common/images/2doc.gif" width=34 align=left border=0 height=22 alt="convert to palm">Convert to PalmDoc</a></font> </TD> </TR> </TABLE> <!-- END PALM DOC --> <br> <IMG SRC="../../common/images/EgonWillighagen.jpg" ALT="[Photo of the Author]" HEIGHT=102 WIDTH=79> <BR>von <a href="mailto:egon.w@linuxfocus.org">Egon Willighagen</a> <BR><BR> <I>Über den Autor:</I><BR> <P>Egon Willighagen stieß im Jahre 1999 zum Niederländischen LF Team und wurde im folgenden Jahr Second Editor. Er studiert an der Universität von Nijmegen Chemie. Er spielt Basketball und wandert gerne. <BR><i>Inhalt</i>: <UL> <LI><A HREF="#lfindex0"> Die Debian Community</A></LI> <LI><A HREF="#lfindex1"> Wie man Bugs findet</A></LI> <LI><A HREF="#lfindex2"> ...und wie schreibt man nun Bug-Reports für Debian 2.2?</A></LI> <LI><A HREF="#lfindex3"> Was weiter?</A></LI> <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=171&lang=en">Talkback für diesen Artikel</A></LI> </UL> </TD></TR></TABLE> <!-- HEAD OF THE ARTICLE --> <H2> Wie man Bug-Reports für Debian 2.2 schreibt</H2> <IMG SRC="../../common/images/illustration171.jpg" ALT="[Illustration]" HSPACE=10 HEIGHT=100 WIDTH=100> <!-- ABSTRACT OF THE ARTICLE --> <P><i>Zusammenfassung</i>: <P> <P>Dieser Artikel beschreibt, was Debian User für die Community tun können: über Bugs berichten, wenn sie auf welche stoßen. Es wird erklärt, wie und warum man dies machen sollte. </P> <HR size="2" noshade align="right"><BR> <!-- BODY OF THE ARTICLE --> <A NAME="lfindex0"> </A> <H2> Die Debian Community</H2> <P><A HREF="http://www.debian.org/">Debian</A> ist vor allem eine Linux-Distribution, aber es ist auch eine Gemeinschaft, die versucht, für das beste frei verfügbare Betriebssystem (OS) zu sorgen. Doch wer ist Teil dieser Gemeinschaft? Die Entwickler sind natürlich sehr wichtig, doch die User ebenso. Wenn Debian nicht benutzt würde, würden die Entwickler ihre Arbeit einstellen. Und macht es Spaß, an Software zu arbeiten, die keiner benutzt? <P>Diese Entwickler arbeiten jedoch alle auf freiwilliger Basis. Im Gegensatz zu den Entwicklern von Redhat und Suse, bei denen eben diese Firmen eine Anzahl von Entwicklern beschäftigen, werden Debian Entwickler nicht bezahlt. Und das bedeutet, daß ihre zeitlichen Ressourcen für die Entwicklungsarbeit begrenzt sind. "Ok", magst du dich jetzt fragen, "doch was hat das mit mir zu tun?" Als User kannst du die Entwickler unterstützen, indem du Bugs im Programm mitteilst, auf die du gestoßen bist. <P>Debian Pakete können zwei Arten von Bugs haben. Die erste Art sind richtige Software-Fehler. Da die Debian Entwickler meistens nicht die Autoren der Software selbst sind (sondern sie machen ein Debian Paket daraus), werden sie zwar manchmal versuchen, den Fehler zu finden, doch noch öfter werden sie die Fehlermeldung an den Software-Autor weiterleiten. <P>Die zweite Art von Fehlern sind Bugs im Debian Paket oder Bugs in der Installationsprozedur für die Software, die sich auf das Debian System bezieht. Diese Fehler sind vom Debian Entwickler zu finden, und das kann ein sehr zeitraubender Prozess sein. <A NAME="lfindex1"> </A> <H2> Wie man Bugs findet</H2> <P>Bugs kommen in Software häufig vor. Doch die Entwickler müssen ein stabiles Debian System erarbeiten, und Bugs sind ganz sicher kein Teil davon. Sie lassen sich aber nicht leicht finden. Sonst wären sie wahrscheinlich schon entfernt worden. Sie können auf verschiedene Weisen entdeckt werden: <UL> <LI>die Software hängt sich auf</LI> <LI>sie zeigt ein unerwartetes Ergebnis/Verhalten</LI> <LI>durch einen Fehler in der Dokumentation</LI> </UL> <P>Wenn sich die Software aufhängt, ist der Fehler offensichtlich, viel schwieriger wird es, der Ursache auf die Spur zu kommen. Der zweite Fehlertyp ist noch schwieriger zu finden. Der Grund ist, daß der Autor/Entwickler nicht alle denkbaren Ergebnisse austesten kann. Ein Beispiel: nehmen wir ein Rechner-Programm. Der Autor kann verschiedene Verhaltensweisen testen: 1+1 muß 2 ergeben, 2*5 muß 10 ergeben, usw. Aber er kann nicht alle möglichen Summen und Multiplikationen testen. Er wird z.B. nicht 3456733256677*77782882355 prüfen. <P>Doch ein User wird das möglicherweise tun. User tuen Dinge mit der Software (und tuen der Software Dinge an), die sich der Autor niemals träumen ließ. Da die Zahl der User die Anzahl der Software-Autoren und Debian Entwickler bei weitem übersteigt, werden sie über wesentlich mehr Bugs stolpern. Doch all diese Fehler werden keine schweren Fehler sein, das System wird nicht zusammenbrechen, und die Daten werden nicht zerstört werden. In den meisten Fällen werden diese Fehler nicht einmal Unannehmlichkeiten verursachen, denn in der Regel können sie umgangen werden. <P>Und als Mitglied der Community hast du fast die moralische Verpflichtung, dem Debian Entwickler die Fehlermeldung zu posten, damit die Software stabiler gemacht werden kann. Dies zu tun, darum bittet dieser Artikel. (Natürlich wird niemand viele Fehler auf einem Debian System finden :) <A NAME="lfindex2"> </A> <H2> ...und wie schreibt man nun Bug-Reports für Debian 2.2?</H2> <p>Was ist so besonderes daran, einen Bug-Report für Debian zu schreiben? Ein Aspekt ist, daß Debian ein ausgefeiltes Bug-Report System hat. Mitgeteilte Bugs werden auf einem zentralen Debug-Server gespeichert. Das Programm <font face="COURIER NEW"> <reportbug></font> erleichtert diesen Prozeß und stellt etliche praktische Tools bereit. <P>Nehmen wir mal an, du hast einen Fehler in dem Programm <A HREF="http://www.debian.org/"> <font face="COURIER NEW"><dia></font></A> (mein Lieblings Diagramm-Editor) gefunden. Laß uns mal den ganzen Prozeß des Fehlermeldens durchexerzieren. (Der tatsächliche Fehler, den ich gefunden habe, war kein Debian-Bug, sondern ein Fehler in der eigentlichen Software, deshalb denke ich, daß der Debian Entwickler die Meldung an die Autoren weiterleiten wird.) <P>Ich gebe auf der Kommandozeile das folgende ein (ich habe keine hübsche GUI für dieses Programm gefunden.): <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=5 WIDTH="200" BGCOLOR="#F8DCA8" > <TR> <TD> <PRE>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:</PRE> </TD> </TR> </TABLE> <p>Laß uns ganze Arbeit machen und nicht eine dieser Kategorien angeben, sondern das eigentliche Paket. Dafür müssen wir die <font face="COURIER NEW"><reportbug></font>-Sitzung mit ^C (ctrl-C) abbrechen. Nun müssen wir das Paket finden, das die ausführbare Datei <font face="COURIER NEW"><dia></font> enthält. Wir gehen folgendermaßen vor: <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=5 WIDTH="200" BGCOLOR="#F8DCA8" > <TR> <TD> <PRE>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</PRE> </TD> </TR> </TABLE> <p>Aufgrund des letzten Kommandos sehen wir, daß die ausführbare Datei in dem Paket <font face="COURIER NEW"><dia></font> enthalten ist (wenn du nicht sicher bist, prüfe es mit <font face="COURIER NEW"><dpkg -l dia></font>). Beachte, daß <font face="COURIER NEW"><whereis></font> vier Dateien ausgibt. Die erste Datei ist ein Library, die letzte ein Verzeichnis, und die beiden mittleren sind ausführbare Dateien. Das Paket <font face="COURIER NEW"><dia></font> liefert nur die zweite ausführbare Datei, die Herkunft der ersten ausführbaren Datei ist mir unbekannt. <P>Nun kennen wir das Paket mit dem Bug, wir können also schnell prüfen, ob wir dieses Paket per Download (ftp/http) oder per CD/floppy geholt haben: <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=5 WIDTH="200" BGCOLOR="#F8DCA8" > <TR> <TD> <PRE>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)) libnpopt0 (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 (ull)) libxml1 (0 (null)) libz1 (0 (null)) xlib6g (2 3.3.5) gsfonts-x11 (0 (null)) Provides: 0.86-helix1 - 0.83-2 - Reverse Provides:</PRE> </TD> </TR> </TABLE> <p>Hierdurch sehen wir, daß die neueste Version (0.86-helix1) von <A HREF="http://www.helixcode.com">HelixCode</A> installiert wurde (um HelixGnome zu installieren, gib ein <font face="COURIER NEW"><echo "#HelixGnome Update\ndeb http://spidermonkey.helixcode.com/distributions/debian unstable main" >> /etc/apt/sources.list; apt-get update; apt-get install task-helix-gnome></font>). Dieser Fehler sollte nicht an den Debian Entwickler gesendet werden, sondern an den HelixGnome Debian Packer - dies geschieht aber <I>nicht</I> mit dem <font face="COURIER NEW"><reportbug></font>-tool. Für die Belange dieses Artikels laß uns aber annehmen, daß die Version 0.83-2 installiert sei, das ist das Debian 2.2 Paket von <font face="COURIER NEW"><dia></font> und wurde (in meinem Fall) von einem Niederländischen FTP Mirror downgeloaded. <P>Ok, wir wissen jetzt also, daß der Fehler in dem Paket <font face="COURIER NEW"><dia-0.83-2.deb></font> steckt, das von einer Debian FTP Site downgeloaded wurde. Fahren wir mit der Übertragung des Reports fort. Wenn du nicht online bist, kannst du die Option <font face="COURIER NEW"><-b></font> hinzufügen, um zu verhindern, daß das Programm das Debian Bug Tracking System (BTS) sucht. Wenn du das BTS checkst (sehr empfehlenswert), kannst du prüfen, ob dieser Fehler nicht bereits gefunden und mitgeteilt wurde. <P>Nachdem der Paket-Name eingegeben und das BTS konsultiert wurde, werden die Paket-Abhängigkeiten überprüft. Das ist sehr wichtig. Die Software baut auf Libraries auf, und Fehler können ihre Quelle in einem Versionskonflikt haben. Das ist eigentlich der häufigste Grund für Fehler. Für diese Überprüfung wird keine Benutzereingabe benötigt. <P>Als nächstes wird das Programm um eine kurze Beschreibung des Fehlers bitten. Diese Beschreibung wird als Titel benutzt und muß daher sowohl umfassend als auch knapp sein. Später kann der Fehler ausführlich beschrieben werden. In meinem Fall war der Titel <font face="COURIER NEW">"dia file format incorrectly uses dia namespace"</font>. Einzelheiten und nähere Erklärung folgen später. <P>Nun mußt du eine Einschätzung des Fehlers geben. Fünf Klassen sind möglich: <TABLE BGCOLOR="#000000" > <TR> <TD> <TABLE> <TR ALIGN=CENTER BGCOLOR="#008000" fgcolor="white"> <TD>severity</TD> <TD>description</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD>critical</TD> <TD><I>makes unrelated software on the system (or the whole system) break or causes serious data loss, or introduces a security hole on systems where you install the package.</I></TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD>grave</TD> <TD><I>makes the package in question unusable or mostly so, or causes data loss, or introduces a security hole allowing access to the accounts of users who use the package.</I></TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD>important</TD> <TD><I>any other bug which makes the package unsuitable for release.</I></TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD>normal</TD> <TD><I>the default value, used for more 'benign' bugs</I></TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD>wishlist</TD> <TD><I>for any feature request, and also for any bugs that are very difficult to fix due to major design considerations.</I></TD> </TR> </TABLE> </TD> </TR> </TABLE> <p>Wähle eine passende Einstufung aus. <font face="COURIER NEW"><Normal></font> ist die übliche Einstufung, und die meisten Bugs in Debian 2.2 fallen in diese Kategorie. Dies kommt aufgrund der ausgiebigen Test-Zyklen von Debian, bei denen das komplette System getestet wird, bevor es der Öffentlichkeit übergeben wird. Beachte auch, daß du Wünsche nach neuen Features mit <font face="COURIER NEW"><reportbug></font> übermitteln kannst, obwohl das natürlich keine Fehler sind. <P>Nachdem du die Einstufung gewählt hast, wird ein Editor gestartet, der all die Informationen zeigt, die bisher gesammelt wurden: <TABLE BORDER=0 CELLSPACING=5 CELLPADDING=5 WIDTH="200" BGCOLOR="#F8DCA8" > <TR> <TD> <PRE>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 </PRE> </TD> </TR> </TABLE> <p>Jetzt ist der Zeitpunkt gekommen, zu dem du die Angaben zum Titel näher ausführen kannst. Zwischen den Zeilen <font face="COURIER NEW"><Severity: normal></font> und <font face="COURIER NEW"><-- System Information></font> kannst du nähere Einzelheiten und Umstände zum Auftreten des Fehlers schildern. Versuche, den Fehler zu reproduzieren und genau zu beschreiben, welche Schritte du gemacht hast, bis du auf den Fehler gestoßen bist. Dies kann den Entwicklern helfen, auf der Spur zu dem Bug einen Teil schlecht funktionierenden Codes aufzuspüren. In komplexeren Situationen könntest du auch das erwartete Ergebnis oder Verhalten angeben. <P>Schließlich fragt dich das Programm, ob die Fehlermeldung zur Bug-List gemailt werden soll. Wenn der Report gesendet wird, ist der Prozess für's erste beendet. Du hast der Gemeinschaft gerade etwas zurückgegeben.</font> <A NAME="lfindex3"> </A> <H2> Was weiter?</H2> <p>Du kannst den Status des Bug-Reports verfolgen, indem du das <font face="COURIER NEW"><<A HREF="http://www.debian.org/Bugs/">Debian Bug Track System</A>></font> besuchst und das Paket auswählst, dem du den Report hinzugefügt hast. (Er wird aber frühestens nach 24 Stunden in dieser Liste auftauchen.) Und dann wartest du. Und hoffentlich wird der Bug bald repariert. <P>Leider gibt es noch kein graphisches User Interface für <font face="COURIER NEW"><reportbug></font>, doch jetzt kann ja jeder Debian User Bug-Reports mitteilen, unabhängig von der Funktionalität des Systems. Und ein Interface ist heutzutage schnell geschrieben. Ich bin sicher, bald eines zu sehen! <A NAME="talkback"> </a> <h2>Talkback für diesen Artikel</h2> Jeder Artikel hat seine eigene Seite für Kommentare und Rückmeldungen. Auf dieser Seite kann jeder eigene Kommentare abgeben und die Kommentare anderer Leser sehen: <center> <table border="0" CELLSPACING="2" CELLPADDING="1"> <tr BGCOLOR="#C2C2C2"><td align=center> <table border="3" CELLSPACING="2" CELLPADDING="1"> <tr BGCOLOR="#C2C2C2"><td align=center> <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=171&lang=en"><b> Talkback Seite </b></a> </td></tr></table> </td></tr></table> </center> <HR size="2" noshade> <!-- ARTICLE FOOT --> <CENTER><TABLE WIDTH="95%"> <TR><TD ALIGN=CENTER BGCOLOR="#9999AA"> <A HREF="../../common/lfteam.html">Die Redaktion</A> <BR><FONT COLOR="#FFFFFF">© Egon Willighagen, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT> <BR><a href="http://cgi.linuxfocus.org/cgi-bin/lfcomment?lang=de&article=article171.shtml" target="_TOP">Einen Fehler melden oder einen Kommentar an LinuxFocus schicken</A><BR></TD> <TD BGCOLOR="#9999AA"><!-- TRANSLATION INFO --> <font size=2>Autoren und Übersetzer:</font><TABLE> <tr><td><font size=2>en</font></td> <td><font size=2>-></font></td> <td><font size=2>--</font></td> <td><font size=2><a href="mailto:egon.w@linuxfocus.org"><FONT COLOR="#FFFFFF">Egon Willighagen</FONT></a></font></td> </tr> <tr><td><font size=2>en</font></td> <td><font size=2>-></font></td> <td><font size=2>de</font></td> <td><font size=2><a href="mailto:dieter.b@web.de"><FONT COLOR="#FFFFFF">Dieter Breitenstein</FONT></a></font></td> </tr> </TABLE></TD> </TR></TABLE></CENTER> <p><font size=1>2001-01-26, generated by lfparser version 2.8</font></p> </BODY> </HTML>