What is poudriere?
poudriere is a BSD-2 licensed tool primarily designed to test package production on FreeBSD. However, most people will find it useful to bulk build ports for FreeBSD.
Its goals are to use modern facilities present in FreeBSD, to be easy to use, to depend only on base, and to be parallel.
It is able to build the whole portstree like tinderbox does.
poudriere is able to build packages for versions of FreeBSD that are different from the box on which it is installed, and also to build packages for i386 if the host is an amd64 box.
Once the package building is done, the packages will be in a layout identical to the official mirrors. Therefore they will be useable by any package management tool (pkg_add, portmaster, and so on).
What does poudriere require?
- a recent FreeBSD (>= 8.3)
- root access
That is all. For more comfort, we recommend to have quite a lot of RAM in order to make the builds in a VM resident filesystem.
How to install it?
Just type "make install" at the top-level directory.
What do I need to configure before being able to start using it?
Create a mandatory configuration file
Poudriere will look for a configuration file in /usr/local/etc.
Copy the default configuration file:
cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf
then edit it:
The comments inside the configuration file should be sufficient.
- ...create and maintain pkgng repositories
- ...manage poudriere ports using portshaker
- ...use the generated packages with portmaster
- ...use ccache with poudriere
- ...easily generate options
- ...use the system ports tree in poudriere
- ...using testport to test ports
To hack on poudriere you first need to use fossil
and clone the repo:
# fossil clone https://fossil.etoilebsd.net/poudriere poudriere.fossil # mkdir poudriere # cd poudriere # fossil open ../poudriere.fossil
There is also a git mirror available at https://github.com/bdrewery/poudriere
Any of these options are available for contributing:
- Open new ticket with patch attached
- Post link to patch in #poudriere on freenode
- Post patch to freebsd-pkg@FreeBSD.org
- Send github Pull Request (not preferred, but still accepted)
Join us on IRC: #poudriere on Freenode