3. Подготовка ограниченной среды сборки
Пред. |  | След.

## 3. Подготовка ограниченной среды сборки

Пакеты собираются в ограниченной (`chroot`) среде, которая разворачивается скриптом `portbuild` из архива ``${arch}`/`${branch}`/tarballs/bindist.tar`. Этот архив создается при помощи скрипта `mkbindist`, конфигурация которого описывается файлом ``${arch}`/`${branch}`/mkbindist.conf`.

Скрипт должен запускаться с правами пользователя `root` и следующими параметрами:

/var/portbuild`#` `scripts/mkbindist `${arch}` `${branch}``

При указании в файле `mkbindist.conf` параметра `ftp=1` с адреса ftp://`${ftpserver}`/`${ftpurl}`/`${rel}` будет загружен предварительно собранный релиз. Если указано `ftp=0` и `buildworld=1`, скрипт `mkbindist` выполнит `makeworld` для того, чтобы собрать релиз на месте [`XXX` Эта часть в настоящее время не работает].

Если оба параметра равны нулю (`ftp=0` и `buildworld=0`), то `mkbindist` будет использовать существующее на момент запуска состояние дерева `${worlddir}` для создания `bindist.tar`. На практике это означает, что вы должны предварительно установить систему в ${worlddir}, что обычно делается при помощи скрипта `makeworld`:

/var/portbuild`#` `scripts/makeworld `${arch}` `${branch}` [-nocvs]`

Эта команда соберет систему на базе исходных текстов в дереве ``${arch}`/`${branch}`/src` и установит ее в `${worlddir}`. Исходные тексты будут обновлены, если не указан параметр `-nocvs`.

Содержимое архива `bindist.tar` будет распаковано на каждом клиенте в период загрузки, а также на старте каждого прохода скрипта `dopackages`.

Пред. |  | След.
2. Конфигурация машин-клиентов | Начало | 4. Запуск сборки

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

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