aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/articles/pr-guidelines/article.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/articles/pr-guidelines/article.xml')
-rw-r--r--ru_RU.KOI8-R/articles/pr-guidelines/article.xml1100
1 files changed, 0 insertions, 1100 deletions
diff --git a/ru_RU.KOI8-R/articles/pr-guidelines/article.xml b/ru_RU.KOI8-R/articles/pr-guidelines/article.xml
deleted file mode 100644
index b9baf5b16a..0000000000
--- a/ru_RU.KOI8-R/articles/pr-guidelines/article.xml
+++ /dev/null
@@ -1,1100 +0,0 @@
-<?xml version="1.0" encoding="koi8-r"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
- "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
-<!--
- The FreeBSD Russian Documentation Project
-
- $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/pr-guidelines/article.xml,v 1.4 2005/12/16 20:08:02 gad Exp $
-
- Original revision: r43184
--->
-<!--
- Problem Report Handling Guidelines
- The FreeBSD Project - http://www.FreeBSD.org
--->
-<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
- <!-- :START of Article Metadata -->
- <info><title>Рекомендации по работе с сообщениями о проблемах</title>
-
-
- <legalnotice xml:id="trademarks" role="trademarks">
- &tm-attrib.freebsd;
- &tm-attrib.opengroup;
- &tm-attrib.general;
- </legalnotice>
-
- <pubdate>$FreeBSD$</pubdate>
-
- <releaseinfo>$FreeBSD$</releaseinfo>
-
- <abstract>
- <para>Это руководство описывает рекомендуемую практику обработки
- сообщений об ошибках FreeBSD (Problem Reports - PR). Хотя эти
- рекомендации предназначены для Группы поддержки базы данных сообщений
- о проблемах FreeBSD (PR Database Maintenance Team)
- <email>freebsd-bugbusters@FreeBSD.org</email>, им должны следовать все,
- кто работает с этими сообщениями.</para>
- </abstract>
-
- <authorgroup>
- <author><personname><firstname>Dag-Erling</firstname><surname>Sm&oslash;rgrav</surname></personname></author>
-
- <author><personname><firstname>Hiten</firstname><surname>Pandya</surname></personname></author>
- </authorgroup>
- </info>
- <!-- :END of Article Metadata-->
-
- <section xml:id="intro">
- <title>Введение</title>
-
- <para>GNATS является системой управления неисправностями (сообщениями об
- ошибках), которая используется в Проекте FreeBSD. Так как тщательное
- отслеживание заметных изъянов в программном обеспечении важно для
- обеспечения качества FreeBSD, правильное использование GNATS необходимо
- для дальнейшего развития Проекта.</para>
-
- <para>Доступ к GNATS даётся разработчикам FreeBSD, а также более широкому
- сообществу. Для того, чтобы поддерживать целостность базы данных и
- единства работы с пользователями, были выработаны рекомендации,
- покрывающие общие вопросы управления проблемами, такие, как написание
- отклика, обработку уже закрытых вопросов и так далее.</para>
- </section>
-
- <section xml:id="pr-lifecycle">
- <title>Жизненный цикл сообщения о проблеме</title>
-
- <itemizedlist>
- <listitem>
- <para>Респондент посылает PR при помощи утилиты &man.send-pr.1; и
- получает подтверждающее сообщение.</para>
- </listitem>
-
- <listitem>
- <para>Среднестатистический коммиттер (Вася) проявляет интерес к PR и
- назначает его самому себе, или другой любитель ошибок (Петя) решает,
- что лучше всех с описанной проблемой справится именно Вася, и
- назначает её Васе.</para>
- </listitem>
-
- <listitem>
- <para>Вася связывается с Респондентом (при этом вся переписка должна
- фиксироваться) и выясняет причину появления проблемы. Затем он
- документирует причину в журнале аудита, и переводит PR в состояние
- <quote>analyzed</quote> (проанализировано).</para>
- </listitem>
-
- <listitem>
- <para>Вася проводит бессонную ночь и выпускает патч, который, по его
- мнению, решает означенную проблему, и затем посылает её ответом,
- прося Респондента протестировать его. Затем он переводит PR в
- состояние <quote>feedback</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Через несколько таких итераций Вася и Респондент удовлетворяются
- получающимся патчем, и Вася переносит его в дерево
- <literal>-CURRENT</literal> (или непосредственно в
- <literal>-STABLE</literal>, если этой проблемы в
- <literal>-CURRENT</literal> не наблюдается), при этом при выполнении
- коммита в сопутствующем сообщении делается ссылка на сообщение о
- проблеме (а также упоминается Респондент, если он предоставил весь или
- часть патча), и, если это нужно, начинается отсчёт для MFC.</para>
- </listitem>
-
- <listitem>
- <para>Если патчу не нужно выполнение MFC, Вася закрывает PR.</para>
- </listitem>
-
- <listitem>
- <para>Если патч требует выполнения MFC, Вася оставляет Сообщение о
- проблеме в состоянии <quote>patched</quote> до выполнения операции
- MFC, а затем закрывает его.</para>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Многие PR присылаются с очень слабым описанием проблемы, а
- некоторые из них либо очень сложно решить, либо являются вершиной
- айсберга другой, более широкой проблемы; в этих случаях очень важно
- получить всю информацию, требуемую для решения проблемы. Если
- описанная проблема не может быть решена, или проявится снова,
- необходимо повторно открыть PR.</para>
- </note>
-
- <note>
- <para>Адрес <quote>электронной почты</quote> может оказаться недоступным.
- В этом случае ответьте на PR обычным образом и попросите Респондента
- (в своём сообщении) предоставить рабочий адрес электронной почты.
- Обычно это происходит в случаях использования &man.send-pr.1; в
- системах с выключенной или неустановленной почтовой системой.</para>
- </note>
- </section>
-
- <section xml:id="pr-states">
- <title>Состояние сообщений о проблемах</title>
-
- <para>При выполнении некоторых действий очень важно обновлять состояние
- PR. Это состояние должно в точности отражать текущее состояние работы
- над PR.</para>
-
- <example>
- <title>Маленький пример того, когда именно нужно менять
- состояние PR</title>
-
- <para>Когда PR находится в работе и ответственный разработчик(и)
- удовлетворён получающимся решением, то он отвечает на PR и меняет его
- состояние на <quote>feedback</quote>. В этот момент Респондент должен
- изучить исправление в своей ситуации и ответить, действительно ли был
- устранён дефект.</para>
- </example>
-
- <para>Сообщение о проблеме может находится в одном из следующих
- состояний:</para>
-
- <glosslist>
- <glossentry>
- <glossterm>open</glossterm>
-
- <glossdef>
- <para>Начальное состояние; проблема была поставлена и её необходимо
- рассмотреть.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>analyzed</glossterm>
-
- <glossdef>
- <para>Проблема была рассмотрена, ищется её решение.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>feedback</glossterm>
-
- <glossdef>
- <para>Дальнейшая работа требует дополнительной информации от
- Респондента или сообщества; возможно помещение информации о
- предлагаемом решении.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>patched</glossterm>
-
- <glossdef>
- <para>Патч был перенесён в дерево исходных текстов, но
- что-то (выполнение MFC или, возможно, подтверждение Респондента)
- ещё требуется доделать.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>suspended</glossterm>
-
- <glossdef>
- <para>Работа над проблемой была остановлена из-за отсутствия
- информации или необходимых ресурсов. Это первый кандидат для
- тех, кто ищет проект для работы над ним. Если проблема вообще не
- может быть решена, она будет закрыта, а не приостановлена. Проект
- создания документации использует <quote>suspended</quote> для
- <quote>желательных</quote> нововведений, которые требуют
- значительной работы, для которой ни у кого пока нет времени.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>repocopy (устаревшее)</glossterm>
-
- <glossdef>
- <para>Решение проблемы зависит от завершения операции копирования
- репозитория (внутренние операции репозитория CVS).</para>
-
- <para>Учитывая то, что на данный момент все репозитории используют
- Subversion, в этом состоянии более нет необходимости. В Subversion
- изначально присутствуют операции копирования и перемещения
- файлов.</para>
- </glossdef>
- </glossentry>
-
- <glossentry>
- <glossterm>closed</glossterm>
-
- <glossdef>
- <para>Сообщение о проблеме было закрыто, когда все изменения были
- перенесены, задокументированы и протестированы, либо когда
- исправление проблемы было отвергнуто.</para>
- </glossdef>
- </glossentry>
- </glosslist>
-
- <note>
- <para>Состояние <quote>patched</quote> напрямую связано с предлагаемыми
- решениями, так что вы можете перейти сразу к состоянию
- <quote>closed</quote>, если Респондент не может протестировать патч,
- либо на ваших тестовых прогонах он работает.</para>
- </note>
- </section>
-
- <section xml:id="pr-types">
- <title>Типы сообщений о проблемах</title>
-
- <para>При обработке сообщений об ошибках, либо в качестве разработчика,
- имеющего непосредственный доступ к базе данных GNATS, либо в качестве
- контрибутора, который просматривает базу данных и посылает свои
- отклики с патчами, комментариями, пожеланиями или запросами на изменение,
- вы будете иметь дело с несколькими различными типами PR.</para>
-
- <itemizedlist>
- <listitem>
- <para><link linkend="pr-unassigned">Никому неназначенные
- PR.</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="pr-assigned">PR, которые уже кому-то
- назначены.</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="pr-dups">Повторы существующих PR.</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="pr-stale">Заброшенные PR</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="pr-misfiled">Некорректные PR</link></para>
- </listitem>
- </itemizedlist>
-
- <para>В последующих разделах описывается, для чего предназначены те или
- иные типы PR, условия отнесения PR к одному из этих типов, и какую
- обработку требует каждый из этих типов.</para>
-
- <section xml:id="pr-unassigned">
- <title>Неназначенные PR</title>
-
- <para>По прибытии сообщениям о проблемах устанавливаются общие
- назначения (generic assignee). Они всегда предваряются префиксом
- <literal>freebsd-</literal>. Точное название назначения (assignee)
- зависит от категории и в большинстве случаев оно соответствует
- определенному списку рассылки &os;. Далее следует текущий перечень
- назначений (assignee), составленный в порядке от общих к
- частным:</para>
-
- <table xml:id="default-assignees-common">
- <title>Назначения по умолчанию &mdash; наиболее
- общие</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Тип</entry>
- <entry>Категория</entry>
- <entry>Назначение по умолчанию</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>базовая система</entry>
- <entry>bin, conf, gnu, kern, misc</entry>
- <entry>freebsd-bugs</entry>
- </row>
-
- <row>
- <entry>специфичные для архитектуры</entry>
- <entry>alpha, amd64, arm, i386, ia64, powerpc, sparc64</entry>
- <entry>freebsd-<replaceable>arch</replaceable></entry>
- </row>
-
- <row>
- <entry>коллекция портов</entry>
- <entry>ports</entry>
- <entry>freebsd-ports-bugs</entry>
- </row>
-
- <row>
- <entry>документация, поставляемая с системой</entry>
- <entry>docs</entry>
- <entry>freebsd-doc</entry>
- </row>
-
- <row>
- <entry>страницы сайта &os; (за исключением документации)</entry>
- <entry>www</entry>
- <entry>freebsd-www</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table xml:id="default-assignees-other">
- <title>Назначения по умолчанию &mdash; остальные</title>
-
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Тип</entry>
- <entry>Категория</entry>
- <entry>Назначение по умолчанию</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>в защиту &os; (advocacy efforts)</entry>
- <entry>advocacy</entry>
- <entry>freebsd-advocacy</entry>
- </row>
-
- <row>
- <entry>проблемы с &java.virtual.machine;</entry>
- <entry>java</entry>
- <entry>freebsd-java</entry>
- </row>
-
- <row>
- <entry>соответствие стандартам</entry>
- <entry>standards</entry>
- <entry>freebsd-standards</entry>
- </row>
-
- <row>
- <entry>тредовые библиотеки</entry>
- <entry>threads</entry>
- <entry>freebsd-threads</entry>
- </row>
-
- <row>
- <entry>подсистема &man.usb.4;</entry>
- <entry>usb</entry>
- <entry>freebsd-usb</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>Не удивляйтесь, если обнаружите, что автор PR присвоил ему
- неправильную категорию. Если вы исправите категорию, то не забудьте
- также подправить и назначение. (В частности, для посылающих PR
- является трудностью понять, что если проблема возникает на системе
- с архитектурой i386, то она также может быть общей для всех
- архитектур &os;, и поэтому более подходящей будет категория
- <literal>kern</literal>. Несомненно, обратное также
- справедливо).</para>
-
- <para>Назначения некоторых PR могут быть переопределены из общих любым
- лицом, имеющим соответствующие привилегии. Существует несколько типов
- назначений: специализированные списки рассылки; почтовые алиасы
- (расширяемые в списки электронных адресов заинтересованных людей)
- и назначения отдельным лицам.</para>
-
- <para>Если назначением является список рассылки, пожалуйста,
- выполняя переназначение, используйте длинную форму
- (например, <literal>freebsd-foo</literal> вместо
- <literal>foo</literal>); благодаря этому сообщение, посылаемое
- в список рассылки, не будет дублироваться.</para>
-
- <note>
- <para>Так как список лиц добровольно согласившихся принимать
- назначения для некоторых типов PR изменяется часто, то наиболее
- подходящим местом для его размещения является <link xlink:href="http://wiki.freebsd.org/AssigningPRs">FreeBSD wiki</link>.
- </para>
- </note>
-
- <para>Ниже приведен (возможно, неполный) перечень назначений.</para>
-
- <table xml:id="common-assignees-base">
- <title>Общие назначения &mdash; базовая система</title>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Тип</entry>
- <entry>Предполагаемая категория</entry>
- <entry>Предполагаемое назначение</entry>
- <entry>Тип назначения</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>проблема, специфичная для архитектуры &arm;</entry>
- <entry>arm</entry>
- <entry>freebsd-arm</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема, специфичная для архитектуры &mips;</entry>
- <entry>kern</entry>
- <entry>freebsd-mips</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема, специфичная для архитектуры &powerpc;</entry>
- <entry>kern</entry>
- <entry>freebsd-ppc</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с Advanced Configuration and Power
- Management (&man.acpi.4;)</entry>
- <entry>kern</entry>
- <entry>freebsd-acpi</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с драйверами ATM</entry>
- <entry>kern</entry>
- <entry>freebsd-atm</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с встраиваемой системой или минимальным
- дистрибутивом &os; (например,
- NanoBSD/PicoBSD/FreeBSD-arm)</entry>
- <entry>kern</entry>
- <entry>freebsd-embedded</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с драйверами &firewire;</entry>
- <entry>kern</entry>
- <entry>freebsd-firewire</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема в исходном коде файловой системы</entry>
- <entry>kern</entry>
- <entry>freebsd-fs</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с подсистемой &man.geom.4;</entry>
- <entry>kern</entry>
- <entry>freebsd-geom</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с подсистемой &man.ipfw.4;</entry>
- <entry>kern</entry>
- <entry>freebsd-ipfw</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с драйверами ISDN</entry>
- <entry>kern</entry>
- <entry>freebsd-isdn</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>подсистема &man.jail.8;</entry>
- <entry>kern</entry>
- <entry>freebsd-jail</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с эмуляцией &linux; или SVR4</entry>
- <entry>kern</entry>
- <entry>freebsd-emulation</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с сетевым стеком</entry>
- <entry>kern</entry>
- <entry>freebsd-net</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с подсистемой &man.pf.4;</entry>
- <entry>kern</entry>
- <entry>freebsd-pf</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с подсистемой &man.scsi.4;</entry>
- <entry>kern</entry>
- <entry>freebsd-scsi</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с звуковой подсистемой (&man.sound.4;)</entry>
- <entry>kern</entry>
- <entry>freebsd-multimedia</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с подсистемой &man.wlan.4; или с драйвером
- беспроводного устройства</entry>
- <entry>kern</entry>
- <entry>freebsd-wireless</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с &man.sysinstall.8; или
- с &man.bsdinstall.8;</entry>
- <entry>bin</entry>
- <entry>freebsd-sysinstall</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с системными стартовыми скриптами
- (&man.rc.8;)</entry>
- <entry>kern</entry>
- <entry>freebsd-rc</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблемы в работе VIMAGE, VNET, или проблемы
- в их коде</entry>
- <entry>kern</entry>
- <entry>freebsd-virtualization</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>проблема с эмуляцией Xen</entry>
- <entry>kern</entry>
- <entry>freebsd-xen</entry>
- <entry>список рассылки</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <table xml:id="common-assignees-ports">
- <title>Общие назначения &mdash; коллекция портов</title>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Тип</entry>
- <entry>Предполагаемая категория</entry>
- <entry>Предполагаемое назначение</entry>
- <entry>Тип назначения</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>проблема с инфраструктурой системы портов
- (<emphasis>не</emphasis> с конкретным портом!)</entry>
- <entry>ports</entry>
- <entry>portmgr</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер apache@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>apache</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер autotools@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>autotools</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер doceng@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>doceng</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер eclipse@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-eclipse</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер gecko@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>gecko</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер gnome@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>gnome</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер hamradio@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>hamradio</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер haskell@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>haskell</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер java@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-java</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер kde@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>kde</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер mono@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>mono</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер
- office@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-office</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер perl@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>perl</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер python@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-python</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер ruby@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-ruby</entry>
- <entry>список рассылки</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер secteam@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>secteam</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер box@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>vbox</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>порт, у которого мейнтейнер x11@FreeBSD.org</entry>
- <entry>ports</entry>
- <entry>freebsd-x11</entry>
- <entry>список рассылки</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>PR для портов, у которых мейнтейнером является коммиттер порта,
- могут быть переназначены любым лицом (только учтите, что не каждый
- &os; коммиттер в обязательном порядке является коммиттером портов,
- поэтому вы не должны судить только по почтовому адресу).</para>
-
- <para>Для остальных PR, пожалуйста не переназначайте их другим людям
- (за исключением себя), если вы не уверены, что человек действительно
- будет работать над ними. Это поможет избежать ситуации, когда решение
- проблемы игнорируется другими людьми, так как подразумевается, что
- некто уже над ней работает.</para>
-
- <table xml:id="common-assignees-other">
- <title>Общие назначения &mdash; остальные</title>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Тип</entry>
- <entry>Предполагаемая категория</entry>
- <entry>Предполагаемое назначение</entry>
- <entry>Тип назначения</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>неполадки с самой GNATS(&man.send-pr.1;)</entry>
- <entry>bin</entry>
- <entry>bugmeister</entry>
- <entry>алиас</entry>
- </row>
-
- <row>
- <entry>неполадки с веб интерфейсом GNATS</entry>
- <entry>www</entry>
- <entry>bugmeister</entry>
- <entry>алиас</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section xml:id="pr-assigned">
- <title>Назначение PR</title>
-
- <para>Если в PR в заполненном поле <literal>responsible</literal> указано
- имя разработчика FreeBSD, это значит, что PR взята этим человеком для
- дальнейшей работы.</para>
-
- <para>Уже назначенное PR не должно трогаться никем, кроме администраторов
- GNATS (bugmeister) и того, кому эта проблема назначена. Если у вас
- есть комментарии, напишите отклик. Если по какой-то причине вы
- думаете, что PR должна изменить своё состояние или её необходимо
- назначить кому-то другому, пошлите сообщение тому, кто назначен
- ответственным. Если этот человек не ответит в течение двух недель,
- смените назначение PR, а дальше действуйте по своему усмотрению.</para>
- </section>
-
- <section xml:id="pr-dups">
- <title>Повторные PR</title>
-
- <para>Если вы обнаружите, что один и тот же вопрос описывается более чем
- в одном PR, выберите то, что содержит максимальный объём полезной
- информации и закройте все остальные, чётко указав номер более полного
- PR. Если несколько PR содержат не пересекающуюся информацию,
- перенесите всю недостающую информацию в какой-либо отклик, включая
- ссылки на остальные PR; затем закройте другие PR (которые теперь
- полностью перекрыты).</para>
- </section>
-
- <section xml:id="pr-stale">
- <title>Просроченные PR</title>
-
- <para>PR считается простроченным, если оно не модифицировалось в течение
- более полугода. При обработке просроченных PR используйте следующую
- процедуру:</para>
-
- <itemizedlist>
- <listitem>
- <para>Если PR достаточно подробна, попытайтесь воспроизвести проблему
- в дереве <literal>-CURRENT</literal> и <literal>-STABLE</literal>.
- Если вам это удалось, напишите отклик, описывающий ваши изыскания
- и попытайтесь найти кого-то, кому эту проблему можно назначить.
- Если это подходит, измените состояние
- на <quote>analyzed</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Если PR описывает проблему, которая, как вы знаете, является
- результатом неправильного использования (некорректная настройка или
- что-то ещё), напишите отклик, в котором опишите, что автор
- исходного сделал не так, а затем закройте PR с описанием
- <quote>User error</quote> или <quote>Configuration
- error</quote>.</para>
- </listitem>
-
- <listitem>
- <para>Если в PR описывается ошибка, которая, как вы знаете, была
- исправлена как в <literal>-CURRENT</literal>, так и
- <literal>-STABLE</literal>, закройте его с сообщением, указывающим
- на даты исправлений в каждой ветке.</para>
- </listitem>
-
- <listitem>
- <para>Если PR описывает ошибку, которая, по вашим данным, была
- исправлена в <literal>-CURRENT</literal>, но не в
- <literal>-STABLE</literal>, попытайтесь выяснить, когда человек,
- исправивший эту ошибку, планирует выполнить MFC, либо попробуйте
- найти для этого кого-то ещё (может, это будете вы сами?). Измените
- состояние сообщения на <quote>patched</quote> и переназначьте его
- кому-либо, кто будет делать MFC.</para>
- </listitem>
-
- <listitem>
- <para>В остальных случаях запросите у автора исходного сообщения
- подтверждения того, что проблема всё ещё присутствует в новых
- версиях. Если автор не отвечает в течение месяца, закройте PR с
- пометкой <quote>Feedback timeout</quote>.</para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section xml:id="pr-misfiled">
- <title>Незаполненные PR</title>
-
- <para>GNATS требовательно подходит к формату присылаемых сообщений об
- ошибках. Вот почему много PR заканчивают жизнь в состоянии
- <quote>misfiled</quote>, если посылающий забыл заполнить поле или
- ввёл неправильные данные в некоторые поля PR. Этот раздел поможет
- предоставить основной объём необходимых подробностей для разработчиков
- FreeBSD, который может помочь им закрыть или повторно заполнить
- эти PR.</para>
-
- <para>Если система GNATS не может понять, что делать с сообщением об
- ошибке, которое достигло базы данных, она определяет
- <literal>gnats-admin</literal> в качестве ответственного за PR и
- помещает сообщение в категорию <literal>pending</literal>. Теперь это
- PR в состоянии <quote>misfiled</quote> и оно не будет появляться в
- списках сообщений об ошибках, если только кто-то специально не запросит
- перечень всех незаполненных PR. Если у вас есть доступ к машинам в
- кластере FreeBSD, можете воспользоваться командой
- <command>query-pr</command> для просмотра списка PR, которые были
- некорректно сформированы:</para>
-
- <screen>&prompt.user; <userinput>query-pr -x -q -r gnats-admin</userinput>
- 52458 gnats-ad open serious medium Re: declaration clash f
- 52510 gnats-ad open serious medium Re: lots of sockets in
- 52557 gnats-ad open serious medium
- 52570 gnats-ad open serious medium Jigdo maintainer update</screen>
-
- <para>Как правило, PR вроде перечисленных выше оказываются незаполненными
- по одной из следующих причин:</para>
-
- <itemizedlist>
- <listitem>
- <para>Отклик на существующее PR, посланный по электронной почте,
- имеет неверный формат заголовка <literal>Subject:</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Автор PR отправил копию (Cc:) в список рассылки, а кто-нибудь
- ответил на этот пост вместо сообщения, сформированного GNATS.
- В копии, отосланной в список рассылки, нету тега категория/PRномер.
- (Вот почему мы рекомендуем посылающим <emphasis>не</emphasis>
- делать подобных движений).</para>
- </listitem>
-
- <listitem>
- <para>При заполнении шаблона &man.send-pr.1; посылающий забыл указать
- правильное значение для категории или класса PR.</para>
- </listitem>
-
- <listitem>
- <para>При заполнении шаблона &man.send-pr.1; посылающий установил
- значение поля Confidential в <literal>yes</literal>. (Так как
- мы позволяем каждому зеркалировать GNATS при помощи
- <application>rsync</application>, информация о PR-ах является
- общедоступной. Сообщения, касающиеся безопасности, не следует
- слать через GNATS, их необходимо отправлять на адрес команды
- офицеров безопасности).</para>
- </listitem>
-
- <listitem>
- <para>Это не реальное PR, а какое-то случайное сообщение, посланное
- на адрес <email>bug-followup@FreeBSD.org</email> или
- <email>freebsd-gnats-submit@FreeBSD.org</email>.</para>
- </listitem>
- </itemizedlist>
-
- <section xml:id="pr-misfiled-followups">
- <title>Отклики неправильно оформлены как новые PR</title>
-
- <para>К наиболее массовой категории неправильно оформленных PR
- относятся те, у которых неверна тема письма, и именно они на самом
- деле требует самых больших усилий от разработчиков. Это не настоящие
- PR, описывающие отдельные ошибки. Когда по одному из адресов,
- который <quote>прослушивает</quote> GNATS на предмет обработки
- входящих сообщений, принимается ответ на существующее PR, то тема
- ответа должна быть всегда в таком виде:</para>
-
- <programlisting>Subject: Re: category/number: старая тема</programlisting>
-
- <para>Большинство почтовых программ, когда вы отвечаете на оригинальное
- почтовое сообщение с PR, будут добавлять часть
- <quote><literal>Re:&nbsp;</literal></quote>. Часть
- <quote><literal>category/number:&nbsp;</literal></quote> является
- соглашением, специфичным для GNATS, которое вы должны выполнить,
- вручную поставив его в тему письма с откликом.</para>
-
- <para>Все разработчики FreeBSD, имеющие прямой доступ к базе данных
- GNATS, могут регулярно проверять наличие таких PR и перемещать
- заинтересовавшие их в отклики к оригинальному PR (послав корректный
- отклик на сообщение об ошибке на адрес
- &a.bugfollowup;). Затем неправильно
- оформленное PR может быть закрыто с примерно таким пояснением:</para>
-
- <programlisting>Your problem report was misfiled. Please use the format
-"Subject: category/number: original text" when following
-up to older, existing PRs. I've added the relevant bits
-from the body of this PR to kern/12345</programlisting>
-
- <para>Поиск по команде <command>query-pr</command> оригинального PR,
- на которое отвечает неправильно оформленный отклик, легко выполняется
- следующим образом:</para>
-
- <screen>&prompt.user; query-pr -q -y "some text"</screen>
-
- <para>После того, как вы обнаружили оригинальное PR и неправильно
- оформленный отклик на него, воспользуйтесь параметром
- <option>-F</option> команды <command>query-pr</command> для
- сохранения полного текста всех относящихся к делу PR в файле формата
- почтового ящика &unix;, то есть:</para>
-
- <screen>&prompt.user; <userinput>query-pr -F 52458 52474 &gt; mbox</userinput></screen>
-
- <para>Теперь вы можете использовать любую почтовую программу для
- просмотра всех PR, которые вы сохранили в файле
- <filename>mbox</filename>. Скопируйте текст всех неверно оформленных
- PR в отклике на оригинальное сообщение о проблеме, и обязательно
- включите правильный заголовок <literal>Subject:</literal>. После
- этого закройте неверно оформленное PR. Когда вы закрываете такие PR,
- помните, что автор получает оповещение по почте о том, что его PR
- сменило состояние на <quote>closed</quote>. В пояснении обязательно
- описывайте в подробностях, почему это состояние изменилось. Обычно
- подойдёт примерно следующий текст:</para>
-
- <programlisting>Followup to ports/45364 misfiled as a new PR.
-This was misfiled because the subject did not have the format:
-
- Re: ports/45364: ...</programlisting>
-
- <para>В этом случае автор неправильно оформленного PR будет знать,
- чего необходимо избегать при отправке отклика на существующее
- PR.</para>
- </section>
-
- <section xml:id="pr-misfiled-format">
- <title>Некорректные PR с отсутствующими полями</title>
-
- <para>Ко второму типу неправильно оформленных PR обычно относят те,
- что являются результатом забывчивости авторов, которые не заполнили
- все необходимые поля при написании первоначального PR.</para>
-
- <para>Отсутствие или ошибочное задание полей <quote>category</quote>
- или <quote>class</quote> может привести к появлению некорректного
- сообщения. Разработчики могут использовать &man.edit-pr.1; для смены
- значений категории или класса этих неправильно оформленных PR на
- более подходящие и сохранить PR.</para>
-
- <para>Другой распространённой причиной появления неправильно
- оформленных PR являются вопросы форматирования, квотирование,
- изменение или удаление шаблона <command>send-pr</command>, как по
- вине пользователя, редактирующего шаблон, так и почтовых программ,
- которые проделывают странные вещи с обычными текстовыми сообщениями.
- Это изредка случается и может быть исправлено программой
- <command>edit-pr</command>, что требует некоторых усилий со стороны
- разработчика, корректирующего PR, однако в большинстве случаев
- это можно сделать относительно легко.</para>
- </section>
-
- <section xml:id="pr-misfiled-notpr">
- <title>Неправильные PR, которые на самом деле не являются сообщениями
- об ошибках</title>
-
- <para>Иногда пользователь желает сообщить об ошибке и посылает GNATS
- по электронной почте обычное сообщение. Скрипты GNATS работает с
- сообщениями об ошибках, которые форматированы при помощи шаблона
- &man.send-pr.1;. Они не могут обрабатывать любые сообщения
- электронной почты. Вот почему сообщения об ошибках, посылаемые на
- адрес <email>freebsd-gnats-submit@FreeBSD.org</email>, должны
- быть оформлены по шаблону команды <command>send-pr</command>, хотя
- сообщения по электронной почте можно послать на &a.bugs;.</para>
-
- <para>Разработчики, которые видят PR, выглядящие так, будто они должны
- были быть посланы в адрес &a.bugs.name; или какого-то другого
- списка рассылки, должны закрыть PR, проинформировав его автора в
- протоколе изменения состояния о причинах, по которых это не является
- настоящим PR и куда следует посылать сообщения.</para>
-
- <para>Электронный адрес, который использует GNATS для приёма
- поступающих PR, опубликован в документации к FreeBSD, объявлялся и
- указан на Web-сайте. Это значит, что спамеры его увидели.
- Спам-сообщения, достигшие GNATS, немедленно определяются в категорию
- <quote>pending</quote> и остаются там до тех пор, пока кто-нибудь
- их не пересмотрит. Закрытие любого из таких сообщений при помощи
- &man.edit-pr.1; весьма раздражает, потому что GNATS отвечает автору,
- а адрес отправителя спам-почты никогда не бывает настоящим.
- Для каждого закрытого PR будут приходить сообщения о
- невозможности доставки.</para>
-
- <para>На данный момент с установкой некоторых фильтров против спама,
- проверяющих все добавления в базу данных GNATS, количество спама,
- достигающего состояния <quote>pending</quote>, весьма мало.</para>
-
- <para>Все разработчики, имеющие доступ к машинам кластера FreeBSD.org,
- приглашаются к проверке неправильно оформленных PR и немедленному
- закрытию тех, что являются почтовым спамом. Когда вы закрываете
- такое PR, пожалуйста, сделайте следующее:</para>
-
- <itemizedlist>
- <listitem>
- <para>Выставьте Category в <literal>junk</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Установите Confidential в <literal>no</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Установите Responsible в
- <literal>gnats-admin</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Смените State в <literal>closed</literal>.</para>
- </listitem>
- </itemizedlist>
-
- <para>Для PR категории junk не выполняется резервное копирование,
- следовательно, перевод спам сообщений в эту категорию обозначает,
- что мы не желаем хранить их или тратить дисковое пространство на них.
- Если вы просто закрываете их без смены категории, они остаются
- как в главной базе, так и во всех копиях базы, зеркалируемых
- через <application>cvsup</application>.</para>
- </section>
- </section>
- </section>
-
- <section xml:id="references">
- <title>Дополнительная литература</title>
-
- <para>Это перечень ресурсов, относящихся к качественному написанию и
- обработке сообщений об ошибках. Несомненно, этот список не является
- полным.</para>
-
- <itemizedlist>
- <listitem>
- <para><link xlink:href="&url.articles.problem-reports;/article.html">Как писать
- Сообщения об ошибках FreeBSD</link>&mdash;руководство для авторов
- PR.</para>
- </listitem>
- </itemizedlist>
- </section>
-</article>