Source string Read only

(itstool) path: sect2/screen
98/980
Context English State
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.
The <acronym>http</acronym> and <acronym>https</acronym> methods need <package role="port">devel/subversion</package> built with the <literal>SERF</literal> option enabled. It is enabled by default.
The <literal>svn</literal> method allows extra qualifiers to tell <application>Subversion</application> exactly how to fetch data. This is explained in <citerefentry vendor="ports"><refentrytitle>poudriere</refentrytitle><manvolnum>8</manvolnum></citerefentry>. For instance, <command>poudriere ports -c -m svn+ssh -p subversive</command> uses <application>SSH</application> for the checkout.
Using Manually Managed Ports Trees with Poudriere
Depending on the workflow, it can be extremely helpful to use ports trees which are maintained manually. For instance, if there is a local copy of the ports tree in <filename>/work/ports</filename>, point <application>Poudriere</application> to the location:

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/screen
Flags
no-wrap, read-only
Source string location
book.translate.xml:19228
String age
a year ago
Source string age
a year ago
Translation file
books/porters-handbook.pot, string 4019