pavement

Poudriere

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
m (Testing)
m
 
(7 intermediate revisions by one user not shown)
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 type:
+
For quick help:
  % poudriere <option> help
+
% poudriere help
 +
 
 +
  % poudriere <subcommand> help
  
 
==Setup==
 
==Setup==
The following configurations are done within the directory ''/usr/local/etc/''.
+
The following configurations are done within the directory {{file|/usr/local/etc/}}.
  
Edit ''poudriere.conf'' based on ''poudriere.conf.sample''
+
Edit {{file|poudriere.conf}} based on {{file|poudriere.conf.sample}}
 
To speed up later compiles, by allowing poudriere to track changes and use code from previous compiles,
 
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:
+
uncomment the following line in {{file|poudriere.conf}}, then make sure this directory exists:
 
  CCACHE_DIR=/var/cache/ccache
 
  CCACHE_DIR=/var/cache/ccache
  
 
+
Then create {{file|make.conf}} in the {{file|/usr/local/etc/poudriere.d/}} directory with the following to allow use with pkgng:
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 {{file|''<JAILNAME>''-make.conf}}.
 
  % vi amd64-make.conf
 
  % 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 requires a portstree; to create it type:
Line 29: Line 30:
  
 
Then it requires a base for each architecture and FreeBSD version you wish to compile for:
 
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
+
  % poudriere jail -c -j <JAILNAME> -v 10.1-RELEASE -a ARCHITECTURE
 
If the architecture isn't specified, it defaults to your system's architecture.
 
If the architecture isn't specified, it defaults to your system's architecture.
  
 
==Building==
 
==Building==
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''
 
+
These can be set now, or during the build:
+
% poudriere options -j <JAILNAME> -f <directory>/<list1>
+
or
+
% poudriere options -j <JAILNAME> cat/port1 cat/port2
+
  
Update ports, set options, then compile:
+
Update, set options, then compile:
 
  % poudriere ports -u
 
  % poudriere ports -u
  % poudriere bulk -f <directory>/<list1> -j <JAILNAME>
+
  % poudriere jail -j <JAILNAME> -u -m svn
 +
% poudriere options -j <JAILNAME> -f <path>/<list1>
 +
% poudriere bulk -j <JAILNAME>
  
 
==Testing==
 
==Testing==
Line 52: Line 50:
 
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]]

Latest revision as of 06:44, 30 October 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

[edit] 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

[edit] 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.

[edit] 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>

[edit] Testing

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

% poudriere testport -j <JAILNAME>

[edit] Added functionality

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

[edit] References and further reading

Personal tools