FreeBSD Release Engineering for Third Party Software Packages

Steve Price

Revision: 43184
Legal Notice
Last modified on 2013-11-13 by hrs.
Abstract

This paper describes the approach used by the FreeBSD ports management team to produce a high quality package set suitable for official FreeBSD release media. This document is a work in progress, but eventually it will cover the process used to build a clean package set on the FreeBSD.org Ports Cluster, how to configure any other set of machines as a ports cluster, how to split up the packages for the release media, and how to verify that a package set is consistent.

[ Split HTML / Single HTML ]

Table of Contents
1. Building packages from the Ports Collection
2. The Package Split

1. Building packages from the Ports Collection

The FreeBSD Ports collection is a collection of over 24,000 third-party software packages available for FreeBSD. The Ports Management Team is responsible for maintaining a consistent ports tree that can be used to create the binary packages that accompany a given FreeBSD release.

1.1. The Ports Cluster

In order to provide a consistent set of third-party packages for FreeBSD releases, every port is built in a separate chroot environment, starting with an empty /usr/local and /usr/X11R6. The requisite dependencies are installed as packages before the build proceeds. This enforces consistency in the package build process. By starting the package build in a pristine environment, we can assure that the package metadata (such as required dependencies) is accurate. This way, we will never generate packages that might work on some systems and not on others depending on what software was previously installed.

The Ports Cluster for the x86 architecture currently consists of a master node (Dual Pentium® III 733MHz) and 8 slave nodes (Pentium® III 800MHz) to do the actual package builds. With this configuration, a complete package build takes over 24 hours. These machines are co-located with the other FreeBSD Project equipment at Yahoo's corner of Exodus in Santa Clara, CA.

The Ports Cluster for the Alpha architecture consists of 7 PWS 500A machines donated by Compaq and also co-located with Yahoo's facilities.

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>.