Comparison of FreeBSD package building technologies

There are various solutions used in building multiple packages for FreeBSD. In a perfect world these would all be based on the same code as a reusable toolkit. In the meantime, here is an overall summary of what each one supports.

Project Overviews

Project

Also Known As

Maintainer

Source Code

pointyhat

Package Building Cluster

portmgr

pointyhat repo

tinderbox

Ports Tinderbox, MarcusCom tinderbox

Joe Marcus Clarke

tinderbox repo

redports

Bernhard Froehlich

redports repo

poudriere

Baptiste Daroussin & Bryan Drewery

poudriere repo

/!\ The ports tinderbox is a completely different codebase than the src tinderbox. On occasion you will hear people just refer to tinderbox. You will have to figure out from context which one they mean.

Feature Sets

Project

cmdline?

UI?

entire tree?

partial tree?

single port?

-incremental?

distributed?

multiarch?

pointyhat

only

N

Y

Y

Y

Y

Y

Y

tinderbox

Y

web-based

Y

Y

Y

Y

N

Y

redports

svn

Y

N

Y

Y

Y

Y

Y

poudriere

only

N

Y

Y

Y

Y

N

Y

Discussion

Project

strengths

weaknesses

comments

pointyhat

whole trees, incremental runs

fragile, hard to set up

best for building whole trees

tinderbox

good documentation, web-based UI, turnkey, available in ports as ports-mgmt/tinderbox

not distributed

best for individual user installations

redports

public service, multiuser, modern user interface, many environments

Can take a long time as the queue gets backed up.

package building uses ports tinderbox

poudriere

Fast, incremental, jails, no deps (using jail,sh,ZFS[optional]), easy to setup and use, easy to run customized build. Supports cross arch and release builds. Highly tested with PKGNG. Builds packages in parallel.

Overview

FreeBSDPackageBuildingComparison (last edited 2013-05-20 11:37:48 by BryanDrewery)