===== Comparison of FreeBSD package building technologies ===== :!: This page is of historical interest only. These days, the recommended technology is poudriere. 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 | (old) Package Building Cluster | [[http://www.freebsd.org/portmgr/|portmgr]] | [[http://svnweb.freebsd.org/base/projects/portbuild/|pointyhat repo]] | | [[http://tinderbox.marcuscom.com/|tinderbox]] | Ports Tinderbox, %%MarcusCom%% tinderbox | [[JoeMarcus|Joe Marcus Clarke]] | [[http://www.marcuscom.com/cgi-bin/cvsweb.cgi/portstools/tinderbox/|tinderbox repo]] | | [[http://www.redports.org/|redports]] | | [[BernhardFroehlich|Bernhard Froehlich]] | [[http://svn.bluelife.at/index.cgi/redports|redports repo]] | | [[https://github.com/freebsd/poudriere|poudriere]] | | [[BaptisteDaroussin|Baptiste Daroussin]] & [[BryanDrewery|Bryan Drewery]] | [[https://github.com/freebsd/poudriere/|poudriere repo]] | :!: The **ports tinderbox** is a completely different codebase than the **[[Tinderbox|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 | web-based | 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. | | [[http://people.freebsd.org/~bdrewery/poudriere-0515.pdf|Overview]] | ---- {{tag>Historical}}