Пакеты собираются в ограниченной (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>.