- MFen: article.sgml 1.44 --> 1.61

- a typo was fixed

PR:   docs/145358

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

View file

@ -3,7 +3,7 @@
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/problem-reports/article.sgml,v 1.20 2006/04/05 04:28:40 gad Exp $
Original revision: 1.44
Original revision: 1.61
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@ -38,6 +38,11 @@
<surname>Sm&oslash;rgrav</surname>
<contrib>Текст предоставил </contrib>
</author>
<author>
<firstname>Mark</firstname>
<surname>Linimon</surname>
</author>
</authorgroup>
</articleinfo>
@ -129,7 +134,10 @@
<para>В любом случае, следование процессу, описанному в <ulink
url="&url.books.porters-handbook;/port-upgrading.html">Руководстве по
созданию портов</ulink> даст наилучшие результаты.</para>
созданию портов</ulink> даст наилучшие результаты.
(Также можно ознакомиться с статьей <ulink
url="&url.articles.contributing-ports;/article.html">
Контрибуция в коллекцию портов FreeBSD</ulink>.)</para>
</listitem>
</itemizedlist>
@ -155,7 +163,7 @@
контрибьюторами &os;. Такой, как ядро, библиотека C,
драйвера устройств (входят в категорию <literal>kern</literal>);
утилиты (<literal>bin</literal>); страницы справочника и
документация (<literal>docs</literal>); web-страницы
документация (<literal>docs</literal>); веб-страницы
(<literal>www</literal>). Все ошибки в этих областях
должны быть сообщены разработчикам &os;.</para>
</listitem>
@ -198,7 +206,7 @@
приведёт к тому, что разработчик посоветует вам обновиться до
поддерживаемой версии, чтобы посмотреть присутствует ли в ней
проблема. Команда офицеров безопасности поддерживает <ulink
url="http://www.freebsd.org/security/">список поддерживаемых
url="&url.base;/security/">список поддерживаемых
версий.</ulink>.</para>
<para>Если проблема связана с портами, помните, что вы сначала
@ -330,7 +338,7 @@
относится ваша проблема? Проявляется ли она на этапе установки или
во время нормальной работы? Например, вместо строки
<literal>Synopsis: portupgrade is broken</literal> следовало бы
написать что-то вроде <literal>Synopsis: port sysutils/portupgrade
написать что-то вроде <literal>Synopsis: port ports-mgmt/portupgrade
coredumps on -current</literal>. В случае портированных приложений
в поле <quote>Synopsis</quote> полезно указывать не только имя
порта, но и категорию.</para>
@ -340,7 +348,7 @@
<para><emphasis>Если у вас есть готовый патч, скажите об
этом.</emphasis> PR, содержащий патч, имеет куда больше шансов
быть рассмотренным. В этом случае добавьте строку
<literal>[patch]</literal> в начало поля <quote>Synopsis</quote>
<literal>[patch]</literal> (включая квадратные скобки) в начало поля <quote>Synopsis</quote>
(хотя использование именно этой формы необязательно, она является
стандартом де-факто).</para>
</listitem>
@ -350,7 +358,7 @@
этом.</emphasis> Если вы отвечаете за часть исходных текстов
(например, порт), вы можете добавить в начало поля
<quote>Synopsis</quote> строку
<literal>[maintainer update]</literal>, а также установить класс
<literal>[maintainer update]</literal> (включая квадратные скобки), а также установить класс
вашего PR (поле <quote>Class</quote>) в
<literal>maintainer-update</literal>. В этом случае коммиттеру,
обрабатывающему ваш PR, не придётся лишний раз проверять.</para>
@ -386,6 +394,17 @@
поддерживается.</para>
</listitem>
<listitem>
<para>Если проблему можно легко повторить, включите
необходимую информацию, чтобы разработчик смог воспроизвести
ее самостоятельно. Если проблема проявляется при некоторых
вводимых данных, то, по возможности, приведите их вместе
с получаемым и ожидаемым выводом. Если же вводимых данных
много или же их нельзя разглашать, то попробуйте выделить
из них лишь небольшой фрагмент, приводящий к возникновению
проблемы, и включите его в PR.</para>
</listitem>
<listitem>
<para>Если ваша проблема связана с ядром, будьте готовы предоставить
следующую информацию (вам не обязательно включать её всю, она пойдёт лишь
@ -403,7 +422,17 @@
проблема после изменения значения этой опции</para>
</listitem>
<listitem>
<para>дамп, если был сгенерирован</para>
<para>Полный вывод обратной трассировки (backtrace),
паники или иного консольного вывода, или же записи из
<filename>/var/log/messages</filename>, если они были
сгенерированы</para>
</listitem>
<listitem>
<para>Вывод команды <command>pciconf -l</command>, а также
соответствующие части вывода <command>dmesg</command>,
в случае, если проблема связана с конкретным
оборудованием</para>
</listitem>
<listitem>
<para>Прочли ли вы <filename>src/UPDATING</filename>, описана ли
@ -468,6 +497,17 @@
(Несмотря на повторы, об этом постоянно забывают)</para>
</listitem>
<listitem>
<para><emphasis>Сообщайте об одной проблеме в одном PR.</emphasis>
Избегайте описания двух и более проблем в одном сообщении
(исключением являются взаимосвязанные проблемы). Оформляя патчи,
не пытайтесь в них добавлять множество функциональных возможностей
или исправлять ими несколько ошибок в одном и том же сообщении
о проблеме (опять же, за исключением взаимосвязанных проблем)
&mdash; для таких PR-ов потребуется значительно больше времени
на обработку.</para>
</listitem>
<listitem>
<para><emphasis>Избегайте полемики.</emphasis>
Если ваше сообщение касается области или способов реализации,
@ -517,7 +557,9 @@
для читабельности PR на веб странице.</para>
<para>Примерные соображения должны учитываться при отправке
сообщения об ошибке через web-форму вместо &man.send-pr.1;.
сообщения об ошибке через
<ulink url="&url.base;/send-pr.html">веб-форму</ulink>
вместо &man.send-pr.1;.
Помните, что операции копирования-вставки могут иметь
сторонние эффекты в форматировании текста. В определённых
случаях может быть необходимо использовать &man.uuencode.1;
@ -525,14 +567,17 @@
<para>И наконец, если ваше сообщение будет объёмным, вы должны
приготовить его в offline, чтобы ничего не потерялось в случае,
если будет проблема при его отправке. Это особенно касается
web-формы.</para>
если будет проблема при его отправке. Это особенно касается <ulink
url="&url.base;/send-pr.html">веб-формы</ulink>.</para>
</section>
<section>
<title>Вложение патчей или файлов</title>
<para>Нижеследующее применимо к передаче сообщения о проблеме
посредством электронной почты:</para>
<para>Программа &man.send-pr.1; предусматривает присоединение файлов к
сообщению о проблеме. Вы можете вложить сколько угодно файлов, но
каждый с уникальным именем (имеется в виду имя файла без маршрута).
@ -592,6 +637,9 @@
<section>
<title>Заполнение шаблона</title>
<para>Следующие несколько абзацев применимы только к способу подачи
PR через электронную почту:</para>
<para>После запуска утилиты &man.send-pr.1; вам будет представлен шаблон
сообщения о проблеме.
Шаблон состоит из списка полей, некоторые из которых уже заполнены,
@ -610,7 +658,7 @@
о проблеме, добавив один или большее количество адресов к заголовку
<literal>Cc:</literal>.</para>
<para>Далее следует последовательности однострочных полей:</para>
<para>В шаблоне вы найдете два однострочных поля:</para>
<itemizedlist>
<listitem>
@ -626,12 +674,29 @@
проблеме&mdash;база данных PR распространяется по всему миру
посредством <application>CVSup</application>.</para>
</listitem>
</itemizedlist>
<para>Далее описаны общие поля для почтового и <ulink
url="&url.base;/send-pr.html">веб интерфейса</ulink>:</para>
<itemizedlist>
<listitem>
<para><emphasis>Originator:</emphasis> Обычно оно заполнено полем
дополнительной информации учетной записи пользователя. Пожалуйста,
укажите ваше реальное имя, за которым опционально следует адрес
вашей электронной почты в угловых скобках.</para>
<para><emphasis>Originator:</emphasis> Пожалуйста,
укажите ваше реальное имя, за которым опционально следует
адрес вашей электронной почты в угловых скобках.
Обычно, &man.send-pr.1; заполняет поле Originator содержимым
поля <literal>gecos</literal> из учетной записи текущего
пользователя.</para>
<note>
<para>Предоставленный вами адрес электронной почты станет публичной
информацией и может стать доступным спамерам. Поэтому совсем
не лишними будут меры по борьбе со спамом на вашей стороне, или
же можно воспользоваться временным адресом электронной почты.
Однако, если вы укажете несуществующий почтовый адрес, то у нас
не будет возможности уточнять детали по вашему PR.</para>
</note>
</listitem>
<listitem>
@ -648,9 +713,10 @@
<para>Повторим: если к вашему сообщению о проблеме приложен патч,
то, пожалуйста, начните краткое описание с
<literal>[patch]</literal>; если вы являетесь ответственным за
данную часть кода или порт, можете начать описание с
<literal>[maintainer update]</literal> и установить класс проблемы
<literal>[patch]</literal> (включая квадратные скобки); если PR
принадлежит к категории ports и вы являетесь его мейнтейнером,
то начните описание с <literal>[maintainer update]</literal>
(включая квадратные скобки) и установите класс проблемы
(поле <quote>Class</quote>) в
<literal>maintainer-update</literal>.</para>
</listitem>
@ -661,16 +727,24 @@
<literal>serious</literal> или <literal>critical</literal>. Не
переусердствуйте; избегайте пометки вашей проблемы как
<literal>critical</literal>, если только это не действительно
критичная проблема (к примеру, уязвимость пользователя
<username>root</username>, легко воспроизводимый останов системы),
критичная проблема (повреждение данных, существенная потеря
функциональности в -CURRENT),
или <literal>serious</literal>, если только это не касается многих
пользователей (проблемы с конкретными драйверами устройств или с
пользователей (паники ядра, блокировки (freezes), проблемы с
конкретными драйверами устройств или с
системными утилитами). Разработчики &os; не обязательно будут
работать над вашей проблемой быстрее, если вы установите слишком
высокий уровень важности, т.к. существует много других людей,
которые сделали тоже самое &mdash; некоторые разработчики всё же
уделят этому полю немного внимания и перейдут к следующему
сообщению именно из-за этого поля.</para>
<note>
<para>Большинство проблем с безопасностью <emphasis>не</emphasis>
следует отправлять в GNATS, потому что вся эта информация
становится публичной. Пожалуйста, направляйте подобные отчеты
на электронный адрес &a.security-officer;.</para>
</note>
</listitem>
<listitem>
@ -680,16 +754,178 @@
использоваться для проблем, которые затронут конкретно
каждого пользователя &os;, а <literal>medium</literal> для чего-то,
что затронет многих пользователей.</para>
<note>
<para>Ввиду массовых злоупотреблений это поле потеряло свое
значение.</para>
</note>
</listitem>
<listitem>
<para><emphasis>Category:</emphasis> Выберите одну из
следующих (взято из
<para><emphasis>Category:</emphasis> Выберите соответствующую
категорию.</para>
<para>Первым делом необходимо решить, к какой части системы
относится ваша проблема. Помните: &os; &mdash; завершенная
операционная система, которая устанавливает ядро, стандартные
библиотеки, множество драйверов периферийного оборудования,
а также &mdash; большой набор системных утилит (<quote>базовая
система</quote>). В дополнение к этому, в коллекции портов
имеются тысячи приложений. Следовательно, определитесь:
обнаруженная вами проблема находится в базовой системе или
в чем-то, установленным через коллекцию портов.</para>
<para>Вот описание основных категорий:</para>
<itemizedlist>
<listitem>
<para>Если проблема в ядре, в библиотеках (таких как стандартная
библиотека С <literal>libc</literal>) или в драйвере
из базовой системы, то используйте категорию
<literal>kern</literal>. (Есть несколько исключений,
описанных ниже). В общем, это всё, что описано в разделах
2, 3 или 4 справочника.</para>
</listitem>
<listitem>
<para>Если проблема с бинарной программой, например
с &man.sh.1; или &man.mount.8;, то вам прежде всего необходимо
определить принадлежность программы к базовой системе
или к установке из коллекции портов. Если вы не уверены,
выполните команду <command>whereis <replaceable>имя
программы</replaceable></command>. В &os; для коллекции портов
существует договоренность: установка ведется в <filename
class="directory">/usr/local</filename>, однако это может быть
переопределено системным администратором. Для таких программ
следует использовать категорию <literal>ports</literal> (даже
если категория порта <literal>www</literal>; см. ниже).
Если программа располагается в
<filename class="directory">/bin</filename>,
<filename class="directory">/usr/bin</filename>,
<filename class="directory">/sbin</filename> или в
<filename class="directory">/usr/sbin</filename>,
то это часть базовой системы, и вам следует использовать
категорию <literal>bin</literal>. (Несколько программ,
например &man.gcc.1;, на самом деле используют категорию
<literal>gnu</literal>, но не беспокойтесь об этом сейчас.)
Программы этой категории описаны в разделах 1 и 8
справочной системы.</para>
</listitem>
<listitem>
<para>Если вы уверены, что в стартовых скриптах
<literal>(rc)</literal> или в каком-то ином неисполняемом
конфигурационном файле присутствует ошибка, тогда верной
категорией будет <literal>conf</literal> (configuration).
Эти сущности описываются в разделе 5 справочной системы.</para>
</listitem>
<listitem>
<para>Если вы нашли проблему в наборе документации (статьи,
книги, страницы справочной системы), правильным выбором будет
<literal>docs</literal>.</para>
</listitem>
<listitem>
<para>Если вы наблюдаете проблему на страницах <ulink
url="http://www.FreeBSD.org">сайта FreeBSD</ulink>,
то правильным выбором будет <literal>www</literal>.</para>
<note>
<para>Если проблема с чем-то из порта, называемого
<literal>www/<replaceable>someportname</replaceable>
</literal>, то она все же принадлежит к категории
<literal>ports</literal>.</para>
</note>
</listitem>
</itemizedlist>
<para>Далее представлены более специализированные категории.</para>
<itemizedlist>
<listitem>
<para>Если проблема принадлежит к <literal>kern</literal>, но
в то же время имеет дело с подсистемой USB, то правильным
выбором будет <literal>usb</literal>.</para>
</listitem>
<listitem>
<para>Если проблема принадлежит к <literal>kern</literal>
и найдена в потоковых библиотеках, правильным выбором будет
<literal>threads</literal>.</para>
</listitem>
<listitem>
<para>Если проблема принадлежит к базовой системе и касается
соблюдения стандартов, таких как &posix;, правильным выбором
будет <literal>standards</literal>.</para>
</listitem>
<listitem>
<para>Если проблема связана с ошибками внутри
&java.virtual.machine; (&jvm;), даже если &java; была
установлена из коллекции портов, вам следует выбрать категорию
<literal>java</literal>. Более общие проблемы с портами &java;
попадают под категорию <literal>ports</literal>.</para>
</listitem>
</itemizedlist>
<para>Далее перечислены остальные категории.</para>
<itemizedlist>
<listitem>
<para>Если вы уверены, что проблема проявляется только на
используемой вами процессорной архитектуре, выберите одну
из архитектурно-специфичных категорий: это
<literal>i386</literal> для Intel-совместимых машин в
32-битном режиме; <literal>amd64</literal> для AMD машин
в 64-битном режиме (сюда также входят Intel-совместимые
машины работающие в режиме EMT64); и менее распространенные
<literal>arm</literal>, <literal>ia64</literal>,
<literal>powerpc</literal> и <literal>sparc64</literal>.</para>
<note>
<para>Люди часто ошибаются в выборе категории. Если вы
не уверены в правильности выбора, то лучше не гадать, а
выбрать <literal>misc</literal>.</para>
</note>
<example>
<title>Правильное использование категории</title>
<para>У вас простой ПК, и вы подозреваете, что столкнулись
с проблемой, специфичной для конкретного чипсета или
материнской платы: верная категория &mdash;
<literal>i386</literal>.</para>
</example>
<example>
<title>Неправильное использование категории</title>
<para>Если вы наблюдаете проблему с периферийной картой
расширения на распространенной шине или неполадки
с конкретного типа жестким диском: в этом случае возможно,
что неисправность наблюдается на более чем одной архитектуре,
и верным выбором будет <literal>kern</literal>.</para>
</example>
</listitem>
<listitem>
<para>Если вы не знаете в чем проблема (или вам кажется, что
описание не попадает ни под какую из вышеобозначенных),
используйте категорию <literal>misc</literal>. Перед тем, как
написать PR, можно для начала спросить помощи в &a.questions;.
Возможно, там вам подскажут, какую из существующих категорий
следует выбрать.</para>
</listitem>
</itemizedlist>
<para>Вот текущий перечень категорий (взят из
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/gnu/usr.bin/send-pr/categories"></ulink>):</para>
<itemizedlist>
<listitem>
<para><literal>advocacy:</literal> проблемы, связанные с
общественным мнением о &os;. Используется редко.</para>
общественным мнением о &os;. Вышло из употребления.</para>
</listitem>
<listitem>
@ -702,6 +938,11 @@
платформы AMD64.</para>
</listitem>
<listitem>
<para><literal>arm:</literal> проблемы, специфичные для
платформы ARM.</para>
</listitem>
<listitem>
<para><literal>bin:</literal> проблемы с пользовательскими
программами из базовой системы.</para>
@ -718,8 +959,9 @@
</listitem>
<listitem>
<para><literal>gnu:</literal> проблемы с программным обеспечением
GNU, таким как &man.gcc.1; или &man.grep.1;.</para>
<para><literal>gnu:</literal> проблемы с портированным
программным обеспечением GNU, таким как &man.gcc.1; или
&man.grep.1;.</para>
</listitem>
<listitem>
@ -734,24 +976,28 @@
<listitem>
<para><literal>java:</literal> проблемы, связанные с виртуальной
машиной &java;. (Портированные приложения, требующие
для своей работы &java; должны находиться в коллекции портов.)
</para>
машиной &java;.</para>
</listitem>
<listitem>
<para><literal>kern:</literal> проблемы с ядром или с не
связанными с какой-либо платформой драйверами устройств.</para>
<para><literal>kern:</literal> проблемы с ядром или с
библиотеками в базовой системе, или с драйверами устройств, не
связанными с какой-либо конкретной платформой.</para>
</listitem>
<listitem>
<para><literal>misc:</literal> все, что не подпадает ни под какую
другую категорию (Надо отметить, что проблемы этой категории
другую категорию. (Надо отметить, что нет почти ничего, чтобы
действительно соответствовало этой категории, за исключением
проблем с релизами и с инфраструктурой сборки. Временные
отказы при построении ветки <literal>HEAD</literal> не
принадлежат к данной категории. Также надо отметить, что
проблемы этой категории
имеют тенденцию теряться легче всего).</para>
</listitem>
<listitem>
<para><literal>ports:</literal> проблемы, связанные с деревом
<para><literal>ports:</literal> проблемы, связанные с коллекцией
портов.</para>
</listitem>
@ -865,6 +1111,8 @@
<section>
<title>Отправка сообщения о проблеме</title>
<para>Если вы используете &man.send-pr.1;:</para>
<para>Как только вы заполните шаблон, сохраните его и выйдете из
редактора, &man.send-pr.1; запросит вас
<prompt>s)end, e)dit or a)bort?</prompt>. Вы можете нажать
@ -882,6 +1130,29 @@
<para>При этом будет прочитан указанный файл, будет проверено содержимое,
убраны комментарии и сообщение будет отослано.</para>
<para>Если вы используете <ulink
url="&url.base;/send-pr.html">веб форму</ulink>:</para>
<para>Перед нажатием <literal>submit</literal> вам потребуется
заполнить проверочное поле текстом, представленным на картинке рядом.
Эта непопулярная мера была принята в связи со злоупотреблениями со
стороны роботов и некоторых неверно сориентированных индивидуумов.
Это необходимая мера, которая никому не нравится, и, пожалуйста,
не просите нас убрать её.</para>
<para>Отметим, что вам <literal>настоятельно рекомендуется</literal>
сохранить вашу работу (PR) куда-нибудь перед нажатием кнопки
<literal>submit</literal>. Распространенная пользовательская ошибка:
отображение браузером устаревшей проверочной картинки из его кэша.
Если это произойдет в вашем случае, ваше сообщение будет отвергнуто
и ваши труды пропадут.</para>
<para>Если по какой-либо причине вы не имеете возможности видеть
проверочную картинку, а также не можете воспользоваться
&man.send-pr.1;, пожалуйста примите наши извинения за неудобства
и пришлите ваш PR электронной почтой команде
<email>freebsd-bugbusters@FreeBSD.org</email>.</para>
</section>
</section>
@ -915,7 +1186,7 @@
</listitem>
<listitem>
<para>Или просто просто пошлите письмо на адрес
<para>Или просто пошлите письмо на адрес
&a.bugfollowup;, включив отслеживаемый номер
в теме письма, чтобы система отслеживания сообщений могла знать, к
какому сообщению о проблеме его присоединить.</para>
@ -928,8 +1199,13 @@
скопившийся мусор, что может произойти спустя дни или даже
недели.</para>
<para>Неправильно: <programlisting>Subject: that PR I sent</programlisting>
Правильно: <programlisting>Subject: Re: ports/12345: compilation problem with foo/bar</programlisting></para>
<para>Неправильно:</para>
<programlisting>Subject: that PR I sent</programlisting>
<para>Правильно:</para>
<programlisting>Subject: Re: ports/12345: compilation problem with foo/bar</programlisting>
</note>
</listitem>
@ -940,6 +1216,43 @@
если это возможно, объясните, как и когда проблема была устранена.</para>
</section>
<section id="pr-problems">
<title>Проблемы взаимодействия с GNATS</title>
<para>Большинство PR проходят сквозь систему и принимаются быстро;
однако, во время загруженности GNATS, подтверждение на ваше сообщение
о проблеме может задержаться на 10 и более минут. Пожалуйста,
сохраняйте спокойствие.</para>
<para>Помимо всего прочего, так как GNATS получает все данные через
электронную почту, становится понятным, почему &os; пропускает все
сообщения через спамфильтры. Если подтверждение не приходит
на протяжении часа-двух, то, возможно, что ваше сообщение попало под них;
если так, то, пожалуйста, свяжитесь с администраторами GNATS по адресу
<email>bugmeister@FreeBSD.org</email> и попросите помощи.</para>
<note>
<para>Среди антиспам мер есть одна, которая сопоставляет сообщения
с множеством злоупотреблений, наблюдаемых в электронной почте
с HTML-форматированием текста (однако, сюда не относится простое
включение HTML в PR). Мы настоятельно рекомендуем не использовать
HTML-форматированный текст при посылке PR: не только из-за вероятности
попадания в спамфильтры, но и из-за загромождения базы данных. Отдайте
предпочтение простому старому текстовому формату.</para>
</note>
<para>В редких случаях вы можете столкнуться с ошибкой GNATS, когда
PR принят и ему присвоен номер, но он не отображается в списках PR
ни на одной из страниц веб поиска PR. Вероятно, что рассинхронизировался
индекс базы с самой базой. Этот случай можно проверить, обратившись
к страничке <ulink url="http://www.FreeBSD.org/cgi/query-pr.cgi">
Query PR Database</ulink> и проконтролировав наличие вашего PR.
Если он есть, пожалуйста, известите администраторов GNATS
(<email>bugmeister@FreeBSD.org</email>). Следует отметить, что
перестройка базы выполняется периодически по <literal>cron</literal>,
и если вам не к спеху, то не предпринимайте никаких шагов.</para>
</section>
<section id="pr-further">
<title>Дополнительная литература</title>