Подготовка релизов FreeBSD

Murray Stokely

Издание: 43234
Юридическое уведомление
2013-11-24 taras.
Аннотация

В этой статье описывается подход, который используется группой подготовки релизов FreeBSD для создания качественных версий Операционной Системы FreeBSD. В ней детально описывается методология, используемая для официальных релизов FreeBSD и рассказывается об инструментах, доступных тем, кто интересуется созданием модифицированных релизов FreeBSD для тиражирования внутри организации или в коммерческих целях.

[ По разделам / Одним файлом ]

Содержание
1. Введение
2. Процесс выпуска релиза
3. Построение релизов
4. Распространение
5. Расширяемость
6. Уроки, извлечённые из FreeBSD 4.4
7. Направления будущих работ
8. Благодарности
9. Справочная литература

1. Введение

Разработка FreeBSD представляет собой весьма открытый процесс. FreeBSD составляется в результате общих усилий тысяч людей по всему миру. Проект FreeBSD предоставляет анонимный публичный доступ по протоколу CVS[1], так что любой может получить доступ к журналу изменений, разницам (патчам) между ветками разработки и другим продвинутым возможностям, которые даёт строгое управление исходным кодом. Это сильно помогает в привлечении к FreeBSD всё большего количества талантливых разработчиков. Однако, и я думаю, что все со мной согласятся, наступит хаос, если доступ по записи будет открыт всем в Internet. Поэтому только «избранная» группа примерно из 300 человек имеет доступ по записи в CVS-хранилище. Эти коммиттеры[5] отвечают в целом за разработку FreeBSD. Выбираемая из самых заслуженных разработчиков группа правления[6] обеспечивает некоторый уровень управления проектом.

Темп разработок, ведущихся во FreeBSD, оставляет мало времени на тщательную доводку системы до качества продуктивного релиза. Для решения этой проблемы разработка ведётся в два параллельных потока. Основной веткой разработки является HEAD, она же основная линия нашего дерева CVS, известная также под именем «FreeBSD-CURRENT» или, для краткости, «-CURRENT».

Поддерживается и более стабильная ветка, известная как «FreeBSD-STABLE» или, для краткости, «-STABLE». Обе ветки находятся в основном CVS-хранилище в Калифорнии и реплицируются при помощи CVSup[2] на зеркала по всему миру. FreeBSD-CURRENT[7] является «передним краем» работ над FreeBSD, через который попадают все изменения в системе. FreeBSD-STABLE является веткой разработки, из которой создаются основные релизы. В эту ветку изменения попадают разными путями, и предполагается, что сначала они попали в FreeBSD-CURRENT, где были тщательно протестированы сообществом наших пользователей.

В промежутке между релизами машинами Проекта FreeBSD, выделенными для построения системы, ежемесячно автоматически собираются снэпшоты, которые доступны для закачки по адресу ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/. Общедоступность снэпшотов бинарных релизов, а также желание сообщества наших пользователей отслеживать работу над -STABLE при помощи CVSup и «make world»[7] помогает поддержать весьма хорошее качество FreeBSD-STABLE, даже до выполнения мероприятий проверки качества, предваряющих выпуск основных релизов.

В процессе выпуска релиза пользователи постоянно присылают сообщения об ошибках и пожелания по расширению функциональности. Сообщения о проблемах попадают в нашу базу данных GNATS[8] по электронной почте, посредством утилиты send-pr(1) или через Web-интерфейс, доступный по адресу http://www.FreeBSD.org/send-pr.html.

Для удовлетворения наших самых консервативно настроенных пользователей, начиная с FreeBSD 4.3, появились ветки для отдельных релизов. Эти ветки создаются вскоре после того, как выпускается окончательный релиз. После его выхода в ветку релиза помещаются только самые критичные исправления и добавления, касающиеся безопасности. Кроме обновлений исходных текстов посредством CVS, для систем веток RELENG_X_Y имеются и бинарные наборы патчей.

1.1. Что обсуждается в данном документе?

В последующих главах этой статьи обсуждаются:

Раздел 2, «Процесс выпуска релиза»

Различные этапы процесса подготовки релиза вплоть до построения актуальной системы.

Раздел 3, «Построение релизов»

Процесс сборки.

Раздел 5, «Расширяемость»

Как базовый релиз может быть расширен третьими сторонами.

Раздел 6, «Уроки, извлечённые из FreeBSD 4.4»

Некоторые из уроков, полученных при выпуске релиза FreeBSD 4.4.

Раздел 7, «Направления будущих работ»

Направления будущих работ.

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.