- nothing but formatting was changed

Approved by: maxim (mentor), marck (mentor)
This commit is contained in:
Taras Korenko 2010-07-09 20:15:34 +00:00
parent c440d72e0b
commit d856b3c14e
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=35983

View file

@ -33,11 +33,11 @@
<abstract> <abstract>
<para>Это руководство описывает рекомендуемую практику обработки <para>Это руководство описывает рекомендуемую практику обработки
сообщений об ошибках FreeBSD (Problem Reports - PR). Хотя эти сообщений об ошибках FreeBSD (Problem Reports - PR). Хотя эти
рекомендации предназначены для Группы поддержки базы данных сообщений рекомендации предназначены для Группы поддержки базы данных сообщений
о проблемах FreeBSD (PR Database Maintenance Team) о проблемах FreeBSD (PR Database Maintenance Team)
<email>freebsd-bugbusters@FreeBSD.org</email>, им должны следовать все, <email>freebsd-bugbusters@FreeBSD.org</email>, им должны следовать все,
кто работает с этими сообщениями.</para> кто работает с этими сообщениями.</para>
</abstract> </abstract>
<authorgroup> <authorgroup>
@ -78,39 +78,39 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Респондент посылает PR при помощи утилиты &man.send-pr.1; и <para>Респондент посылает PR при помощи утилиты &man.send-pr.1; и
получает подтверждающее сообщение.</para> получает подтверждающее сообщение.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Среднестатистический коммиттер (Вася) проявляет интерес к PR и <para>Среднестатистический коммиттер (Вася) проявляет интерес к PR и
назначает его самому себе, или другой любитель ошибок (Петя) решает, назначает его самому себе, или другой любитель ошибок (Петя) решает,
что лучше всех с описанной проблемой справится именно Вася, и что лучше всех с описанной проблемой справится именно Вася, и
назначает её Васе.</para> назначает её Васе.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Вася связывается с Респондентом (при этом вся переписка должна <para>Вася связывается с Респондентом (при этом вся переписка должна
фиксироваться) и выясняет причину появления проблемы. Затем он фиксироваться) и выясняет причину появления проблемы. Затем он
документирует причину в журнале аудита, и переводит PR в состояние документирует причину в журнале аудита, и переводит PR в состояние
<quote>analyzed</quote> (проанализировано).</para> <quote>analyzed</quote> (проанализировано).</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Вася проводит бессонную ночь и выпускает патч, который, по его <para>Вася проводит бессонную ночь и выпускает патч, который, по его
мнению, решает означенную проблему, и затем посылает её ответом, мнению, решает означенную проблему, и затем посылает её ответом,
прося Респондента протестировать его. Затем он переводит PR в прося Респондента протестировать его. Затем он переводит PR в
состояние <quote>feedback</quote>.</para> состояние <quote>feedback</quote>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Через несколько таких итераций Вася и Респондент удовлетворяются <para>Через несколько таких итераций Вася и Респондент удовлетворяются
получающимся патчем, и Вася переносит его в дерево получающимся патчем, и Вася переносит его в дерево
<literal>-CURRENT</literal> (или непосредственно в <literal>-CURRENT</literal> (или непосредственно в
<literal>-STABLE</literal>, если этой проблемы в <literal>-STABLE</literal>, если этой проблемы в
<literal>-CURRENT</literal> не наблюдается), при этом при выполнении <literal>-CURRENT</literal> не наблюдается), при этом при выполнении
коммита в сопутствующем сообщении делается ссылка на сообщение о коммита в сопутствующем сообщении делается ссылка на сообщение о
проблеме (а также упоминается Респондент, если он предоставил весь или проблеме (а также упоминается Респондент, если он предоставил весь или
часть патча), и, если это нужно, начинается отсчёт для MFC.</para> часть патча), и, если это нужно, начинается отсчёт для MFC.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -119,26 +119,26 @@
<listitem> <listitem>
<para>Если патч требует выполнения MFC, Вася оставляет Сообщение о <para>Если патч требует выполнения MFC, Вася оставляет Сообщение о
проблеме в состоянии <quote>patched</quote> до выполнения операции проблеме в состоянии <quote>patched</quote> до выполнения операции
MFC, а затем закрывает его.</para> MFC, а затем закрывает его.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<note> <note>
<para>Многие PR присылаются с очень слабым описанием проблемы, а <para>Многие PR присылаются с очень слабым описанием проблемы, а
некоторые из них либо очень сложно решить, либо являются вершиной некоторые из них либо очень сложно решить, либо являются вершиной
айсберга другой, более широкой проблемы; в этих случаях очень важно айсберга другой, более широкой проблемы; в этих случаях очень важно
получить всю информацию, требуемую для решения проблемы. Если получить всю информацию, требуемую для решения проблемы. Если
описанная проблема не может быть решена, или проявится снова, описанная проблема не может быть решена, или проявится снова,
необходимо повторно открыть PR.</para> необходимо повторно открыть PR.</para>
</note> </note>
<note> <note>
<para>Адрес <quote>электронной почты</quote> может оказаться недоступным. <para>Адрес <quote>электронной почты</quote> может оказаться недоступным.
В этом случае ответьте на PR обычным образом и попросите Респондента В этом случае ответьте на PR обычным образом и попросите Респондента
(в своём сообщении) предоставить рабочий адрес электронной почты. (в своём сообщении) предоставить рабочий адрес электронной почты.
Обычно это происходит в случаях использования &man.send-pr.1; в Обычно это происходит в случаях использования &man.send-pr.1; в
системах с выключенной или неустановленной почтовой системой.</para> системах с выключенной или неустановленной почтовой системой.</para>
</note> </note>
</section> </section>
@ -151,13 +151,13 @@
<example> <example>
<title>Маленький пример того, когда именно нужно менять <title>Маленький пример того, когда именно нужно менять
состояние PR</title> состояние PR</title>
<para>Когда PR находится в работе и ответственный разработчик(и) <para>Когда PR находится в работе и ответственный разработчик(и)
удовлетворён получающимся решением, то он отвечает на PR и меняет его удовлетворён получающимся решением, то он отвечает на PR и меняет его
состояние на <quote>feedback</quote>. В этот момент Респондент должен состояние на <quote>feedback</quote>. В этот момент Респондент должен
изучить исправление в своей ситуации и ответить, действительно ли был изучить исправление в своей ситуации и ответить, действительно ли был
устранён дефект.</para> устранён дефект.</para>
</example> </example>
<para>Сообщение о проблеме может находится в одном из следующих <para>Сообщение о проблеме может находится в одном из следующих
@ -169,7 +169,7 @@
<glossdef> <glossdef>
<para>Начальное состояние; проблема была поставлена и её необходимо <para>Начальное состояние; проблема была поставлена и её необходимо
рассмотреть.</para> рассмотреть.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@ -186,8 +186,8 @@
<glossdef> <glossdef>
<para>Дальнейшая работа требует дополнительной информации от <para>Дальнейшая работа требует дополнительной информации от
Респондента или сообщества; возможно помещение информации о Респондента или сообщества; возможно помещение информации о
предлагаемом решении.</para> предлагаемом решении.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@ -196,8 +196,8 @@
<glossdef> <glossdef>
<para>Патч был перенесён в дерево исходных текстов, но <para>Патч был перенесён в дерево исходных текстов, но
что-то (выполнение MFC или, возможно, подтверждение Респондента) что-то (выполнение MFC или, возможно, подтверждение Респондента)
ещё требуется доделать.</para> ещё требуется доделать.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@ -206,12 +206,12 @@
<glossdef> <glossdef>
<para>Работа над проблемой была остановлена из-за отсутствия <para>Работа над проблемой была остановлена из-за отсутствия
информации или необходимых ресурсов. Это первый кандидат для информации или необходимых ресурсов. Это первый кандидат для
тех, кто ищет проект для работы над ним. Если проблема вообще не тех, кто ищет проект для работы над ним. Если проблема вообще не
может быть решена, она будет закрыта, а не приостановлена. Проект может быть решена, она будет закрыта, а не приостановлена. Проект
создания документации использует <quote>suspended</quote> для создания документации использует <quote>suspended</quote> для
<quote>желательных</quote> нововведений, которые требуют <quote>желательных</quote> нововведений, которые требуют
значительной работы, для которой ни у кого пока нет времени.</para> значительной работы, для которой ни у кого пока нет времени.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@ -229,17 +229,17 @@
<glossdef> <glossdef>
<para>Сообщение о проблеме было закрыто, когда все изменения были <para>Сообщение о проблеме было закрыто, когда все изменения были
перенесены, задокументированы и протестированы, либо когда перенесены, задокументированы и протестированы, либо когда
исправление проблемы было отвергнуто.</para> исправление проблемы было отвергнуто.</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
</glosslist> </glosslist>
<note> <note>
<para>Состояние <quote>patched</quote> напрямую связано с предлагаемыми <para>Состояние <quote>patched</quote> напрямую связано с предлагаемыми
решениями, так что вы можете перейти сразу к состоянию решениями, так что вы можете перейти сразу к состоянию
<quote>closed</quote>, если Респондент не может протестировать патч, <quote>closed</quote>, если Респондент не может протестировать патч,
либо на ваших тестовых прогонах он работает.</para> либо на ваших тестовых прогонах он работает.</para>
</note> </note>
</section> </section>
@ -260,7 +260,7 @@
<listitem> <listitem>
<para><link linkend="pr-assigned">PR, которые уже кому-то <para><link linkend="pr-assigned">PR, которые уже кому-то
назначены.</link></para> назначены.</link></para>
</listitem> </listitem>
<listitem> <listitem>
@ -287,8 +287,9 @@
назначения (generic assignee). Они всегда предваряются префиксом назначения (generic assignee). Они всегда предваряются префиксом
<literal>freebsd-</literal>. Точное название назначения (assignee) <literal>freebsd-</literal>. Точное название назначения (assignee)
зависит от категории и в большинстве случаев оно соответствует зависит от категории и в большинстве случаев оно соответствует
определенному списку рассылки &os;. Далее следует текущий перечень назначений (assignee), определенному списку рассылки &os;. Далее следует текущий перечень
составленный в порядке от общих к частным:</para> назначений (assignee), составленный в порядке от общих к
частным:</para>
<table id=default-assignees-common> <table id=default-assignees-common>
<title>Назначения по умолчанию &mdash; наиболее <title>Назначения по умолчанию &mdash; наиболее
@ -395,18 +396,18 @@
назначений: специализированные списки рассылки; почтовые алиасы назначений: специализированные списки рассылки; почтовые алиасы
(расширяемые в списки электронных адресов заинтересованных людей) (расширяемые в списки электронных адресов заинтересованных людей)
и назначения отдельным лицам.</para> и назначения отдельным лицам.</para>
<para>Если назначением является список рассылки, пожалуйста, <para>Если назначением является список рассылки, пожалуйста,
выполняя переназначение, используйте длинную форму выполняя переназначение, используйте длинную форму
(например, <literal>freebsd-foo</literal> вместо (например, <literal>freebsd-foo</literal> вместо
<literal>foo</literal>); благодаря этому <literal>foo</literal>); благодаря этому сообщение, посылаемое
сообщение, посылаемое в список рассылки, не будет дублироваться.</para> в список рассылки, не будет дублироваться.</para>
<note> <note>
<para>Так как список лиц добровольно согласившихся принимать <para>Так как список лиц добровольно согласившихся принимать
назначения для некоторых типов PR изменяется часто, то наиболее назначения для некоторых типов PR изменяется часто, то наиболее
подходящим местом для его размещения является <ulink подходящим местом для его размещения является <ulink
url="http://wiki.freebsd.org/AssigningPRs">FreeBSD wiki</ulink>. url="http://wiki.freebsd.org/AssigningPRs">FreeBSD wiki</ulink>.
</para> </para>
</note> </note>
@ -510,7 +511,7 @@
<entry>kern</entry> <entry>kern</entry>
<entry>freebsd-jail</entry> <entry>freebsd-jail</entry>
<entry>список рассылки</entry> <entry>список рассылки</entry>
</row> </row>
<row> <row>
<entry>проблема с эмуляцией &linux; или SVR4</entry> <entry>проблема с эмуляцией &linux; или SVR4</entry>
@ -533,7 +534,7 @@
<entry>список рассылки</entry> <entry>список рассылки</entry>
</row> </row>
<row> <row>
<entry>проблема с подсистемой &man.scsi.4;</entry> <entry>проблема с подсистемой &man.scsi.4;</entry>
<entry>kern</entry> <entry>kern</entry>
<entry>freebsd-scsi</entry> <entry>freebsd-scsi</entry>
@ -767,78 +768,78 @@
<title>Назначение PR</title> <title>Назначение PR</title>
<para>Если в PR в заполненном поле <literal>responsible</literal> указано <para>Если в PR в заполненном поле <literal>responsible</literal> указано
имя разработчика FreeBSD, это значит, что PR взята этим человеком для имя разработчика FreeBSD, это значит, что PR взята этим человеком для
дальнейшей работы.</para> дальнейшей работы.</para>
<para>Уже назначенное PR не должно трогаться никем, кроме администраторов GNATS (bugmeister) и того, кому эта <para>Уже назначенное PR не должно трогаться никем, кроме администраторов
проблема назначена. Если у вас есть комментарии, напишите отклик. GNATS (bugmeister) и того, кому эта проблема назначена. Если у вас
Если по какой-то причине вы думаете, что PR должна изменить своё есть комментарии, напишите отклик. Если по какой-то причине вы
состояние или её необходимо назначить кому-то другому, пошлите думаете, что PR должна изменить своё состояние или её необходимо
сообщение тому, кто назначен ответственным. Если этот человек не назначить кому-то другому, пошлите сообщение тому, кто назначен
ответит в течение двух недель, смените назначение PR, а дальше ответственным. Если этот человек не ответит в течение двух недель,
действуйте по своему усмотрению.</para> смените назначение PR, а дальше действуйте по своему усмотрению.</para>
</section> </section>
<section id="pr-dups"> <section id="pr-dups">
<title>Повторные PR</title> <title>Повторные PR</title>
<para>Если вы обнаружите, что один и тот же вопрос описывается более чем <para>Если вы обнаружите, что один и тот же вопрос описывается более чем
в одном PR, выберите то, что содержит максимальный объём полезной в одном PR, выберите то, что содержит максимальный объём полезной
информации и закройте все остальные, чётко указав номер более полного информации и закройте все остальные, чётко указав номер более полного
PR. Если несколько PR содержат не пересекающуюся информацию, перенесите PR. Если несколько PR содержат не пересекающуюся информацию,
всю недостающую информацию в какой-либо отклик, включая ссылки на перенесите всю недостающую информацию в какой-либо отклик, включая
остальные PR; затем закройте другие PR (которые теперь полностью ссылки на остальные PR; затем закройте другие PR (которые теперь
перекрыты).</para> полностью перекрыты).</para>
</section> </section>
<section id="pr-stale"> <section id="pr-stale">
<title>Просроченные PR</title> <title>Просроченные PR</title>
<para>PR считается простроченным, если оно не модифицировалось в течение <para>PR считается простроченным, если оно не модифицировалось в течение
более полугода. При обработке просроченных PR используйте следующую более полугода. При обработке просроченных PR используйте следующую
процедуру:</para> процедуру:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Если PR достаточно подробна, попытайтесь воспроизвести проблему <para>Если PR достаточно подробна, попытайтесь воспроизвести проблему
в дереве <literal>-CURRENT</literal> и <literal>-STABLE</literal>. в дереве <literal>-CURRENT</literal> и <literal>-STABLE</literal>.
Если вам это удалось, напишите отклик, описывающий ваши изыскания Если вам это удалось, напишите отклик, описывающий ваши изыскания
и попытайтесь найти кого-то, кому эту проблему можно назначить. и попытайтесь найти кого-то, кому эту проблему можно назначить.
Если это подходит, измените состояние Если это подходит, измените состояние
на <quote>analyzed</quote>.</para> на <quote>analyzed</quote>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Если PR описывает проблему, которая, как вы знаете, является <para>Если PR описывает проблему, которая, как вы знаете, является
результатом неправильного использования (некорректная настройка или результатом неправильного использования (некорректная настройка или
что-то ещё), напишите отклик, в котором опишите, что автор что-то ещё), напишите отклик, в котором опишите, что автор
исходного сделал не так, а затем закройте PR с описанием исходного сделал не так, а затем закройте PR с описанием
<quote>User error</quote> или <quote>Configuration <quote>User error</quote> или <quote>Configuration
error</quote>.</para> error</quote>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Если в PR описывается ошибка, которая, как вы знаете, была <para>Если в PR описывается ошибка, которая, как вы знаете, была
исправлена как в <literal>-CURRENT</literal>, так и исправлена как в <literal>-CURRENT</literal>, так и
<literal>-STABLE</literal>, закройте его с сообщением, указывающим <literal>-STABLE</literal>, закройте его с сообщением, указывающим
на даты исправлений в каждой ветке.</para> на даты исправлений в каждой ветке.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Если PR описывает ошибку, которая, по вашим данным, была <para>Если PR описывает ошибку, которая, по вашим данным, была
исправлена в <literal>-CURRENT</literal>, но не в исправлена в <literal>-CURRENT</literal>, но не в
<literal>-STABLE</literal>, попытайтесь выяснить, когда человек, <literal>-STABLE</literal>, попытайтесь выяснить, когда человек,
исправивший эту ошибку, планирует выполнить MFC, либо попробуйте исправивший эту ошибку, планирует выполнить MFC, либо попробуйте
найти для этого кого-то ещё (может, это будете вы сами?). Измените найти для этого кого-то ещё (может, это будете вы сами?). Измените
состояние сообщения на <quote>patched</quote> и переназначьте его состояние сообщения на <quote>patched</quote> и переназначьте его
кому-либо, кто будет делать MFC.</para> кому-либо, кто будет делать MFC.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>В остальных случаях запросите у автора исходного сообщения <para>В остальных случаях запросите у автора исходного сообщения
подтверждения того, что проблема всё ещё присутствует в новых подтверждения того, что проблема всё ещё присутствует в новых
версиях. Если автор не отвечает в течение месяца, закройте PR с версиях. Если автор не отвечает в течение месяца, закройте PR с
пометкой <quote>Feedback timeout</quote>.</para> пометкой <quote>Feedback timeout</quote>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@ -847,23 +848,23 @@
<title>Незаполненные PR</title> <title>Незаполненные PR</title>
<para>GNATS требовательно подходит к формату присылаемых сообщений об <para>GNATS требовательно подходит к формату присылаемых сообщений об
ошибках. Вот почему много PR заканчивают жизнь в состоянии ошибках. Вот почему много PR заканчивают жизнь в состоянии
<quote>misfiled</quote>, если посылающий забыл заполнить поле или <quote>misfiled</quote>, если посылающий забыл заполнить поле или
ввёл неправильные данные в некоторые поля PR. Этот раздел поможет ввёл неправильные данные в некоторые поля PR. Этот раздел поможет
предоставить основной объём необходимых подробностей для разработчиков предоставить основной объём необходимых подробностей для разработчиков
FreeBSD, который может помочь им закрыть или повторно заполнить FreeBSD, который может помочь им закрыть или повторно заполнить
эти PR.</para> эти PR.</para>
<para>Если система GNATS не может понять, что делать с сообщением об <para>Если система GNATS не может понять, что делать с сообщением об
ошибке, которое достигло базы данных, она определяет ошибке, которое достигло базы данных, она определяет
<literal>gnats-admin</literal> в качестве ответственного за PR и <literal>gnats-admin</literal> в качестве ответственного за PR и
помещает сообщение в категорию <literal>pending</literal>. Теперь это помещает сообщение в категорию <literal>pending</literal>. Теперь это
PR в состоянии <quote>misfiled</quote> и оно не будет появляться в PR в состоянии <quote>misfiled</quote> и оно не будет появляться в
списках сообщений об ошибках, если только кто-то специально не запросит списках сообщений об ошибках, если только кто-то специально не запросит
перечень всех незаполненных PR. Если у вас есть доступ к машинам в перечень всех незаполненных PR. Если у вас есть доступ к машинам в
кластере FreeBSD, можете воспользоваться командой кластере FreeBSD, можете воспользоваться командой
<command>query-pr</command> для просмотра списка PR, которые были <command>query-pr</command> для просмотра списка PR, которые были
некорректно сформированы:</para> некорректно сформированы:</para>
<screen>&prompt.user; <userinput>query-pr -x -q -r gnats-admin</userinput> <screen>&prompt.user; <userinput>query-pr -x -q -r gnats-admin</userinput>
52458 gnats-ad open serious medium Re: declaration clash f 52458 gnats-ad open serious medium Re: declaration clash f
@ -872,12 +873,12 @@
52570 gnats-ad open serious medium Jigdo maintainer update</screen> 52570 gnats-ad open serious medium Jigdo maintainer update</screen>
<para>Как правило, PR вроде перечисленных выше оказываются незаполненными <para>Как правило, PR вроде перечисленных выше оказываются незаполненными
по одной из следующих причин:</para> по одной из следующих причин:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Отклик на существующее PR, посланный по электронной почте, <para>Отклик на существующее PR, посланный по электронной почте,
имеет неверный формат заголовка <literal>Subject:</literal>.</para> имеет неверный формат заголовка <literal>Subject:</literal>.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -890,7 +891,7 @@
<listitem> <listitem>
<para>При заполнении шаблона &man.send-pr.1; посылающий забыл указать <para>При заполнении шаблона &man.send-pr.1; посылающий забыл указать
правильное значение для категории или класса PR.</para> правильное значение для категории или класса PR.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -905,7 +906,7 @@
<listitem> <listitem>
<para>Это не реальное PR, а какое-то случайное сообщение, посланное <para>Это не реальное PR, а какое-то случайное сообщение, посланное
на адрес <email>bug-followup@FreeBSD.org</email> или на адрес <email>bug-followup@FreeBSD.org</email> или
<email>freebsd-gnats-submit@FreeBSD.org</email>.</para> <email>freebsd-gnats-submit@FreeBSD.org</email>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -914,28 +915,28 @@
<title>Отклики неправильно оформлены как новые PR</title> <title>Отклики неправильно оформлены как новые PR</title>
<para>К наиболее массовой категории неправильно оформленных PR <para>К наиболее массовой категории неправильно оформленных PR
относятся те, у которых неверна тема письма, и именно они на самом относятся те, у которых неверна тема письма, и именно они на самом
деле требует самых больших усилий от разработчиков. Это не настоящие деле требует самых больших усилий от разработчиков. Это не настоящие
PR, описывающие отдельные ошибки. Когда по одному из адресов, PR, описывающие отдельные ошибки. Когда по одному из адресов,
который <quote>прослушивает</quote> GNATS на предмет обработки который <quote>прослушивает</quote> GNATS на предмет обработки
входящих сообщений, принимается ответ на существующее PR, то тема входящих сообщений, принимается ответ на существующее PR, то тема
ответа должна быть всегда в таком виде:</para> ответа должна быть всегда в таком виде:</para>
<programlisting>Subject: Re: category/number: старая тема</programlisting> <programlisting>Subject: Re: category/number: старая тема</programlisting>
<para>Большинство почтовых программ, когда вы отвечаете на оригинальное <para>Большинство почтовых программ, когда вы отвечаете на оригинальное
почтовое сообщение с PR, будут добавлять часть почтовое сообщение с PR, будут добавлять часть
<quote><literal>Re:&nbsp;</literal></quote>. Часть <quote><literal>Re:&nbsp;</literal></quote>. Часть
<quote><literal>category/number:&nbsp;</literal></quote> является <quote><literal>category/number:&nbsp;</literal></quote> является
соглашением, специфичным для GNATS, которое вы должны выполнить, соглашением, специфичным для GNATS, которое вы должны выполнить,
вручную поставив его в тему письма с откликом.</para> вручную поставив его в тему письма с откликом.</para>
<para>Все разработчики FreeBSD, имеющие прямой доступ к базе данных <para>Все разработчики FreeBSD, имеющие прямой доступ к базе данных
GNATS, могут регулярно проверять наличие таких PR и перемещать GNATS, могут регулярно проверять наличие таких PR и перемещать
заинтересовавшие их в отклики к оригинальному PR (послав корректный заинтересовавшие их в отклики к оригинальному PR (послав корректный
отклик на сообщение об ошибке на адрес отклик на сообщение об ошибке на адрес
&a.bugfollowup;). Затем неправильно &a.bugfollowup;). Затем неправильно
оформленное PR может быть закрыто с примерно таким пояснением:</para> оформленное PR может быть закрыто с примерно таким пояснением:</para>
<programlisting>Your problem report was misfiled. Please use the format <programlisting>Your problem report was misfiled. Please use the format
"Subject: category/number: original text" when following "Subject: category/number: original text" when following
@ -943,29 +944,29 @@ up to older, existing PRs. I've added the relevant bits
from the body of this PR to kern/12345</programlisting> from the body of this PR to kern/12345</programlisting>
<para>Поиск по команде <command>query-pr</command> оригинального PR, <para>Поиск по команде <command>query-pr</command> оригинального PR,
на которое отвечает неправильно оформленный отклик, легко выполняется на которое отвечает неправильно оформленный отклик, легко выполняется
следующим образом:</para> следующим образом:</para>
<screen>&prompt.user; query-pr -q -y "some text"</screen> <screen>&prompt.user; query-pr -q -y "some text"</screen>
<para>После того, как вы обнаружили оригинальное PR и неправильно <para>После того, как вы обнаружили оригинальное PR и неправильно
оформленный отклик на него, воспользуйтесь параметром оформленный отклик на него, воспользуйтесь параметром
<option>-F</option> команды <command>query-pr</command> для <option>-F</option> команды <command>query-pr</command> для
сохранения полного текста всех относящихся к делу PR в файле формата сохранения полного текста всех относящихся к делу PR в файле формата
почтового ящика &unix;, то есть:</para> почтового ящика &unix;, то есть:</para>
<screen>&prompt.user; <userinput>query-pr -F 52458 52474 &gt; mbox</userinput></screen> <screen>&prompt.user; <userinput>query-pr -F 52458 52474 &gt; mbox</userinput></screen>
<para>Теперь вы можете использовать любую почтовую программу для <para>Теперь вы можете использовать любую почтовую программу для
просмотра всех PR, которые вы сохранили в файле просмотра всех PR, которые вы сохранили в файле
<filename>mbox</filename>. Скопируйте текст всех неверно оформленных <filename>mbox</filename>. Скопируйте текст всех неверно оформленных
PR в отклике на оригинальное сообщение о проблеме, и обязательно PR в отклике на оригинальное сообщение о проблеме, и обязательно
включите правильный заголовок <literal>Subject:</literal>. После включите правильный заголовок <literal>Subject:</literal>. После
этого закройте неверно оформленное PR. Когда вы закрываете такие PR, этого закройте неверно оформленное PR. Когда вы закрываете такие PR,
помните, что автор получает оповещение по почте о том, что его PR помните, что автор получает оповещение по почте о том, что его PR
сменило состояние на <quote>closed</quote>. В пояснении обязательно сменило состояние на <quote>closed</quote>. В пояснении обязательно
описывайте в подробностях, почему это состояние изменилось. Обычно описывайте в подробностях, почему это состояние изменилось. Обычно
подойдёт примерно следующий текст:</para> подойдёт примерно следующий текст:</para>
<programlisting>Followup to ports/45364 misfiled as a new PR. <programlisting>Followup to ports/45364 misfiled as a new PR.
This was misfiled because the subject did not have the format: This was misfiled because the subject did not have the format:
@ -973,73 +974,72 @@ This was misfiled because the subject did not have the format:
Re: ports/45364: ...</programlisting> Re: ports/45364: ...</programlisting>
<para>В этом случае автор неправильно оформленного PR будет знать, <para>В этом случае автор неправильно оформленного PR будет знать,
чего необходимо избегать при отправке отклика на существующее чего необходимо избегать при отправке отклика на существующее
PR.</para> PR.</para>
</section> </section>
<section id="pr-misfiled-format"> <section id="pr-misfiled-format">
<title>Некорректные PR с отсутствующими полями</title> <title>Некорректные PR с отсутствующими полями</title>
<para>Ко второму типу неправильно оформленных PR обычно относят те, <para>Ко второму типу неправильно оформленных PR обычно относят те,
что являются результатом забывчивости авторов, которые не заполнили что являются результатом забывчивости авторов, которые не заполнили
все необходимые поля при написании первоначального PR.</para> все необходимые поля при написании первоначального PR.</para>
<para>Отсутствие или ошибочное задание полей <quote>category</quote> <para>Отсутствие или ошибочное задание полей <quote>category</quote>
или <quote>class</quote> может привести к появлению некорректного или <quote>class</quote> может привести к появлению некорректного
сообщения. Разработчики могут использовать &man.edit-pr.1; для смены сообщения. Разработчики могут использовать &man.edit-pr.1; для смены
значений категории или класса этих неправильно оформленных PR на значений категории или класса этих неправильно оформленных PR на
более подходящие и сохранить PR.</para> более подходящие и сохранить PR.</para>
<para>Другой распространённой причиной появления неправильно <para>Другой распространённой причиной появления неправильно
оформленных PR являются вопросы форматирования, квотирование, оформленных PR являются вопросы форматирования, квотирование,
изменение или удаление шаблона <command>send-pr</command>, как по изменение или удаление шаблона <command>send-pr</command>, как по
вине пользователя, редактирующего шаблон, так и почтовых программ, вине пользователя, редактирующего шаблон, так и почтовых программ,
которые проделывают странные вещи с обычными текстовыми сообщениями. которые проделывают странные вещи с обычными текстовыми сообщениями.
Это изредка случается и может быть исправлено программой Это изредка случается и может быть исправлено программой
<command>edit-pr</command>, что требует некоторых усилий со стороны <command>edit-pr</command>, что требует некоторых усилий со стороны
разработчика, корректирующего PR, однако в большинстве случаев разработчика, корректирующего PR, однако в большинстве случаев
это можно сделать относительно легко.</para> это можно сделать относительно легко.</para>
</section> </section>
<section id="pr-misfiled-notpr"> <section id="pr-misfiled-notpr">
<title>Неправильные PR, которые на самом деле не являются сообщениями <title>Неправильные PR, которые на самом деле не являются сообщениями
об ошибках</title> об ошибках</title>
<para>Иногда пользователь желает сообщить об ошибке и посылает GNATS <para>Иногда пользователь желает сообщить об ошибке и посылает GNATS
по электронной почте обычное сообщение. Скрипты GNATS работает с по электронной почте обычное сообщение. Скрипты GNATS работает с
сообщениями об ошибках, которые форматированы при помощи шаблона сообщениями об ошибках, которые форматированы при помощи шаблона
&man.send-pr.1;. Они не могут обрабатывать любые сообщения &man.send-pr.1;. Они не могут обрабатывать любые сообщения
электронной почты. Вот почему сообщения об ошибках, посылаемые на электронной почты. Вот почему сообщения об ошибках, посылаемые на
адрес <email>freebsd-gnats-submit@FreeBSD.org</email>, должны адрес <email>freebsd-gnats-submit@FreeBSD.org</email>, должны
быть оформлены по шаблону команды <command>send-pr</command>, хотя быть оформлены по шаблону команды <command>send-pr</command>, хотя
сообщения по электронной почте можно послать на &a.bugs;.</para> сообщения по электронной почте можно послать на &a.bugs;.</para>
<para>Разработчики, которые видят PR, выглядящие так, будто они должны <para>Разработчики, которые видят PR, выглядящие так, будто они должны
были быть посланы в адрес &a.bugs.name; или какого-то другого были быть посланы в адрес &a.bugs.name; или какого-то другого
списка рассылки, должны закрыть PR, проинформировав его автора в списка рассылки, должны закрыть PR, проинформировав его автора в
протоколе изменения состояния о причинах, по которых это не является протоколе изменения состояния о причинах, по которых это не является
настоящим PR и куда следует посылать сообщения.</para> настоящим PR и куда следует посылать сообщения.</para>
<para>Электронный адрес, который использует GNATS для приёма <para>Электронный адрес, который использует GNATS для приёма
поступающих PR, опубликован в документации к FreeBSD, объявлялся и поступающих PR, опубликован в документации к FreeBSD, объявлялся и
указан на Web-сайте. Это значит, что спамеры его увидели. указан на Web-сайте. Это значит, что спамеры его увидели.
Спам-сообщения, достигшие GNATS, немедленно определяются в категорию Спам-сообщения, достигшие GNATS, немедленно определяются в категорию
<quote>pending</quote> и остаются там до тех пор, пока кто-нибудь <quote>pending</quote> и остаются там до тех пор, пока кто-нибудь
их не их не пересмотрит. Закрытие любого из таких сообщений при помощи
пересмотрит. Закрытие любого из таких сообщений при помощи &man.edit-pr.1; весьма раздражает, потому что GNATS отвечает автору,
&man.edit-pr.1; весьма раздражает, потому что GNATS отвечает автору,
а адрес отправителя спам-почты никогда не бывает настоящим. а адрес отправителя спам-почты никогда не бывает настоящим.
Для каждого закрытого PR будут приходить сообщения о Для каждого закрытого PR будут приходить сообщения о
невозможности доставки.</para> невозможности доставки.</para>
<para>На данный момент с установкой некоторых фильтров против спама, <para>На данный момент с установкой некоторых фильтров против спама,
проверяющих все добавления в базу данных GNATS, количество спама, проверяющих все добавления в базу данных GNATS, количество спама,
достигающего состояния <quote>pending</quote>, весьма мало.</para> достигающего состояния <quote>pending</quote>, весьма мало.</para>
<para>Все разработчики, имеющие доступ к машинам кластера FreeBSD.org, <para>Все разработчики, имеющие доступ к машинам кластера FreeBSD.org,
приглашаются к проверке неправильно оформленных PR и немедленному приглашаются к проверке неправильно оформленных PR и немедленному
закрытию тех, что являются почтовым спамом. Когда вы закрываете закрытию тех, что являются почтовым спамом. Когда вы закрываете
такое PR, пожалуйста, сделайте следующее:</para> такое PR, пожалуйста, сделайте следующее:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -1074,10 +1074,10 @@ This was misfiled because the subject did not have the format:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><ulink <para><ulink
url="&url.articles.problem-reports;/article.html">Как писать url="&url.articles.problem-reports;/article.html">Как писать
Сообщения об ошибках FreeBSD</ulink>&mdash;руководство для авторов Сообщения об ошибках FreeBSD</ulink>&mdash;руководство для авторов
PR.</para> PR.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>