BugTracking/BugzillaMiniHowto: различия между версиями

Материал из ALT Linux Wiki
м (removed freesource template)
м (→‎Ссылки: linux.com 404; chiark += ru; native egorfine link (same article))
Строка 129: Строка 129:
* [https://bugzilla.altlinux.org/docs/html/using.html Руководство по эксплуатации Bugzilla (en)]
* [https://bugzilla.altlinux.org/docs/html/using.html Руководство по эксплуатации Bugzilla (en)]
* [http://lib.custis.ru/Bugzilla О Bugzilla по-русски]
* [http://lib.custis.ru/Bugzilla О Bugzilla по-русски]
* [http://www.developers.org.ua/archives/egorfine/2008/04/03/effective-bug-reports/ Эффективные баг-репорты]
* [http://egorfine.com/ru/articles/effective-bugreports/ Эффективные баг-репорты]
* [http://www.linux.com/archive/articles/60678 A dozen tips for testing free software]
* [http://www.chiark.greenend.org.uk/~sgtatham/bugs-ru.html Как эффективно сообщать об ошибках] ([http://www.chiark.greenend.org.uk/~sgtatham/bugs.html How to Report Bugs Effectively])
* [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html How to Report Bugs Effectively]
* [https://bugs.eclipse.org/bugs/bugwritinghelp.html How to Write a Useful Bug Report]
* [https://bugs.eclipse.org/bugs/bugwritinghelp.html How to Write a Useful Bug Report]
* [http://developer.mozilla.org/en/docs/Bug_writing_guidelines Bug Writing Guidelines]
* [http://developer.mozilla.org/en/docs/Bug_writing_guidelines Bug Writing Guidelines]

Версия от 19:42, 13 ноября 2011


ALT Linux Bugzilla mini-HOWTO

Как театр начинает с вешалки, так и багзилла начинается с регистрации. Конечно же, всегда есть возможность зайти в театр, поглазеть на афиши идущих в этом сезоне спектаклей (поиск существующих багов в багзиле), но тогда пропадает самое главное достоинство — интерактивность происходящего. Напомню, что речь идет о театре, находящемся по адресу bugzilla.altlinux.org Внешний вид театра классический. Конечно, это не греческий амфитеатр, но в то же время сделан по образу и подобию многих таких же построек.

Скажу сразу, что вдаваться в подробности устройства театра «Глюкозавр» (c) pilot@ я не собираюсь, и рассказывать, что происходит за сценой — у меня цели тоже нет. Моя задача провести вас в зал, дать так сказать, контрамарку $)

Итак, коллективный дух взял верх или желание иметь отклик от систем перебороло лень.

Регистрация

Для тех, кто уже имеет постоянный именной абонемент, этот абзац скорее всего будет не интересен, и я предлагаю пропустить его, дабы не тратить драгоценное время. Остальным же сообщаю, что для регистрации в Bugzilla на главной странице присутствует линк с гордым именем Регистрация/New Account (самая нижняя строка, вторая справа ссылка слева от Вход в систему/Login). Все что нужно указать на появившейся странице по ссылке — это только реальный email (первое поле). Ну а дальше система вышлет на зарегистрированный электронный адрес письмо, в котором будет содержаться пароль. Пароль можно будет поменять при первом входе в систему (Команды: Параметры/Actions: Preferences).

Получив доступ в систему, можем смело действовать.

Поиск существующих ошибок

Итак, поищем описание проблемы среди имеющихся (регистрации не требует):

  • кликаем по ссылке Поиск/Search внизу страницы;
  • в появившейся форме выбираем продукт, например Sisyphus;
  • в поле Компонент/Component вводим название пакета, для которого ищем проблему (здесь тоже действует автодополнение);
  • в принципе на этом можно остановиться и нажать кнопку Поиск/Search. В этом случае мы получим полный список известных проблем для заданного пакета (компонента). Можно сузить список найденных проблем, задав определённый статус:
    • UNCONFIRMED — неподтвержденный,
    • NEW — новый,
    • RESOLVED — (раз)решённый,
    • CLOSED — закрытый,
    • REOPENED — открытый повторно,

и т. д. Это, несомненно, сократит количество найденных багов.

  • каждая страничка багрепорта похожа по своей структуре на плоский тред форума. То есть внутри может быть беседа одного, двух или более лиц по существу поставленной проблемы. Также там могут находится патчи и возможные (временные) исправления проблемы или предложения разработчику (имеются в виду не поздравления с днем рождения или другими праздниками, и не предложения утопиться в ближайшем пруду, а желание реализовать ту или иную недостающую функциональность).
  • если при попытке открыть багрепорт получаем Access Denied. You are not authorized to access bug #nnnn. — скорее всего, проблема или имеет отношение к безопасности и до сих пор не публична, или помечена как таковая по ошибке.

Если в списке найденных ошибок в разумный срок не нашлось то, чего нам нужно или о чем мы хотим поделиться с майнтейнером пакета — значит, нам нужно завести новую запись об ошибке.

Поиск ошибки по номеру

Еще одна разновидность поиска, поиск по номеру ошибки. Допустим вам пришло уведомление от глюко-робота, или же где-то на просторах интернета вы встретили упомнинание вида «#6629», со смысловым смещением (указанием) в стороную багзилы. В этом случае, достаточно ввести «магические цифры» (номер ошибки, 6629 в нашем примере) в поле в шапке или подвале страницы поле рядом с кнопкой Поиск/Search и нажать оную. Система сразу же переместит вас на страницу с описанием ошибки (если такая зарегистрирована).

Заведение нового бага

  • Жмём кнопку Зарегистрировать ошибку/New bug
  • Если логин (email)/пароль введены ещё не были, система спросит их и предложит выбрать раздел — вешаем ли мы баг на дистрибутивы, в нестабильную ветку или на неправильно работающий web-сайт ALT Linux. После этого выберем «продукт», на который вешаем баг. Под продуктом подразумеваются конкретная часть системы, как-то дистрибутив, Sisyphus, документация, переводы. Определившись, на что именно вешаем багу — выбираем нужный продукт. В некоторых разделах этот шаг отсутствует
  • Дальше заполняем поле Комопонент/Component (пакет, на который мы вешаем багу или конкретный web-сайт). Если компонентов в данном продукте мало — там будет выпадающий список, если много — поле ввода с автодополнением.
  • Следующее поле (Платформа/Platform) можно оставить без изменений, если только ваша ошибка не проявляется исключительно на 64-битной системе или на системе с процессорами ARM или PowerPC.
  • А вот поле Severity имеет глубинный смысл, значение которого хранит в себе сурьёзность заводимого сообщения об ошибке. Если сомневаетесь — оставьте Normal.
    • blocker — наиболее чреватые проблемами ошибки, включая серьёзные проблемы безопасности или функциональности;
    • critical — критичные для функционирования пакета;
    • major — выдающиеся относительно обычных;
    • normal — «обычные» (умолчание);
    • minor — незначительные, но тем не менее;
    • trivial — тривиальные в исправлении (например, опечатки в описании пакета или меню);
    • enhancement — не сообщение об ошибке, а предложение по улучшению.
  • Если ошибка касается безопасности — есть отдельная галочка Security group (злоупотреблять не стоит — баг можно направить в эту группу только при его открытии, а снять пометку могут только члены этой группы).
  • Заполняем поле Краткое описание/Summary. В этом поле можно в двух-трех-десяти словах (одним предложением) описать суть проблемы, чтобы легче было искать и ориентироваться другим пользователям глюкозавра. Принцип «краткость — сестра таланта» здесь действует как никогда.
  • Поле Подробное описание/Description подразумевает полное (детальное) описание проблемы.
  • Если все поля заполнены верно, то жмём кнопку Сохранить/Commit.

Скорее всего ошибка будет добавлена в базу и майнтейнер пакета будет уведомлен по электронной почте о неисправности в его пакете.

К существующему описанию ошибки можно добавить комментарий или прикрепить файл (патч, описание, пример). Майнтейнер в состоянии изменить статус ошибки (по мере необходимости или завершённости) или перенаправить её другому майнтейнеру. Пользователь может переоткрыть ошибку (изменить статус на REOPEN) в случае, если ошибка осталась или проявилась в новой версии или несколько версий спустя.

Информация о дальнейшей активности в рамках описанной или подписанной (полем Исполнитель/Assign to можно переложить ответственность на другого разработчика; для дополнения списка уведомляемых есть Подписка/Cc:) ошибки будет сваливаться на указанный при регистрации электронный адрес. Под активностью подразумевается изменение статуса ошибки, комментарии других пользователей, добавление патчей или текстовых файлов и т. д. (к слову, все это вы можете настроить по своему вкусу). Кого добавлять в список Сс: можно узнать, например, из Changelog пакета (например, если маинтейнером пакета является некая packaging team, то стоит добавить в Сс: несколько человек из неё). Но при этом указывать в поле Сс: нужно по формату <login@altlinux.org> (.ru не примется).

Закрытие бага

Майнтейнер пакета может исправить (или не исправить) ошибку и изменить её статус на RESOLVED (исправлена), при этом указывается способ исправления (resolution) ошибки:

  • FIXED — ошибка исправлена, как правило, исправлением исходных кодов или spec-файла.
  • NOTABUG — майнтейнер считает, что сообщение об ошибке некорректно (например, если это не баг, а фича).
  • WONTFIX — майнтейнер признал наличие ошибки, но по каким-то причинам не собирается ее исправлять. Также применяется для случаев, когда действительная ошибка осталась на пакете, который более не поддерживается в Sisyphus и по факту отсутствует в репозитории.
  • DUPLICATE — сообщение об ошибке является копией другой ранее внесенной в базу ошибки, майнтейнер должен указать ее номер.
  • WORKSFORME — майнтейнер не может воспроизвести ошибку и просит у пользователя дополнительную информацию.

Если исправление ошибки удовлетворило пользователя (например, он скачал обновлённую версию пакета и убедился в исправлении), пользователь должен изменить статус ошибки на CLOSED (закрыта). Если исправление не удовлетворило пользователя, он может переоткрыть ошибку, изменив статус на REOPEN.

К сожалению, пользователю трудно обнаруживать исправленные (FIXED), но не закрытые (CLOSED) ошибки, поскольку такие ошибки не обнаруживаются стандартным поиском «My bugs». Для обнаружения таких ошибок рекомендуется воспользоваться поиском по ошибкам, имеющим статус FIXED, или использовать гиперссылку в письме, которую вы получите после изменения майнтейнером статуса ошибки на FIXED.

Не вполне, но местами всё же применимый CV баги.

И напоследок, старайтесь пользоваться театром, не причиняя вреда и неудобства другим зрителям или актёрам. Актёр должен чувствовать себя комфортно на сцене, а зритель — в зале. Чем больше полезной информации донесёт зритель до актёра, тем больше вероятности, что актёр осчастливит зрителя свой блестящей игрой $)

В частности, если у вас проблема с каким-то пакетом, а не «вообще» — указывайте его версию.

И ещё — не вешайте баги «отсутствует перевод» или «ошибка в переводе», особенно если заметно что проблема в консерватории (ну то есть в дирекции театра :)). В этом случае лучше сделать перевод и прислать его разработчикам программы. Мантейнерам хватает забот, и не все они переводчики.

Полезности

Firefox/Mozilla bookmarklet

Закладка на панели, по клику на которую спрашивается номер бага для открытия.

Добавьте в букмарки (в папку «toolbar») такую ссылку (в одну строчку):

javascript:q = "" + (window.getSelection ? window.getSelection() : 
document.getSelection ? document.getSelection() : 
document.selection.createRange().text); 
if (!q) q = prompt("You didn't select any text.  Enter altbug id:", ""); 
if (q!=null) location=("https://bugzilla.altlinux.org/"+q); void 0

Firefox/Mozilla Internet Keyword

Переход к багу с номером NNN при вбивании в строку адреса altbug NNN либо всем багам пакета ABC по altbug ABC

Добавьте закладку со следующими параметрами:

  • Имя (Name): ALT Linux Bugzilla
  • Адрес (Location): https://bugzilla.altlinux.org/%s
  • Краткое имя (Keyword): altbug

Может также пригодиться расширение URL Alias, рекомендуемое legion@.

Opera Search Engine

Переход к багу с номером NNN при вбивании в строку адреса altbug NNN

Добавьте Search Engine Tools ▷ Preferences ▷ Search ▷ Add со следующими параметрами:

  • Имя (Name): ALT Linux Bugzilla
  • Краткое имя (Keyword): altbug
  • Адрес (Address): https://bugzilla.altlinux.org/%s

Opera Search Field

Поле ввода типа «google search» для перехода к багу по номеру

Добавьте Search Engine, созданный на предыдущем шаге, на любую панель инструментов: (Right Click) ▷ Customize ▷ Buttons ▷ Search. Перетащите «ALT Linux Bugzilla» в нужное вам место на панели инструментов.

Ссылки