Jak zgłosić błąd w Debianie przy użyciu reportbug

Usilnie zalecamy raportowanie błędów w Debianie przy użyciu programu reportbug. Aby go zainstalować i wystartować, wywołaj po prostu:

# aptitude install reportbug
$ reportbug

Program poprowadzi krok po kroku procedurę zgłaszania błędu.

Jeśli masz problemy, których nie rozwiązuje interaktywny interfejs reportbug, przejdź do dalszej części tej dokumentacji lub zapytaj na liście debian-user (w języku polskim na debian-user-polish).

Jak zgłosić błąd w Debianie przy użyciu poczty elektronicznej (oraz zaawansowane użycie reportbug)

Co trzeba wiedzieć przed wysłaniem raportu

Którego pakietu dotyczy raport

Powinieneś wiedzieć, którego pakietu raport dotyczy. Zobacz przykład, który ilustruje, jak zdobyć tę informację. Będziesz jej używał do sprawdzenia, czy Twój problem nie został już zgłoszony.

Jeśli nie potrafisz określić, do którego pakietu należy wysłać raport, wyślij maila na listę debian-user (po polsku na debian-user-polish) z zapytaniem o radę.

Jeśli Twój problem nie dotyczy jednego pakietu, ale ogólnie jakiejś funkcjonalności Debiana, możesz użyć różnych pseudopakietów lub list dyskusyjnych, aby go opisać.

Czy Twój problem nie został już zgłoszony?

Powinieneś sprawdzić przed wysłaniem raportu, czy Twój problem nie został już wcześniej zgłoszony. Możesz zobaczyć, jakie błędy zostały już zgłoszone do tego pakietu za pomocą opcji dotyczących pakietów formularza przeszukiwania systemu zgłoszeń błędów. Jeśli jest już raport odpowiadający Twojemu zgłoszeniu, z błędem o numerze #<numer>, powinieneś wysłać swój komentarz poprzez przesłanie maila na adres <numer>@bugs.debian.org, zamiast raportować nowy błąd.

Wysyłaj oddzielne raporty do kilku błędów

Prosimy nie raportować kilku niepowiązanych ze sobą błędów jednocześnie — zwłaszcza, jeśli dotyczą różnych pakietów — w pojedynczym raporcie.

Nie wysyłaj raportów autorom pierwotnym (upstream)

Jeśli zgłaszasz błąd w Debianie, nie wysyłaj kopii zgłoszenia do pierwotnego autora oprogramowania, gdyż być może ten błąd istnieje tylko w Debianie. Jeśli jest to konieczne, opiekun pakietu przekaże informację o błędzie autorowi.

Wysyłanie zgłoszenia błędu pocztą elektroniczną

Możesz raportować błędy w Debianie przez wysłanie maila na adres submit@bugs.debian.org, przy użyciu specjalnego formatu opisanego poniżej. reportbug (patrz powyżej) prawidłowo sformatuje Twojego maila; prosimy go używać!

Nagłówki

Jak każdy inny, mail powinien zawierać odpowiedni nagłówek Subject (temat). Podany przez Ciebie temat będzie początkowym tytułem zgłoszenia błędu, więc niech niesie ze sobą użyteczną informację!

Jeśli chcesz wysłać kopię raportu do innych odbiorców (np. na listę dyskusyjną), nie powinieneś używać zwykłych nagłówków pocztowych, ale innej metody, opisanej poniżej.

Pseudonagłówki

Początkową częścią raportu są pseudonagłówki, które zawierają informacje o pakiecie i jego wersji, której dotyczy raport. Pierwsza linia ciała wiadomości musi zawierać pseudonagłowek. Powinna ona wyglądać następująco:

Package: <nazwa_pakietu>

W miejsce napisu <nazwa_pakietu> wstaw nazwę pakietu, w którym znalazłeś błąd.

Druga linia wiadomości powinna wyglądać następująco:

Version: <numer_wersji>

W miejsce napisu <numer_wersji> wstaw wersję pakietu. Prosimy nie podawać tutaj żadnego innego tekstu, niż numer wersji, ponieważ System Śledzenia Błędów używa tego pola do ustalenia, do których wydań odnosi się błąd.

Należy podać poprawną nazwę pakietu w pseudo-nagłówku Package, aby system śledzenia błędów mógł dostarczyć wiadomość do opiekuna danego pakietu. Możesz zobaczyć przykład ilustrujący, jak odnaleźć nazwę odpowiedniego pakietu.

Inne możliwe pseudonagłówki są opisane w sekcji Dodatkowe pseudonagłówki.

Ciało raportu

W zgłoszeniu prosimy zamieścić:

Zamieść wszystkie szczegóły, które wydają się związane z daną sprawą — bardzo mało prawdopodobne jest, że Twoje zgłoszenie będzie za długie z powodu zbyt dużej ilości informacji. Jeśli pliki, których można by użyć w celu odtworzenia błędu są niewielkie, zamieść je również. (Jeśli są duże, rozważ zamieszczenie ich w internecie, w miejscu publicznie dostępnym.).

Przeczytaj dokument Jak zgłaszać błędy efektywnie, aby dowiedzieć się więcej o tym, jak pomóc deweloperom w rozwiązywaniu problemów.

Przykładowy raport o błędzie

Zgłoszenie błędu, razem z nagłówkiem i pseudonagłówkiem, powinno wyglądać mniej więcej tak (w języku angielskim):

  To: submit@bugs.debian.org
  From: diligent@testing.linux.org
  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.

Uwaga tłumacza: jeśli tylko to możliwe, postaraj się napisać zgłoszenie błędu w języku angielskim (chyba że wiesz, że opiekun pakietu zna język polski). Jeśli nie będziesz w stanie tego zrobić, poproś o pomoc, na przykład na liście debian-user-polish@lists.debian.org.

Wysyłanie kopii zgłoszeń błędów na inne adresy

Czasem konieczne jest wysłanie kopii zgłoszenia błędu gdzieś indziej niż na listę debian-bugs-dist i do opiekuna pakietu (zgłoszenie zwykle tam właśnie jest przekazywane).

Można by zrobić to wpisując pozostałe adresy do nagłówka CC zgłoszenia, ale wtedy w nagłówku Reply-To ani Subject pozostałych kopii nie pojawiłby się numer zgłoszenia. Przy odpowiedzi na zgłoszenie adresaci kopii prawdopodobnie zostawiliby jako adresata adres submit@bugs.debian.org, co spowodowałoby zapisanie ich listu jako nowego zgłoszenia. Prowadzi to do wielu zduplikowanych zgłoszeń.

Właściwym sposobem na wysłanie kopii jest użycie nagłówka X-Debbugs-CC. Dodaj linię podobną do następującej do nagłówków listu nowego zgłoszenia:

 X-Debbugs-CC: inna-lista@cosmic.edu

Spowoduje to, że system śledzenia błędów wyśle kopię Twojego zgłoszenia na adres inna-lista@cosmic.edu a także na listę debian-bugs-dist.

Unikaj wysyłania takich kopii na adresy innych zgłoszeń błędów, ponieważ zostaną one wyłapane przez oprogramowanie, które zapobiega zapętlaniu się wiadomości. Poza tym właściwie nie ma powodu, by używać X-Debbugs-CC w tym celu, ponieważ numer błędu nadawany przez ten mechanizm i tak będzie zastąpiony nowym; w zamian używaj zwykłego nagłówka CC.

Cechę tą można często wykorzystać w użyteczny sposób wysyłając zgłoszenie na adres quiet — patrz niżej.

Dodatkowe pseudonagłówki

Stopnie ważności

Jeśli zgłoszenie dotyczy szczególnie poważnego błędu lub jest tylko prośbą o nową opcję, możesz ustawić stopień ważności błędu przy jego zgłaszaniu. Nie jest to jednak konieczne, a opiekun pakietu ustawi odpowiedni, jeśli Ty tego nie zrobisz (lub zmieni błędnie podany).

Aby ustawić stopień ważności błędu, dodaj następujący pseudonagłówek:

Severity: <stopień_ważności>

W miejsce <stopień_ważności> wstaw angielską nazwę stopnia ważności. Są one opisane w dokumentacji dla zaawansowanych.

Dodawanie etykiet (tagów)

Możesz dodać do raportu tak zwaną etykietę - ang. tag Na przykład, jeśli dodajesz poprawkę do swojego raportu, mógłbyś dodać etykietę typu patch. Nie jest to jednak wymagane a deweloperzy dodadzą etykiety do Twojego raportu, gdy to będzie wymagane.

By dodać etykiety, dodaj linię taką jak ta do pseudo-nagłówka:

Tags: <tags>

Zastąp <tags> jedną z możliwych etykiet, tak jak opisano to w dokumentacji dla deweloperów. Rozdzielaj etykiety spacjami, przecinkami lub i spacją i przecinkiem (oboma).

User: <nazwa użytkownika>
Usertags: <tagi użytkownika>

Zastąp <usertags> przez jeden lub więcej tagów użytkownika. Separatorem może być przecinek, spacja lub oba. Jeśli podasz <user> (nazwę użytkownika), tagi zostaną zdefiniowane. W przeciwnym razie zostanie użyty aders maila jako nazwa.

Ustawianie stanu przekazany

Forwarded: foo@example.com

zaznaczy nowo zgłoszony błąd jako przesłany (forward) do foo@example.com. Zobacz Recording that you have passed on a bug report w dokumentacji dla deweloperów.

Deklarowanie odpowiedzialności

Owner: foo@example.com

zaznaczy, że foo@example.com jest teraz odpowiedzialny za naprawienie tego błędu. Szczegóły w Changing bug ownership w dokumentacji deweloperów.

Pakiet źródłowy

Source: foopackage

równoważnik Package: dla reprezentacji błędów w pakiecie źródłowym dla foopackage; dla większości błędów w większości pakietów nie trzeba używać tej opcji.

Komendy kontrolne

Control: komendy kontrolne

umożliwia zawarcie komend normalnie wysyłanych na adres control@bugs.debian.org także przy wysyłaniu wiadomości do submit@bugs.debian.org lub nnn@bugs.debian.org. -1 wskazuje na bieżący błąd (dokładnie to błąd utworzony przez maila wysłanego na adres submit@ lub błąd opisany numerem nnn@). Więcej informacji na temat dopuszczalnych komend w dokumentacji serwera kontroli.

Na przykład następujący pseudonagłówek w wiadomości wysłanej na adres 12345@bugs.debian.org:

Control: retitle -1 this is the title
Control: severity -1 normal
Control: summary -1 0
Control: forward -1 http://bugs.debian.org/nnn

spowoduje, że błąd 12345 będzie miał zmieniony tytuł, stopień ważności, podsumowanie oraz będzie oznaczony jako przekazany.

Nagłówki X-Debbugs-

I wreszcie, jeśli Twój MUA (klient poczty) nie pozwala na edycję nagłówków, możesz ustawić rozmaite nagłówki X-Debbugs- w pseudonagłówkach.

Informacje dodatkowe

Różne adresy zgłoszeń (zgłoszenia drobnych błędów lub zgłoszenia masowe)

Jeśli zgłaszany błąd jest drobny (na przykład literówka w dokumentacji lub trywialny błąd w budowie pakietu) prosimy ustawić odpowiednio stopień ważności błędu oraz przesłać zgłoszenie na adres maintonly@bugs.debian.org zamiast submit@bugs.debian.org. Wysłanie na adres maintonly spowoduje, że zgłoszenie zostanie przekazane tylko do opiekuna, a nie zostanie wysłane na żadną z list systemu śledzenia błędów.

Jeśli zgłaszasz wiele błędów na raz, z pewnością powinieneś użyć adresu maintonly@bugs.debian.org, aby nie powodować zbędnego ruchu na listach systemu śledzenia błędów. Przed zgłoszeniem wielu podobnych błędów należy też wysłać podsumowanie na listę debian-bugs-dist.

Jeśli chcesz zamieścić w systemie śledzenia zgłoszenie wysłane wcześniej do opiekuna, możesz użyć adresu quiet@bugs.debian.org. Zgłoszenia wysłane na ten adres nie zostaną nigdzie przekazane, jedynie zapisane w systemie.

Jeśli danego adresu zgłoszenia, system śledzenia błędów ustawi nagłówek Reply-To w przekazywanych wiadomościach tak, aby odpowiedzi na nie były przetwarzane w taki sam sposób jak oryginalne zgłoszenie. Znaczy to na przykład, że odpowiedzi na zgłoszenie maintonly trafią na adres nnn-maintonly@bugs.debian.org zamiast na nnn@bugs.debian.org, chyba że ktoś ręcznie zmieni adres.

Potwierdzenie

Normalnie system śledzenia błędów po zgłoszeniu błędu lub przesłaniu dodatkowych informacji odeśle do Ciebie potwierdzenie. Żeby zapobiec przesłaniu tego potwierdzenia umieść w swoim liście nagłówek lub pseudo-nagłówek X-Debbugs-No-Ack (zawartość tego nagłówka nie ma znaczenia). Jeśli użyjesz tego nagłówka przy zgłaszaniu nowego błędu, by dowiedzieć się jaki numer mu przyznano konieczne będzie sprawdzenie stron WWW.

Zwróć uwagę na to, że nie można wyłączyć potwierdzenia z serwera control@bugs.debian.org, ponieważ te wiadomości mogą zawierać informacje o błędach, a po ich przeczytaniu należy podjąć odpowiednie kroki w celu ich wyeliminowania.

Walka ze spamem i brakujące wiadomości

System śledzenia błędów stosuje dość szeroki wachlarz reguł mający na celu zablokowanie napływu spamu. Mimo że próbujemy ograniczyć ilość wiadomości nieprawidłowo zaklasyfikowanych jako spam, czasem się to jednak zdarza. Jeśli podejrzewasz, że Twoją wiadomość spotkał taki los, możesz poprosić o pomoc owner@bugs.debian.org. Inny częsty powód dla którego wiadomość może nie dotrzeć do systemu śledzenia błędów to adres nadawcy pasujący do reguły FROM_DAEMON programu procmail - na przykład mail@dome.na. W procmailrc(5) możesz sprawdzić, czy Twój adres podpada pod tą regułę i ewentualnie wysłać wiadomość z innego adresu.

Zgłoszenia błędów w nieznanych pakietach

Jeśli system śledzenia błędów nie wie kto jest opiekunem danego pakietu, przekaże zgłoszenie na listę debian-bugs-dist nawet jeśli użyto adresu maintonly.

Przy wysyłaniu na adres maintonly@bugs.debian.org lub nnn-maintonly@bugs.debian.org należy zwrócić uwagę na to, aby zgłoszenie było przyporządkowane do właściwego pakietu, dodając odpowiedni pseudo-nagłówek Package na początku zgłoszenia, lub używając usługi control@bugs.debian.org w celu zmiany ustawienia odpowiedniego pakietu.

Używanie dpkg w celu znalezienia pakietu i wersji do zgłoszenia

Jeśli używasz reportbug do wysłania raportu o błędzie w jakimś poleceniu, powiedzmy grep, następujące polecenie wybierze właściwy pakiet i pozwoli wysłać raport o błędzie w prawidłowy sposób: reportbug --file $(which grep)

Możesz też dowiedzieć się, który pakiet zainstalował to polecenie używając dpkg --search. Która wersja danego pakietu jest zainstalowana można sprawdzić przy pomocy dpkg --list lub dpkg --status.

Na przykład:

$ 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
Wybór=U=Nieznany/I=Instalacja/R=Usunięcie/P=Wyczyszczenie/H=Zatrzymanie
| Stan=N=Brak/I=Zainst./C=Skonfig./U=Rozpakowany/F=Nieskonfig./H=Wpół-zainst.
|/ Błędy?=(brak)/H=Wstrzym./R=Do przeinst./X=Obydwa (Stan,Błędy:wielk.lit.=źle)
||/ Nazwa              Wersja             Opis
+++-==================-==================-====================================================
ii  apt                0.6.46.4-0.1       Advanced front-end for dpkg
$ dpkg --status apt
Package: apt
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 4312
Maintainer: APT Development Team <deity@lists.debian.org>
Architecture: i386
Version: 0.6.46.4-0.1
Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: libapt-pkg-libc6.3-6-3.11
Depends: libc6 (>= 2.3.6-6), libgcc1 (>= 1:4.1.1-12), libstdc++6 (>= 4.1.1-12), debian-archive-keyring
Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2
Conffiles:
 /etc/cron.daily/apt f947beb92d709affb1cea7de275bea10
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 apt-doc.

Inne użyteczne polecenia i pakiety

Narzędzie querybts dostępne razem z pakietem reportbug, jest przyjaznym interfejsem tekstowym do systemu śledzenia błędów.

Użytkownicy Emacsa mogą używać polecenia debian-bug oferowanego przez pakiet debian-el. Wywołuje się go M-x debian-bug i pozwala ono podać wszelkie niezbędne informacje, podobnie jak reportbug.


Inne strony WWW systemu śledzenia błędów:


Debian BTS administrators <owner@bugs.debian.org>

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