Пакеты собираются в ограниченной (chroot) среде,
которая разворачивается скриптом portbuild из архива
.
Этот архив создается при помощи скрипта ${arch}/${branch}/tarballs/bindist.tarmkbindist,
конфигурация которого описывается файлом
.
${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>.