3. Jail Build Environment Setup

Package builds are performed by the clients in a jail populated by the portbuild script using the ${arch}/${branch}/builds/${buildid}/bindist.tar file.

On the server, use the makeworld command to build a world from the ${arch}/${branch}/builds/${buildid}/src/ tree and install it into ${arch}/${branch}/builds/${buildid}/bindist.tar. The tree will be updated first unless -novcs is specified.

# /a/portbuild/admin/scripts/makeworld ${arch} ${branch} ${buildid} [-novcs]

Similiarly on the server, the bindist.tar tarball is created from the previously installed world by the mkbindist script.

# /a/portbuild/admin/scripts/mkbindist ${arch} ${branch} ${buildid}

The per-machine tarballs are located on the server in ${arch}/clients.

The bindist.tar file is extracted onto each client at client boot time, and at the start of each pass of the dopackages script.

For both commands above, if ${buildid} is latest, it may be omitted.


Currently the above two scripts must be run as root; otherwise, the install scripts lack sufficient permissions. This is undesirable for security reasons. Work is in progress in -HEAD to allow users to do installations; once that is committed, the intention is to use that and run these two commands as srcbuild.

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.