Skip to content
Baptiste Daroussin edited this page Sep 19, 2014 · 18 revisions

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:

$EDITOR /usr/local/etc/poudriere.conf

The comments inside the configuration file should be sufficient. Documentation

  • See poudriere(8).
    
  • Release notes.
    

How-to...

  • ...create and maintain pkgng repositories
    
  • ...manage poudriere ports using portshaker
    
  • ...use the generated packages with portmaster
    
  • [...use ccache with poudriere](./ccache)
    
  • ...easily generate options
    
  • [...use the system ports tree in poudriere](./use_system_ports_tree)
    
  • ...using testport to test ports
    

Hacking

To hack on poudriere you first need to use fossil

and clone the repo:

# git clone https://github.com/freebsd/poudriere
# cd poudriere

Known Issues

Contributing

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 [email protected]
Send github Pull Request (not preferred, but still accepted)

Happy FreeBSDing!

Join us on IRC: #poudriere on Freenode

Clone this wiki locally