Package Building Procedures
Prev |  | Next

# 6 Anatomy of a Build

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

1. An update of the current `ports` tree from the ZFS snapshot[1]

2. An update of the running branch's `src` tree from the ZFS snapshot[1]

3. Checks which ports do not have a `SUBDIR` entry in their respective category's `Makefile` [1]

4. Creates the `duds` file, which is a list of ports not to build[1] [2]

5. Generates a fresh `INDEX` file[1] [2]

6. Sets up the nodes that will be used in the build[1] [2]

7. Builds a list of restricted ports[1] [2]

8. Builds packages (phase 1)[3]

9. Performs another node setup[1]

10. Builds packages (phase 2)[3]

### Notes

[1] | Status of these steps can be found in ``${arch}`/`${branch}`/build.log` as well as on stderr of the tty running the `dopackages` command.
[2] | If any of these steps fail, the build will stop cold in its tracks.
[3] | Status of these steps can be found in ``${arch}`/`${branch}`/journal`. Individual ports will write their build logs to ``${arch}`/`${branch}`/logs/` and their error logs to ``${arch}`/`${branch}`/errors/`.

Prev | Home | Next
Starting the Build |  | Build Maintenance