Poudriere
(Created page with "'''Poudriere''' is a program to build ports into packages inside a jail. This system allows packages to be made without logging into the jail. To install: pkg install poudri...") |
m |
||
(15 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | '''Poudriere''' is a program to | + | '''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: | ||
+ | % poudriere help | ||
+ | |||
+ | % poudriere <subcommand> help | ||
==Setup== | ==Setup== | ||
− | + | The following configurations are done within the directory {{file|/usr/local/etc/}}. | |
+ | |||
+ | 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, | ||
+ | uncomment the following line in {{file|poudriere.conf}}, then make sure this directory exists: | ||
+ | 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: | ||
+ | WITH_PKG=yes | ||
+ | For specific makefiles, create {{file|''<JAILNAME>''-make.conf}}. | ||
+ | % vi amd64-make.conf | ||
Poudriere requires a portstree; to create it type: | Poudriere requires a portstree; to create it type: | ||
− | poudriere ports -c | + | % poudriere ports -c |
− | ==References== | + | 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== | ||
* [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:Architecture-Specific]] | ||
+ | [[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.