The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Руководства по FreeBSD на русском" / Оглавление документа

3 Построение релизов

``Релизы'' FreeBSD могут быть построены любым человеком, имеющим быстродействующую машину и доступ к хранилищу исходных текстов. (Это должен быть любой, так как мы предоставляем анонимный доступ к CVS! Обратитесь к Руководству для прояснения деталей.) Единственнным особым требованием является наличие устройства vn(4). (В -CURRENT это устройство было заменено на новый драйвер дисков в памяти md(4).) Если устройтво в вашем ядре не подгружено, то модуль ядра должен быть подгружен автоматически при выполнении команды vnconfig(8) на этапе создания носителя для загрузки. Все инструменты, необходимые для построения релиза, доступны из хранилища CVS в каталоге src/release. Эти инструменты предоставляют единый метод построения релизов FreeBSD. Полный релиз может быть реально построен при помощи лишь одной команды, включая создание ISO-образов, подходящих для записи на CDROM, установочных дискет и установочного каталога FTP. Эта команда называется соответствующим образом, make release.

3.1 make release

Для успешного построения релиза вы должны сначала заполнить каталог /usr/obj, запустив команду make world или просто make buildworld. Цель, выполняемая для построения релиза, требует корректного задания нескольких переменных, используемых при его сборке:

Если у вас ещё нет доступа к локальному CVS-хранилищу, то вы можете зеркалировать одно из них при помощи CVSup. Поставляемый sup-файл, /usr/share/examples/cvsup/cvs-supfile, может служить хорошей отправной точкой для зеркалирования хранилища CVS.

Если RELEASETAG опущен, то релиз будет строиться из ветки HEAD (известной как -CURRENT). Релизы, строящиеся из этой ветки обычно называют ``снэпшотами -CURRENT''.

Для настройки построения релиза существует много других переменных Большинство из этих переменных описаны в начале файла src/release/Makefile. Точная команда, служащая для построения официального релиза FreeBSD 4.7 (x86) такова:

make release CHROOTDIR=/local3/release \
        BUILDNAME=4.7-RELEASE \
        CVSROOT=/host/cvs/usr/home/ncvs \
        RELEASETAG=RELENG_4_7_0_RELEASE

Makefile для релиза может быть разбит на несколько различных шагов.

Для получения более полной информации об инфраструктуре построения релизов, пожалуйста, обратитесь к справочной странице по release(7).

3.2 Построение XFree86

XFree86 является важным компонентом для многих пользователей настольных систем. До выхода FreeBSD 4.6-RELEASE в релизах по умолчанию использовалась XFree86 3.X. Самым простым способом построения этих версий является использование скрипта src/release/scripts/X11/build_x.sh. Он требует, чтобы на хост, выполняющий построение, уже были установлены XFree86 и Tcl/Tk. После компиляции необходимых X-серверов, скрипт преобразует все файлы в архивные, которые sysinstall(8) ожидает найти в каталоге XF86336 на установочном носителе.

Начиная с FreeBSD 4.6-RELEASE, sysinstall(8) по умолчанию устанавливает XFree86 4.X, как набор ``обычных'' пакаджей. Это могут быть как пакаджи, созданные в процессе работы кластера построения портов, так и пакаджи, построенные из соответствующим образом помеченного дерева портов.

Note: Важно, чтобы из файла /etc/make.conf были удалены все установки, специфичные для конкретного хоста. К примеру, будет глупо распространять бинарные файлы, построенные на системе с переменной CPUTYPE, указывающей на определённый тип процессора.

3.3 Программное обеспечение третьих лиц (``ports'')

Коллекция портов FreeBSD содержит более 10,000 программных пакетов сторонних разработчиков, которые доступны для FreeBSD. За поддержку целостности дерева портов, которое может использоваться для создания бинарных пакаджей, поставляемых с официальными релизами FreeBSD, отвечает Ports Management Team .

Рассмотрение работ с нашей коллекцией пакетов сторонних разработчиков при подготовке релизов выходит за рамки этого документа. Этот вопрос глубоко рассмотрен в отдельной статье, The Release Engineering of Third Party Packages.

3.4 ISO с релизами

Начиная с FreeBSD 4.4, Проект FreeBSD принял решение распространять все четыре образа ISO, ранее продаваемые через BSDi/Wind River Systems/FreeBSD Mall как ``официальные'' дистрибутивы на CDROM. Каждый из четырёх дисков должен содержать файл README.TXT, описывающий содержимое диска, файл CDROM.INF, в котором находятся мета-данные о диске для того, чтобы sysinstall(8) мог проверять и использовать содержимое, а также файл filename.txt, содержащий перечень содержимого на диске. Этот перечень может быть создан простой командой:

/stage/cdrom# find . -type f | sed -e 's/^\.\///' | sort > filename.txt

Специфичные требования для каждого CD описываются ниже.

3.4.1 Диск 1

Первый диск практически полностью создаётся командой make release. Единственным изменением, которое нужно внести в каталог disc1, является добавление подкаталогов tools и XFree86, а также перенос максимально возможного количества программных пакетов сторонних разработчиков, которые поместятся на диск. Каталог tools содержит программное обеспечение, позволяющее пользователям создавать установочные дискеты из других операционных систем. Этот диск нужно сделать загрузочным, чтобы пользователям современных ПК не нужно было создавать установочные дискеты.

Если предоставляется другая версия XFree86, до должны быть обновлены утилита sysinstall(8), отражающая новое местоположение, и инструкции по установке. Соответствующий код находится в каталоге src/release/sysinstall в ветке -STABLE или в src/usr.sbin/sysinstall в ветке -CURRENT. Должны быть обновлены конкретно файлы dist.c, menus.c и config.c.

3.4.2 Диск 2

Второй диск также в основном создаётся по команде make release. Он содержит ``живую файловую систему'', которую можно использовать из sysinstall(8) для исправления процесса установки FreeBSD. Этот диск должен быть загрузочным и содержать также упакованную копию хранилища CVS в каталоге CVSROOT и демонстрационные версии коммерческого программного обеспечения в каталоге commerce.

3.4.3 Диски 3 и 4

Оставшиеся два диска содержат дополнительные программные пакеты для FreeBSD. Они должны быть объединены в группы (кластеры), чтобы отдельный пакет и все его зависимости находились на одном и том же диске. Дополнительная информация о создании этих дисков находится в статье The Release Engineering of Third Party Packages.

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

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру