pavement

Poudriere

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
(Setup: removed option which doesn't seem to work)
Line 1: Line 1:
 
'''Poudriere''' is a program to create packages from port builds inside a jail. This system allows packages to be made without logging into the jail.
 
'''Poudriere''' is a program to create packages from port builds inside a jail. This system allows packages to be made without logging into the jail.
  
 +
==Installation and help==
 
To install:
 
To install:
  % pkg install poudriere
+
  % pkg install poudriere dialog4ports
  
 
  % /usr/ports/ports-mgmt/poudriere/make install clean
 
  % /usr/ports/ports-mgmt/poudriere/make install clean
 +
% /usr/ports/ports-mgmt/dialog4ports/make install clean
  
 
For quick help:
 
For quick help:
 
  % poudriere help
 
  % poudriere help
  
  % poudriere <command> help
+
  % poudriere <subcommand> help
 +
subcommands: bulk, distclean, daemon, help, jail, ports, pkgclean, options, queue, status, testport, version
  
 
==Setup==
 
==Setup==
Line 49: Line 52:
 
Portmaster and Portshaker can be used with Poudriere to add functionality.
 
Portmaster and Portshaker can be used with Poudriere to add functionality.
  
==References==
+
==References and further reading==
 
* [https://www.freebsd.org/cgi/man.cgi?query=poudriere&apropos=0&sektion=0&manpath=FreeBSD+10.1-RELEASE+and+Ports&arch=default&format=html Poudriere manpage]
 
* [https://www.freebsd.org/cgi/man.cgi?query=poudriere&apropos=0&sektion=0&manpath=FreeBSD+10.1-RELEASE+and+Ports&arch=default&format=html Poudriere manpage]
 
* [https://github.com/freebsd/poudriere/wiki/ What is poudriere?]
 
* [https://github.com/freebsd/poudriere/wiki/ What is poudriere?]
 +
* [http://www.bsdnow.tv/tutorials/poudriere Making a binary package repository with poudriere]
  
 
[[Category:Ports and Packages]]
 
[[Category:Ports and Packages]]
 
[[Category:Architecture-Specific]]
 
[[Category:Architecture-Specific]]
 
[[Category:Common Tasks]]
 
[[Category:Common Tasks]]

Revision as of 17:54, 19 March 2015

Poudriere is a program to create packages from port builds inside a jail. This system allows packages to be made without logging into the jail.

Contents

Installation and help

To install:

% pkg install poudriere dialog4ports
% /usr/ports/ports-mgmt/poudriere/make install clean
% /usr/ports/ports-mgmt/dialog4ports/make install clean

For quick help:

% poudriere help
% poudriere <subcommand> help

subcommands: bulk, distclean, daemon, help, jail, ports, pkgclean, options, queue, status, testport, version

Setup

The following configurations are done within the directory /usr/local/etc/.

Edit poudriere.conf based on poudriere.conf.sample To speed up later compiles, by allowing poudriere to track changes and use code from previous compiles, uncomment the following line in poudriere.conf , then make sure this directory exists:

CCACHE_DIR=/var/cache/ccache


Then create make.conf in the /usr/local/etc/poudriere.d/ directory with the following to allow use with pkgng:

WITH_PKG=yes

For specific makefiles, create <JAILNAME>-make.conf.

% vi amd64-make.conf

Poudriere requires a portstree; to create it type:

% poudriere ports -c

Then it requires a base for each architecture and FreeBSD version you wish to compile for:

% poudriere jail -c -j <JAILNAME> -v 10.1-RELEASE -a ARCHITECTURE

If the architecture isn't specified, it defaults to your system's architecture.

Building

Create a file with a list of category/port in it to be referenced by the build. Example contents of <list1>:

multimedia/gstreamer1

Update, set options, then compile:

% poudriere ports -u
% poudriere jail -j <JAILNAME> -u -m svn
% poudriere options -j <JAILNAME> -f <path>/<list1>
% poudriere bulk -j <JAILNAME>

Testing

After compiling use the option testport. This is also a developer's tool.

% poudriere testport -j <JAILNAME>

Added functionality

Portmaster and Portshaker can be used with Poudriere to add functionality.

References and further reading

Personal tools