5 Anatomy of a Build

A full build without any -no options performs the following operations in the specified order:

  1. A CVS checkout of the current ports tree [*]

  2. A CVS checkout of the running branch's doc tree [*]

  3. A CVS checkout of the running branch's src tree [*]

  4. Checks which ports do not have a SUBDIR entry in their respective category's Makefile [*]

  5. Creates the duds file, which is a list of ports not to build [*] [+]

  6. Generates a fresh INDEX file [*] [+]

  7. Sets up the nodes that will be used in the build [*] [+]

  8. Builds a list of restricted ports [*] [+]

  9. Builds packages (phase 1) [++]

  10. Performs another node setup [+]

  11. Builds packages (phase 2) [++]

[*] Status of these steps can be found in ${arch}/${branch}/build.log as well as on stderr of the tty running the dopackages command.

[+] If any of these steps fail, the build will stop cold in its tracks.

[++] Status of these steps can be found in ${arch}/${branch}/make.[0|1], where make.0 is the log file used by phase 1 of the package build and make.1 is the log file used by phase 2. Individual ports will write their build logs to ${arch}/${branch}/logs and their error logs to ${arch}/${branch}/errors.

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.

Hosting by: Hurra Communications Ltd.
Generated: 2007-01-26 17:58:40