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