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

Source string Read only

(itstool) path: listitem/screen
Context English State
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>
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:
<prompt>#</prompt> <userinput>poudriere ports -l</userinput>
development null 2020-07-20 05:06:33 /work/ports
The dash or <literal>null</literal> in the <literal>METHOD</literal> column means that <application>Poudriere</application> will not update or change this ports tree, ever. It is completely up to the user to maintain this tree, including all local modifications that may be used for testing new ports and submitting patches.
Keeping Poudriere Ports Trees Updated
As straightforward as with jails described earlier:
<prompt>#</prompt> <userinput>poudriere ports -u -p <replaceable>PORTSTREE</replaceable></userinput>
Will update the given <replaceable>PORTSTREE</replaceable>, one tree given by the output of <command>poudriere -l</command>, to the latest revision available on the official servers.
Ports trees without a method, see <xref linkend="testing-poudriere-ports-tree-manual"/>, cannot be updated like this. They must be updated manually by the porter.
Testing Ports
After jails and ports trees have been set up, the result of a contributor's modifications to the ports tree can be tested.
For example, local modifications to the <package role="port">www/firefox</package> port located in <filename>/work/ports/www/firefox</filename> can be tested in the previously created 11.3-RELEASE jail:
<prompt>#</prompt> <userinput>poudriere testport -j 113Ramd64 -p development -o www/firefox</userinput>
This will build all dependencies of <application>Firefox</application>. If a dependency has been built previously and is still up-to-date, the pre-built package is installed. If a dependency has no up-to-date package, one will be built with default options in a jail. Then <application>Firefox</application> itself is built.
The complete build of every port is logged to <filename>/poudriere/data/logs/bulk/113Ri386-development/<replaceable>build-time</replaceable>/logs</filename>.
The directory name <literal>113Ri386-development</literal> is derived from the arguments to <literal>-j</literal> and <literal>-p</literal>, respectively. For convenience, a symbolic link <filename>/poudriere/data/logs/bulk/113Ri386-development/latest</filename> is also maintained. The link points to the latest <replaceable>build-time</replaceable> directory. Also in this directory is an <filename>index.html</filename> for observing the build process with a web browser.


New source string 7 months ago
Browse all component changes

Source information

Source string comment
(itstool) path: listitem/screen
no-wrap, read-only
Source string location
String age
7 months ago
Source string age
7 months ago
Translation file
books/porters-handbook.pot, string 4038