From 79ce63fcac83487a7a7bce4e12ea06830c017c4c Mon Sep 17 00:00:00 2001 From: Dru Lavigne Date: Wed, 2 Apr 2014 18:12:18 +0000 Subject: [PATCH] Editorial review of Poudriere section. Expand on the intro some. Sponsored by: iXsystems --- .../books/handbook/ports/chapter.xml | 89 ++++++++++--------- 1 file changed, 47 insertions(+), 42 deletions(-) diff --git a/en_US.ISO8859-1/books/handbook/ports/chapter.xml b/en_US.ISO8859-1/books/handbook/ports/chapter.xml index 7e69f02a5c..909f621293 100644 --- a/en_US.ISO8859-1/books/handbook/ports/chapter.xml +++ b/en_US.ISO8859-1/books/handbook/ports/chapter.xml @@ -1545,56 +1545,61 @@ The deinstallation will free 229 kB Building Packages with <application>Poudriere</application> - Poudriere uses &os; jails to set - up isolated compilation environments. Inside, ports are - compiled and packaged using standard &man.make.1; targets and - &man.pkg.8;. + Poudriere is a + BSD-licensed utility for creating and testing + &os; packages. It uses &os; jails to set + up isolated compilation environments which can be used to build + packages for versions of &os; that are different from the box + on which it is installed, and also to build packages for i386 if + the host is an &arch.amd64; system. Once the packages are built, they + will be in a layout identical to the official mirrors and are + therefore useable by + &man.pkg.8; and other package management tools. - - Installation and Configuration + Poudriere can be installed + using the + ports-mgmt/poudriere package or + port. The installation will include a sample configuration file + /usr/local/etc/poudriere.conf.sample. + This file should be copied to + /usr/local/etc/poudriere.conf which can + then be edited to suit the local configuration. - Install Poudriere from the - Ports Collection - (ports-mgmt/poudriere). - - Configuration files are + While ZFS is not required on the + system running poudriere, + it is beneficial. When ZFS is used, the + ZPOOL must be + specified in /usr/local/etc/poudriere.conf and - /usr/local/etc/poudriere.d/. Example - settings are shown in - /usr/local/etc/poudriere.conf.sample. - - Using ZFS is not required, - but beneficial. When ZFS is used, the - ZPOOL for - Poudriere's datasets must be - specified. Set FREEBSD_HOST to a nearby - mirror. Defaults for the other values are adequate. Defining + FREEBSD_HOST should be set to a nearby + mirror. Defining CCACHE_DIR enables the use of devel/ccache to cache - compilation. This will reduce build times for - frequently-compiled code. It is convenient to put - Poudriere datasets in an isolated + compilation and reduce build times for + frequently-compiled code. It may be convenient to put + poudriere datasets in an isolated tree mounted at - /poudriere. That is - not a functional modification, but a matter of taste. + /poudriere. Defaults + for the other configuration values are adequate. The number of processor cores detected is used to define how many builds should run in parallel. Supply enough virtual memory, either with RAM or swap space. If virtual memory runs out, compiling jails will stop and be torn down, resulting in weird error messages. - Initialize Jails and Port Trees - Initially, it is sufficient to install a &os; tree and a - ports tree. Creating a simple setup only requires supplying a - name with and a version with + Once configured, initialize + poudriere so that it installs a + jail with the required &os; tree and a + ports tree. Specify a name for the jail using + and the &os; version with . On systems running &os;/&arch.amd64;, the architecture can be set with to either i386 or amd64. - The default is the architecture shown by + The default is to use the architecture shown by uname. &prompt.root; poudriere jail -c -j 10amd64 -v 10.0-RELEASE @@ -1644,12 +1649,12 @@ Fetching 1 new ports or files... done. Building new INDEX files... done. - On a single computer, Poudriere + On a single computer, poudriere can build ports with multiple configurations, in multiple jails, and from different port trees. Custom configurations for these combinations are called sets. See the CUSTOMIZATION section of &man.poudriere.8; for - detail. + details. The basic configuration shown here puts a single jail-, port-, and set-specific make.conf in @@ -1670,29 +1675,29 @@ devel/git ports-mgmt/pkg ... - Options and dependencies for the specified ports are - configured: + To configure the options and dependencies for the + specified ports: &prompt.root; poudriere options -j 10amd64 -p local -z workstation -f workstation-pkglist - Finally, packages are built and a &man.pkg.8; repository - is created: + Finally, to build the packages and create the package + repository: &prompt.root; poudriere bulk -j 10amd64 -p local -z workstation -f workstation-pkglist Ctrlt - displays the current state. + displays the current state of the build. Poudriere also builds files in /poudriere/logs/bulk/jailname that can be used with a web server to display build information. - Packages are now available for installation from the - Poudriere repository. + Once the build is complete, packages are now available for installation from the + poudriere repository. - For more information on - Poudriere, see &man.poudriere.8; + For more information on using + poudriere, see &man.poudriere.8; and the main web site, .