Пакеты собираются в ограниченной (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.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.