- Move includes.nav*.sgml to share/sgml/navibar.ent and
<lang>/share/sgml/navibar.l10n.ent.
- Move includes.sgml and includes.xsl to
share/sgml/common.ent, share/sgml/header.ent, <lang>/share/sgml/l10n.ent,
and <lang>/share/sgml/header.l10n.ent.
- Move most of XSLT libraries to share/sgml/*.xsl and
<lang>/share/sgml/*.xsl.
- Move news.xml and other *.xml files for the similar purpose
to share/sgml/*.xml and <lang>/share/sgml/*.xml.
- Switch to use a custom DTD for HTML document. Now we use
"-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension", which is
HTML 4.01 + some entities previously pulled via
"<!ENTITY % includes SYSTEM "includes.sgml"> %includes;" line.
The location of entity file will be resolved by using catalog file.
- Add DOCTYPE declearation to XML documents. This makes the followings
possible:
* Use of &foo; entities for SGML in an XML file instead of defining
{$foo} as the same content.
* &symbolic; entities for Latin characters.
- Duplicated information between SGML and XML, or English and
translated doc, has been removed as much as possible.
197 lines
8.3 KiB
Text
197 lines
8.3 KiB
Text
<!--
|
||
The FreeBSD Russian Documentation Project
|
||
|
||
$FreeBSDru: frdp/www/ru/portmgr/qa.sgml,v 1.2 2005/08/08 17:03:06 marck Exp $
|
||
|
||
Original revision: 1.2
|
||
-->
|
||
|
||
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
|
||
<!ENTITY base CDATA "..">
|
||
<!ENTITY date "$FreeBSD: www/ru/portmgr/qa.sgml,v 1.3 2005/10/05 20:59:56 simon Exp $">
|
||
<!ENTITY title "Задачи контроля качества для Группы управления портами">
|
||
<!ENTITY % navinclude.developers "INCLUDE">
|
||
]>
|
||
|
||
<html>
|
||
&header;
|
||
|
||
<p>Имеется ряд задач, которые выполняет Группа управления портами в целях
|
||
улучшения качества Коллекции Портов. Они делятся на две большие категории:
|
||
<a href="#qa-before-release">мероприятия во время цикла подготовки
|
||
релиза</a> и <a href="#qa-between-releases">мероприятия между циклами
|
||
подготовки релизов</a>.</p>
|
||
|
||
<h3><a name="qa-before-release">Мероприятия во время цикла подготовки
|
||
релиза</a></h3>
|
||
|
||
<ul>
|
||
<li><p>Работа с <a href="../releng/index.html">Группой подготовки
|
||
релизов</a> по координации графика выпуска релиза.</p></li>
|
||
|
||
<li><p>Работа с группой RE по определению того, какие предварительной
|
||
построенные пакеты могут быть по умолчанию размещены на установочные
|
||
ISO-образы.</p></li>
|
||
|
||
<li>
|
||
<p>Управление коммитами в дерево CVS в целях построения пакетов, что
|
||
подразумевает выполнение следующих шагов:</p>
|
||
|
||
<ol>
|
||
<li>
|
||
<p>Объявление о приостановке работ и генерации пакетов для всех
|
||
соответствующих архитектур. Часто этот процесс повторяется, потому
|
||
что либо в разных портах обнаруживаются ошибки, либо изменения в
|
||
дереве исходных текстов системы создают определённые риски, которые
|
||
могут привести к тому, что уже построенные пакеты не будут работать
|
||
после внесения этих изменений.</p>
|
||
|
||
<p>Для обеспечения целостности и корректности сборки пакетов
|
||
<i>все</i> коммиты должны быть согласованы с группой управления
|
||
портами. Обычно разрешаются следующие изменения:</p>
|
||
|
||
<ul>
|
||
<li><p>исправления, влияющие на успешность построения
|
||
пакета;</p></li>
|
||
|
||
<li><p>исправления, касающиеся информационной безопасности
|
||
критических для работы пакетов;</p></li>
|
||
|
||
<li><p>обнаруженные проблемы с лицензионными соглашениями.</p></li>
|
||
</ul>
|
||
|
||
<p>К сожалению, из-за невероятного размера Коллекции Портов и
|
||
скорости разработки приложений, к моменту выпуска релиза исправить
|
||
все ошибки невозможно.</p>
|
||
</li>
|
||
|
||
<li>
|
||
<p>После этого дерево блокируется для любых изменений и помечается
|
||
CVS-меткой.</p>
|
||
</li>
|
||
|
||
<li>
|
||
<p>Затем дерево разблокировывается и объявляется о
|
||
<tt>полировке</tt>. Это состояние нужно для того, чтобы вносить в
|
||
Коллекцию Портов обычные изменения, но с тем, что они не появятся
|
||
на ISO с релизом. В коммитах необходимо избегать следующих
|
||
вещей:</p>
|
||
|
||
<ul>
|
||
<li><p>обновления портов со многими зависимостями, в частности,
|
||
серверы X11, KDE и GNOME;</p><li>
|
||
|
||
<li><p>прямые копирования в хранилище многих портов;</p><li>
|
||
|
||
<li><p>и так далее.</p><li>
|
||
</ul>
|
||
|
||
<p>Причина, по которой мы хотим избежать таких коммитов, заключается
|
||
в том, что если будет найдена какая-то настолько серьёзная проблема
|
||
(связанная с безопасностью или вопросами лицензирования), что нам
|
||
придётся делать изменения, которую могут быть перенесены на ISO c
|
||
релизом, то ко всему прочему нам будет нужно проставлять CVS-метку
|
||
на эти изменённые файлы. Если мы разрешим абсолютно все виды
|
||
изменений, то высок риск, что любое такое изменение приведёт к
|
||
необходимости повторного построения пакетов снова и снова, и в
|
||
результате процесс подготовки релиза будет бесконечным.</p>
|
||
</li>
|
||
</ol>
|
||
|
||
<p>Как только команда RE и portmgr останутся довольными итоговым
|
||
состоянием ISO с релизом, дерево портов будет снова полностью доступно
|
||
для коммитов.</p>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3><a name="qa-between-releases">Мероприятия между циклами подготовки
|
||
релизов</a></h3>
|
||
|
||
<ul>
|
||
<li>
|
||
<p>Управление машинами <a href="http://pointyhat.FreeBSD.org">кластера
|
||
построения портов</a>. Они постоянно строят пакеты для всех возможных
|
||
комбинаций релизов ОС и архитектур ЦП (по нашей терминологии <tt>сред
|
||
построения</tt>.)</p>
|
||
|
||
<p>В процессе этих построений также генерируются протоколы ошибок для
|
||
пакетов, которые строятся некорректно (обратитесь по URL-адресу выше).
|
||
Периодически группа помечает эти порты как нерабочие (BROKEN), чтобы
|
||
это могли увидеть мэйнтейнеры. (Смотрите далее.)</p>
|
||
|
||
<p>Успешно построенные пакеты (по крайней мере, те, что распространяются
|
||
свободно) также копируются на главный FTP-сервер и таким образом
|
||
становятся по умолчанию "самыми последними пакетами" для
|
||
выполнения установки при помощи пакетов, а не портов.</p>
|
||
</li>
|
||
|
||
<li>
|
||
<p>Оповещение сообщества FreeBSD о проблемах в Коллекции Портов, чтобы
|
||
они не были пропущены. Для этого существует некоторое количество
|
||
отчётов, отправляемых по электронной почте. Те, что отмечены как
|
||
<tt>общедоступные</tt>, публикуются во freebsd-ports.</p>
|
||
|
||
<ul>
|
||
<li><p>общедоступный перечень портов, удалённых из-за проблем с
|
||
безопасностью, ошибок построения или общей устарелости, если до этого
|
||
ситуация не будут исправлена.</p></li>
|
||
|
||
<li><p>частные письма всем мэйнтейнерам затронутых портов (включая
|
||
порты, зависящие от указанных выше).</p></li>
|
||
|
||
<li><p>частные письма всем мэйнтейнерам портов, которые уже помечены
|
||
как нерабочие (BROKEN) и/или запрещённые (FORBIDDEN).</p></li>
|
||
|
||
<li><p>частные письма мэйнтейнерам, не являющимся коммиттерами, которые
|
||
направили PR о собственных портах (для отметки PR, которые могли
|
||
не направляться им через Cc:).</p></li>
|
||
|
||
<li><p>сообщение всем о коммитах портов, которые нарушают построение
|
||
файла INDEX.</p></li>
|
||
|
||
<li><p>оповещение всех о коммитах портов, в которых мета-данные о
|
||
версиях меняются в обратную сторону (и таким образом вводят в
|
||
заблуждение такие инструменты, как portupgrade).</p></li>
|
||
|
||
<li><p>общедоступный перечень всех портов, которые имеют по крайней
|
||
мере один файл, который невозможно сгрузить с любого главного сайта,
|
||
не относящегося к FreeBSD. Полный список результатов проверки
|
||
доступности всех файлов со всех своих главный сайтов можно найти в
|
||
<a href="http://people.FreeBSD.org/~fenner/portsurvey/">тесте портов
|
||
Билла Феннера</a>.</p></li>
|
||
|
||
<li><p>частные письма мэйнтейнерам затронутых портов, если порт будет
|
||
помечаться как нерабочий (BROKEN), копия через Cc: направляется
|
||
последнему коммиттеру порта. (Эта почта не автоматизируется, но она
|
||
должна посылаться как жест вежливости.)</p></li>
|
||
|
||
<li><p>список портов, которые не устанавливают NO_LATEST_LINK. (Порты,
|
||
у которых есть и стабильная версия, и версия в процессе разработки,
|
||
обычно устанавливают номер версии в разработки на большее значение.
|
||
Если желательно, чтобы из пакетов пользователи устанавливали
|
||
стабильную версию, а не версию в разработке, то нужно задать этот
|
||
параметр; в противном случае по умолчанию пользователи получат
|
||
последнюю версию.)</p></li>
|
||
</ul>
|
||
</li>
|
||
|
||
<li>
|
||
<p>Удаление устаревших портов. Порты, которые уже помечены как BROKEN
|
||
какой-то период времени, помечаются как DEPRECATED (с установкой
|
||
EXPIRATION_DATE), а затем удаляются, если за истекшее время никто их не
|
||
исправил. Целью такого порядка является обеспечение того, что если
|
||
пользователь установил порт, то он должен иметь максимальные шансы
|
||
на восстановление работоспособность.</p>
|
||
|
||
<p>В других случаях порты помечаются как DEPRECATED, если они заменяются
|
||
на более современные версии, а старые больше автором не поддерживаются.
|
||
Обычно при этом должна задаваться EXPIRATION_DATE не менее чем в два
|
||
будущих месяца, что даёт достаточно времени, чтобы произвести
|
||
обновление.</p>
|
||
</li>
|
||
</ul>
|
||
|
||
&footer;
|
||
|
||
</body>
|
||
</html>
|