Poudriere
(→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 02: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.