Skip to content
Bryan Drewery edited this page Mar 13, 2017 · 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)](./poudriere.8) or [poudriere-devel(8)](./poudriere-devel.8)
    
  • [Release notes](./release_notes).
    

How-to...

  • [...create and maintain pkg repositories](./pkg_repos)
    
  • [...manage poudriere ports using portshaker](./portshaker)
    
  • [...use the generated packages with portmaster](./portmaster)
    
  • [...use ccache with poudriere](./ccache)
    
  • [...easily generate options](./options)
    
  • [...use the system ports tree in poudriere](./use_system_ports_tree)
    
  • [...using testport to test ports](./using_testport)
    
  • [...enable parallel make (make jobs, make -j)] (./allow_make_jobs)
    
  • [...use hooks to control the build](./hooks)
    

Hacking

To hack on poudriere you first need to use git

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

Happy FreeBSDing!

Join us on IRC: #poudriere on Freenode

Clone this wiki locally