Source string Read only

(itstool) path: sect2/para
411/4110
Context English State
<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:
For <application>Poudriere</application> older than version 3.1.20:
<prompt>#</prompt> <userinput>poudriere ports -c -F -f none -M /work/ports -p development</userinput>
For <application>Poudriere</application> version 3.1.20 and later:
<prompt>#</prompt> <userinput>poudriere ports -c -m null -M /work/ports -p development</userinput>
This will be listed in the table of known trees:

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:19254
String age
3 months ago
Source string age
3 months ago
Translation file
books/porters-handbook.pot, string 4024