pavement

Poudriere

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
(Building)
(Configuration, build options, testing, adding functionality)
Line 5: Line 5:
 
or
 
or
 
  /usr/ports/ports-mgmt/poudriere/make install clean
 
  /usr/ports/ports-mgmt/poudriere/make install clean
 +
 +
For quick help type:
 +
% poudriere <option> help
  
 
==Setup==
 
==Setup==
Line 10: Line 13:
  
 
Edit ''poudriere.conf'' based on ''poudriere.conf.sample''
 
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:
+
 
 +
Then create ''make.conf'' in the ''/usr/local/etc/poudriere.d/'' directory with the following to allow use with pkgng:
 
  WITH_PKG=yes
 
  WITH_PKG=yes
 
For specific makefiles, create <JAILNAME>-make.conf here.
 
For specific makefiles, create <JAILNAME>-make.conf here.
Line 28: Line 35:
 
Create a file with a list of ''category/port'' in it to be referenced by the build. Example contents of <list1>:
 
Create a file with a list of ''category/port'' in it to be referenced by the build. Example contents of <list1>:
 
  multimedia/gstreamer1
 
  multimedia/gstreamer1
Update ports then compile:
+
 
 +
These can be set now, or during the build:
 +
% poudriere options -j <JAILNAME> -f ~/mylist
 +
or
 +
% poudriere options -j <JAILNAME> cat/port1 cat/port2
 +
 
 +
Update ports, set options, then compile:
 
  % poudriere ports -u
 
  % poudriere ports -u
 
  % poudriere bulk -f ~/<list1> -j <JAILNAME>
 
  % poudriere bulk -f ~/<list1> -j <JAILNAME>
 +
 +
==Testing==
 +
After compiling use the option testport. This is also a developer's tool.
 +
% poudriere ports -l
 +
% poudriere testport -j <JAILNAME> -o <category>/<portname>
 +
 +
==Added functionality==
 +
Portmaster and Portshaker can be used with Poudriere to add functionality.
  
 
==References==
 
==References==

Revision as of 03:08, 10 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.

To install:

pkg install poudriere

or

/usr/ports/ports-mgmt/poudriere/make install clean

For quick help type:

% poudriere <option> help

Contents

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 here.

% vi amd64-make.conf

To configure source options, including source retrieval, edit src.conf, and for custom files create <JAILNAME>-src.conf. See the manpage for src.conf for options.

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 -m svn

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

These can be set now, or during the build:

% poudriere options -j <JAILNAME> -f ~/mylist

or

% poudriere options -j <JAILNAME> cat/port1 cat/port2

Update ports, set options, then compile:

% poudriere ports -u
% poudriere bulk -f ~/<list1> -j <JAILNAME>

Testing

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

% poudriere ports -l
% poudriere testport -j <JAILNAME> -o <category>/<portname>

Added functionality

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

References

Personal tools