The translation is temporarily closed for contributions due to maintenance, please come back later.

Source string Read only

(itstool) path: listitem/para
Context English State
There is also a work-in-progress version of <application>Poudriere</application> which will eventually become the next release. It is available in <package role="port">ports-mgmt/poudriere-devel</package>. This development version is used for the official FreeBSD package builds, so it is well tested. It often has newer interesting features. A ports committer will want to use the development version because it is what is used in production, and has all the new features that will make sure everything is exactly right. A contributor will not necessarily need those as the most important fixes are backported to released version. The main reason for the use of the development version to build the official package is because it is faster, in a way that will shorten a full build from 18 hours to 17 hours when using a high end 32 <acronym>CPU</acronym> server with 128GB of <acronym>RAM</acronym>. Those optimizations will not matter a lot when building ports on a desktop machine.
Setting Up <application>Poudriere</application>
The port installs a default configuration file, <filename>/usr/local/etc/poudriere.conf</filename>. Each parameter is documented in the configuration file and in <citerefentry vendor="ports"><refentrytitle>poudriere</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Here is a minimal example config file:
ZPOOL=tank
ZROOTFS=/poudriere
BASEFS=/poudriere
DISTFILES_CACHE=/usr/ports/distfiles
RESOLV_CONF=/etc/resolv.conf
FREEBSD_HOST=ftp://ftp.freebsd.org
SVN_HOST=svn.FreeBSD.org
<varname>ZPOOL</varname>
The name of the <acronym>ZFS</acronym> storage pool which <application>Poudriere</application> shall use. Must be listed in the output of <command>zpool status</command>.
<varname>ZROOTFS</varname>
The root of <application>Poudriere</application>-managed file systems. This entry will cause <application>Poudriere</application> to create <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> file systems under <literal>tank/poudriere</literal>.
<varname>BASEFS</varname>
The root mount point for <application>Poudriere</application> file systems. This entry will cause <application>Poudriere</application> to mount <literal>tank/poudriere</literal> to <literal>/poudriere</literal>.
<varname>DISTFILES_CACHE</varname>
Defines where distfiles are stored. In this example, <application>Poudriere</application> and the host share the distfiles storage directory. This avoids downloading tarballs which are already present on the system. Please create this directory if it does not already exist so that <application>Poudriere</application> can find it.
<varname>RESOLV_CONF</varname>
Use the host <filename>/etc/resolv.conf</filename> inside jails for <acronym>DNS</acronym>. This is needed so jails can resolve the <acronym>URL</acronym>s of distfiles when downloading. It is not needed when using a proxy. Refer to the default configuration file for proxy configuration.
<varname>FREEBSD_HOST</varname>
The <acronym>FTP</acronym>/<acronym>HTTP</acronym> server to use when the jails are installed from FreeBSD releases and updated with <citerefentry><refentrytitle>freebsd-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Choose a server location which is close, for example if the machine is located in Australia, use <literal>ftp.au.freebsd.org</literal>.
<varname>SVN_HOST</varname>
The server from where jails are installed and updated when using <application>Subversion</application>. Also used for ports tree when not using <citerefentry><refentrytitle>portsnap</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Again, choose a nearby location. A list of official <application>Subversion</application> mirrors can be found in the <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/svn.html#svn-mirrors">FreeBSD Handbook <application>Subversion</application> section</link>.
Creating <application>Poudriere</application> Jails
Create the base jails which <application>Poudriere</application> will use for building:
<prompt>#</prompt> <userinput>poudriere jail -c -j 113Ramd64 -v 11.3-RELEASE -a amd64</userinput>
Fetch a <literal>11.3-RELEASE</literal> for <literal>amd64</literal> from the <acronym>FTP</acronym> server given by <varname>FREEBSD_HOST</varname> in <filename>poudriere.conf</filename>, create the zfs file system <literal>tank/poudriere/jails/113Ramd64</literal>, mount it on <filename>/poudriere/jails/113Ramd64</filename> and extract the <literal>11.3-RELEASE</literal> tarballs into this file system.
<prompt>#</prompt> <userinput>poudriere jail -c -j 11i386 -v stable/11 -a i386 -m svn+https</userinput>
buildworld
Create <literal>tank/poudriere/jails/11i386</literal>, mount it on <filename>/poudriere/jails/11i386</filename>, then check out the tip of the <application>Subversion</application> branch of <literal>FreeBSD-11-STABLE</literal> from <literal>SVN_HOST</literal> in <filename>poudriere.conf</filename> into <filename>/poudriere/jails/11i386/usr/src</filename>, then complete a <_:buildtarget-1/> and install it into <filename>/poudriere/jails/11i386</filename>.
If a specific <application>Subversion</application> revision is needed, append it to the version string. For example:
<prompt>#</prompt> <userinput>poudriere jail -c -j 11i386 -v stable/11@123456 -a i386 -m svn+https</userinput>
While it is possible to build a newer version of FreeBSD on an older version, most of the time it will not run. For example, if a <literal>stable/11</literal> jail is needed, the host will have to run <literal>stable/11</literal> too. Running <literal>11.3-RELEASE</literal> is not enough.
To create a <application>Poudriere</application> jail for <literal>13.0-CURRENT</literal>:
<prompt>#</prompt> <userinput>poudriere jail -c -j 13amd64 -v head -a amd64 -m svn+https</userinput>
In order to run a <literal>13.0-CURRENT</literal> <application>Poudriere</application> jail you must be running <literal>13.0-CURRENT</literal>. In general, newer kernels can build and run older jails. For instance, a <literal>13.0-CURRENT</literal> kernel can build and run a <literal>11.3-STABLE</literal> <application>Poudriere</application> jail if the <literal>COMPAT_FREEBSD11</literal> kernel option was compiled in (on by default in <literal>13.0-CURRENT</literal> <filename>GENERIC</filename> kernel config).

Loading…

No matching activity found.

Browse all component changes

Source information

Source string comment
(itstool) path: listitem/para
Flags
read-only
Source string location
book.translate.xml:19107
String age
a year ago
Source string age
a year ago
Translation file
books/porters-handbook.pot, string 3998