Source string Read only

(itstool) path: sect2/para
127/1270
Context English State
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).
The default <literal>svn</literal> protocol works but is not very secure. Using <literal>svn+https</literal> along with verifying the remote server's <acronym>SSL</acronym> fingerprint is advised. It will ensure that the files used for building the jail are from a trusted source.
A list of jails currently known to <application>Poudriere</application> can be shown with <command>poudriere jail -l</command>:
<prompt>#</prompt> <userinput>poudriere jail -l</userinput>
JAILNAME VERSION ARCH METHOD
113Ramd64 11.3-RELEASE amd64 ftp
11i386 11.3-STABLE i386 svn+https
Keeping <application>Poudriere</application> Jails Updated
Managing updates is very straightforward. The command:
<prompt>#</prompt> <userinput>poudriere jail -u -j <replaceable>JAILNAME</replaceable></userinput>
updates the specified jail to the latest version available. For FreeBSD releases, update to the latest patchlevel with <citerefentry><refentrytitle>freebsd-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>. For FreeBSD versions built from source, update to the latest <application>Subversion</application> revision in the branch.
For jails employing a <literal>svn+<replaceable>*</replaceable></literal> method, it is helpful to add <command>-J <replaceable>NumberOfParallelBuildJobs</replaceable></command> to speed up the build by increasing the number of parallel compile jobs used. For example, if the building machine has 6 <acronym>CPU</acronym>s, use:
<prompt>#</prompt> <userinput>poudriere jail -u -J 6 -j <replaceable>JAILNAME</replaceable></userinput>
Setting Up Ports Trees for Use with <application>Poudriere</application>
There are multiple ways to use ports trees in <application>Poudriere</application>. The most straightforward way is to have <application>Poudriere</application> create a default ports tree for itself, using either <citerefentry><refentrytitle>portsnap</refentrytitle><manvolnum>8</manvolnum></citerefentry> (if running FreeBSD 12.1 or 11.4) or <application>Subversion</application> (if running FreeBSD-CURRENT):
<prompt>#</prompt> <userinput>poudriere ports -c -m portsnap</userinput>
<prompt>#</prompt> <userinput>poudriere ports -c -m svn+https</userinput>
These commands create <literal>tank/poudriere/ports/default</literal>, mount it on <filename>/poudriere/ports/default</filename>, and populate it using either <citerefentry><refentrytitle>portsnap</refentrytitle><manvolnum>8</manvolnum></citerefentry> or <application>Subversion</application>. Afterward it is included in the list of known ports trees:
<prompt>#</prompt> <userinput>poudriere ports -l</userinput>
PORTSTREE METHOD TIMESTAMP PATH
default svn+https 2020-07-20 04:23:56 /poudriere/ports/default
Note that the <quote>default</quote> ports tree is special. Each of the build commands explained later will implicitly use this ports tree unless specifically specified otherwise. To use another tree, add <command>-p <replaceable>treename</replaceable></command> to the commands.
While useful for regular bulk builds, having this default ports tree with the <citerefentry><refentrytitle>portsnap</refentrytitle><manvolnum>8</manvolnum></citerefentry> method may not be the best way to deal with local modifications for a ports contributor. As with the creation of jails, it is possible to use a different method for creating the ports tree. To add an additional ports tree for testing local modifications and ports development, checking out the tree via <application>Subversion</application> (as described above) is preferable.

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

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