Увага! Цей переклад дуже застарів, дивіться, будь ласка, оригінал.

Як повідомити про помилку в Debian за допомогою reportbug

Ми наполегливо рекомендуємо повідомляти про помилки в Debian за допомогою програми reportbug. Щоб встановити та запустити її просто виконайте:

# aptitude install reportbug
$ reportbug

Це допоможе вам пройти через процес надсилання повідомлення про помилку крок за кроком.

Якщо у вас виникли запитання, котрі неможливо вирішити за допомогою інтерактивних підказок reportbug, ви можете ознайомитись з наведеною нижче інформацією або запитати поради в списку розсилки користувачів Debian.

Як повідомити про помилку в Debian за допомогою електронної пошти (та розширене використання reportbug)

Важливі речі, які потрібно знати перед відсиланням повідомлення про помилку

До якого пакунку відноситься ваше повідомлення про помилку?

Вам потрібно знати на який пакунок потрібно оформити повідомлення про помилку. Перегляньте цей приклад, щоб дізнатись як можна знайти цю інформацію. (Ви будете використовувати цю інформацію, щоб дізнатись чи хтось вже надіслав повідомлення про цю помилку.)

Якщо ви не можете визначити до якого пакунку потрібно віднести ваше повідомлення про помилку, будь ласка, надішліть електронного листа з проханням поради до списку розсилки користувачів Debian.

На той випадок, коли ваша проблема відноситься не до одного конкретного пакунка, але до певної служби Debian в цілому, існує декілька псевдо-пакунків або відповідних списків розсилки, через які натомість ви маєте змогу доставити нам ваше повідомлення.

Чи хтось вже надсилав повідомлення про цю помилку?

Перед відсиланням потрібно впевнитись, що ніхто не надсилав повідомлення про цю помилку раніше. Щоб дізнатися про які помилки для конкретного пакунка вже було повідомлено, можна скористатись параметром пакунок (package) пошукової форми для помилок. Якщо існує відповідна помилка з певним номером #<номер>, надсилати повідомлення про нову помилку не варто. Натомість можна надіслати коментар за адресою <номер>@bugs.debian.org.

Для різних помилок надсилайте окремі повідомлення

Будь ласка, не варто групувати не пов'язані між собою помилки в одне повідомлення про помилку, особливо якщо вони відносяться до різних пакунків.

Не надсилайте повідомлення про помилки авторам програм.

Якщо ви надсилаєте повідомлення про помилку в Debian, не потрібно самостійно надсилати копію авторам програмного забезпечення, адже, можливо, ця помилка є актуальною лише для Debian. Супроводжувач пакунка перешле ваше повідомлення авторам, якщо в цьому буде потреба.

Відсилання повідомлення про помилку через електронну пошту

Повідомити про помилку в Debian можна, надіславши за адресою submit@bugs.debian.org електронну пошту в спеціальному форматі, котрий описується нижче. Програма reportbug (див. вище) вміє відповідним чином форматувати повідомлення, будь ласка, використовуйте її!

Заголовки

Як і для будь-якого електронного листа необхідно вказати ясну та змістовну тему (рядок Subject). Системою відслідковування помилок вказана вами тема буде використана як початкова назва даної помилки, тому, будь ласка, спробуйте зробити її якнайбільш інформативною!

Якщо ви хотіли б надіслати копію повідомлення про помилку іншим адресатам (наприклад, в списки розсилки), то для цього варто використовувати не звичайні поштові заголовки, а інший метод, описаний нижче.

Псевдо-заголовки

На початку повідомлення про помилку повинні знаходитись псевдо-заголовки з інформацією про те, до якого пакунка та версії відноситься це повідомлення. Першим рядком повідомлення повинен бути такий псевдо-заголовок:

Package: <назва_пакунка>

Замініть <назву_пакунка> на назву пакунка, в якому є помилка.

Другий рядок повідомлення повинен мати такий вигляд:

Version: <версія_пакунка>

Замініть <версію_пакунка> на версію пакунка. Будь ласка, в цьому місці не додавайте жодного тексту, окрім власне версії — на основі інформації з цього поля система відслідковування помилок визначає вразливі даною помилкою випуски.

В псевдо-заголовку потрібно вказати правильну назву пакунка (рядок Package), щоб система відслідковування помилок доставила повідомлення відповідному супроводжуючому. Щоб дізнатися, як можна знайти цю інформацію, перегляньте цей приклад.

Про інші дійсні псевдо-пакунки можна дізнатись, переглянувши розділ про Додаткові псевдо-пакунки.

Тіло повідомлення

Будь ласка, вкажіть у вашому повідомленні:

Додайте всі деталі, що здаються вам важливими — небезпека зробити ваше повідомлення надто довгим через надлишок інформації є дуже малою. Якщо файли, котрими ви користуєтесь для відтворення помилки, невеликого розміру — також додайте їх до свого звіту (якщо вони завеликі, то, по можливості, викладіть їх в публічний доступ на одному з веб-сайтів).

Знайти більше порад про те, як допомогти розробникам у вирішенні ваших проблем, можна, переглянувши сторінку Як ефективно повідомити про помилку.

Приклад повідомлення про помилку

Повідомлення про помилку з заголовками та псевдо-заголовками має приблизно такий вигляд:

  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.

Надсилання копій повідомлень про помилки за іншими адресами

Іноді виникає потреба відіслати копію повідомлення про помилку не лише за звичними адресами — debian-bugs-dist та супроводжувача пакунка.

Це можна було б зробити, помістивши інші адреси в поле CC, проте в такому випадку в полях Reply-To та Subject листів-копій не буде міститись номер повідомлення про помилку. Вочевидь, якщо адресати будуть надсилати відповіді, вони залишать в заголовку адресу submit@bugs.debian.org і їх лист буде прийнятий як нове повідомлення про помилку. Це призведе до дублювання значної кількості повідомлень.

Правильним способом зробити це є використання заголовку X-Debbugs-CC. Додайте рядок, подібний до цього, в будь-якому місці поштового заголовку вашого повідомлення:

 X-Debbugs-CC: other-list@cosmic.edu

Це змусить систему відслідковування помилок відіслати копію вашого повідомлення не лише в список debian-bugs-dist, але й за адресами, вказаними в рядку X-Debbugs-CC.

Уникайте відсилання таких копій на адреси інших повідомлень про помилку, оскільки вони будуть відкинуті перевірками попередження зациклювання поштових повідомлень. Відтак, очевидно, мало сенсу використовувати для цього X-Debbugs-CC, оскільки доданий за цим механізмом номер помилки все одно буде замінений на новий; натомість використовуйте звичайний CC-заголовок.< />

Цю можливість часто з користю можна поєднати з так званим тихим (quiet) відсиланням — детальніше про це йдеться нижче.

Додаткові псевдо-заголовки

Рівні важливості

Якщо повідомлення стосується надзвичайно серйозної помилки, або ж є простим побажанням додати ту чи іншу можливість, можна встановити рівень важливості помилки у вашому повідомленні. Проте, робити це не обов'язково і супроводжувач сам встановить відповідний рівень важливості, якщо ви цього не зробите (або неправильно оціните цей рівень).

Щоб встановити рівень важливості, помістіть у псевдо-заголовок рядок, подібний до наступного:

Severity: <важливість>

Замініть <важливість> на одне з можливих значень рівня важливості, як це описано в розширеній документації.

Встановлення позначок

До будь-якого повідомлення про помилку можна додавати позначки (tags). Наприклад, якщо ви до повідомлення додаєте латку, можливо, ви захочете встановити позначку patch. Проте, робити це не обов'язково і розробники самі встановлять необхідні позначки, якщо ви цього не зробите.

Щоб встановити позначки, помістіть у pseudo-header рядок, подібний до наступного:

Tags: <позначки>

Замініть <позначки> на одне або декілька з можливих значень, як це описано в розширеній документації. Якщо міток декілька — розділіть їх комами, пробілами або і тим і іншим.

User: <ім'я_користувача>
Usertags: <позначки_користувача>

Замініть <позначки_користувача> однією або декількома вашими позначками. Якщо таких декілька — розділіть їх комами, пробілами, або і тим і іншим одночасно. Щоб встановити позначку, що ідентифікує користувача, вкажіть lt;ім'я_користувача>. В іншому разі в якості імені користувача буде використовуватись адреса електронної пошти адресанта.

Forwarded: foo@example.com

позначає новонадіслану помилку, як перенаправлену на foo@example.com. Детальніше про це йдеться в розділі Адреса, на котру ви пересилаєте повідомлення про помилку документації для розробників.

Owner: foo@example.com

показує, що відповідальним за виправлення помилки на даний момент є foo@example.com. Детальніше про це йдеться в розділі Зміна відповідального за виправлення помилки документації для розробників.

Source: foopackage

еквівалент позначки Package: для помилок в джерельних пакунках відповідного пакунка; для більшості помилок в більшості пакунків вам не знадобиться ця опція.

Нарешті, якщо ваш MUA не дозволяє редагувати заголовки, ви можете встановити різні X-Debbugs- заголовки в псевдо-заголовках.

Додаткова інформація

Різні адреси надсилання повідомлень (для незначних або численних помилок)

Якщо повідомляється про незначну помилку, наприклад, недолік в документації або тривіальна проблема збірки, будь ласка, доберіть відповідний рівень важливості та відішліть повідомлення за адресою maintonly@bugs.debian.org, а не submit@bugs.debian.org. maintonly перешле це повідомлення тільки до супроводжувача пакунка, без пересилання до списку розсилки системи відслідковування помилок.

Якщо ви відсилаєте багато звітів одночасно, вам дійсно необхідно використовувати maintonly@bugs.debian.org, щоб не створювати багато надмірного трафіку в списку розсилки системи відслідковування помилок. Перед відсиланням багатьох схожих помилок ви також можете відіслати невеликий огляд в debian-bugs-dist.

Якщо ви хочете відіслати до системи відслідковування помилок повідомлення про помилку, яке вже було відіслане супроводжувачу, ви можете використати quiet@bugs.debian.org. Звіти, відіслані на quiet@bugs.debian.org нікуди не відсилаються, тільки зберігаються.

Якщо ви відсилаєте повідомлення про помилку за різними адресами, то система відслідковування помилок встановить поле Reply-To всіх повідомлень, що пересилаються, таким чином, щоб стандартні відповіді на них оброблялись так само, як і первинне повідомлення. Це означає, наприклад, що відповіді на повідомлення, відправлені на maintonly будуть надсилатись за адресою nnn-maintonly@bugs, а не nnn@bugs, за умови, що хтось не змінить це вручну.

Підтвердження

Зазвичай, система відслідковування помилок повертає підтвердження на вашу електронну пошту, що ви звітували про нову помилку або відсилали додаткову інформацію щодо відомої помилки. Щоб вимкнути таке підтвердження, включіть заголовок або псевдо-заголовок X-Debbugs-No-Ack до вашого листа (вміст цього заголовку не має значення). Якщо ви інформуєте про нову помилку таким способом, то вам доведеться самостійно відшукати номер помилки, використовуючи веб-інтерфейс.

Зверніть увагу, що цей заголовок не врятує від надходження підтвердження з поштового серверу control@bugs.debian.org, позаяк ці підтвердження можуть містити інформацію про недоліки повідомлень, яку вам необхідно буде переглянути та відповідним чином скоригувати свої дії.

Боротьба зі спамом та втрата пошти

Щоб унеможливити розсилання спаму через систему відслідковування помилок ми використовуємо вельми обширний набір правил. Хоча ми й прагнемо мінімізувати кількість неправильних спрацювань, такі все ж трапляються. Якщо ви підозрюєте, що ваш лист був помилково видалений, зверніться за допомогою до owner@bugs.debian.org. Іншою розповсюдженою причиною того, що пошта не потрапляє до системи відслідковування помилок є використання адрес електронної пошти, що співпадають з FROM_DAEMON команди procmail, таких наприклад як mail@foobar.com. Щоб пересвідчитись, що ваша адреса не співпадає з адресою FROM_DAEMON, перегляньте procmailrc(5) й перешліть листа з іншої, прийнятної адреси в разі виявлення проблем.

Повідомлення про помилку в невідомих пакунках

Якщо система відслідковування помилок не знає, хто є супроводжувачем даного пакунка, то повідомлення буде відіслане в debian-bugs-dist навіть за умови використання maintonly.

Якщо повідомлення відсилається на адресу maintonly@bugs.debian.org або nnn-maintonly@bugs.debian.org слід потурбуватись про те, щоб звіт про помилку був призначений правильному пакунку, помістивши на початку повідомлення вірне значення поля Package, або ж скористатись службою control@bugs.debian.org для (пере)визначення встановленого раніше значення, якщо воно виявилось неправильним.

Використання dpkg для визначення назви та версії пакунка для подальшого формування звіту

Сповіщаючи за допомогою reportbug про помилку в команді, скажімо grep, здійснити автоматичний вибір відповідного пакунка та почати написання повідомлення негайно можна, запустивши: reportbug --file $(which grep).

Також дізнатись до якого пакунка відноситься ця команда можна за допомогою dpkg --search. Версію пакунка можна визначити, запустивши dpkg --list або dpkg --status.

Наприклад:

$ 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
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  apt            0.3.19         Advanced front-end for dpkg
$ dpkg --status apt
Package: apt
Status: install ok installed
Priority: standard
Section: base
Installed-Size: 1391
Maintainer: APT Development Team <deity@lists.debian.org>
Version: 0.3.19
Replaces: deity, libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: libapt-pkg2.7
Depends: libapt-pkg2.7, libc6 (>= 2.1.2), libstdc++2.10
Suggests: dpkg-dev
Conflicts: deity
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
 /usr/doc/apt/guide.text.gz

Інші корисні команди та пакунки

Утиліта querybts, котра доступна з того ж самого пакунка, що й reportbug, представляє собою зручний текстовий інтерфейс до системи відслідковування помилок.

Користувачі Emacs також можуть скористатись командою debian-bug, котра забезпечується пакунком debian-el. Після виклику команди за допомогою M-x debian-bug, вона запитає всю необхідну інформацію схожим до reportbug способом.


Інші сторінки системи відслідковування помилок (BTS - Bug Tracking System):


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.