Document the changes for running the new scripts. (More needs to be

done to document the changes in the setup in the later chapters.)
This commit is contained in:
Mark Linimon 2010-10-09 16:13:15 +00:00
parent 75296098cf
commit ce010b8ea9
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36485

View file

@ -169,8 +169,13 @@
<sect2 id="build-dopackages">
<title><command>dopackages</command> scripts</title>
<para>The <filename>scripts/dopackages*</filename> scripts
are used to perform the builds. Most useful are:</para>
<para>The <filename>scripts/dopackages</filename> scripts
are used to perform the builds.</para>
<sect3>
<title>Old codebase</title>
<para>For the old codebase: the
most useful are:</para>
<itemizedlist>
<listitem>
@ -228,6 +233,20 @@
<screen><command>dopackages.6 <replaceable>${arch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></command></screen>
</sect3>
<sect3>
<title>New codebase</title>
<para>The symlinks go away, and you just use
<command>dopackages.wrapper</command> directly. For example:</para>
<screen><command>dopackages.wrapper <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></command></screen>
</sect3>
<sect3>
<title>Either codebase</title>
<para>Most often, you will be using <literal>latest</literal> for
the value of <replaceable>buildid</replaceable>.</para>
@ -321,6 +340,13 @@
</para>
</listitem>
<listitem>
<para><literal>-nochecksubdirs</literal> - Do not check the
<makevar>SUBDIRS</makevar> for ports that are not connected
to the build. (New codebase only).
</para>
</listitem>
<listitem>
<para><literal>-trybroken</literal> - Try to build
<literal>BROKEN</literal> ports (off by default
@ -460,18 +486,21 @@
<title>Update the i386-6 tree and do a complete build</title>
<para><command>dopackages.6 i386 -nosrc -norestr -nofinish</command></para>
<para><command>dopackages.wrapper i386 6 -nosrc -norestr -nofinish</command></para>
</example>
<example>
<title>Restart an interrupted amd64-8 build without updating</title>
<para><command>dopackages.8 amd64 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</command></para>
<para><command>dopackages.wrapper amd64 8 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</command></para>
</example>
<example>
<title>Post-process a completed sparc64-7 tree</title>
<para><command>dopackages.7 sparc64 -finish</command></para>
<para><command>dopackages.wrapper sparc64 7 -finish</command></para>
</example>
<para>Hint: it us usually best to run the <command>dopackages</command>
@ -493,6 +522,8 @@
[<replaceable>newid</replaceable>]</literal> - Creates
<replaceable>newid</replaceable> (or a datestamp if not specified).
Only needed when bringing up a new branch or a new architecture.
(TODO: document whether newid must be specified as
<literal>latest</literal> in the new codebase.)
</para>
</listitem>
@ -609,12 +640,10 @@
<para>[+] If any of these steps fail, the build will stop
cold in its tracks.</para>
<!-- XXX MCL make.* is obsolete? -->
<para>[++] Status of these steps can be found in
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>,
where <filename>make.0</filename> is the log file used by
phase 1 of the package build and <filename>make.1</filename>
is the log file used by phase 2. Individual ports will write
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make</filename> (old codebase) or
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/journal</filename> (new codebase).
Individual ports will write
their build logs to
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs</filename>
and their error logs to
@ -1062,7 +1091,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<screen>&prompt.root; <userinput>rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/<replaceable>${arch}</replaceable>/<replaceable>${subdir}</replaceable>/ | tee log</userinput></screen>
<para>Distfiles can be transferred with the
<para>Distfiles should be transferred with the
<command>cpdistfiles</command> script:</para>
<screen>&prompt.root; <userinput>/var/portbuild/scripts/cpdistfiles <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable></userinput></screen>
@ -1119,7 +1148,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<para>In order to have a good control case with which to compare
failures, you should first do a package build of the branch on
which the experimental patches branch is based for the &i386;
architecture (currently this is <literal>7</literal>). Then, when
architecture (currently this is <literal>8</literal>). Then, when
preparing for the experimental patches build, checkout a ports
tree and a src tree with the same date as was used for the control
build. This will ensure an apples-to-apples comparison
@ -1207,11 +1236,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
<note><para>Be sure to <literal>cvs update</literal> this tree to the same date as
the experimental patches tree.</para></note>
<!-- XXX MCL fix -->
<para>The following command will set up the control branch for
the partial build:</para>
the partial build (old codebase):</para>
<screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
<!-- XXX MCL obsolete -->
<para>The builds must be performed from the
<literal>packages/All</literal> directory. This directory should
initially be empty except for the Makefile symlink. If this
@ -1624,6 +1655,7 @@ www/squid (with SQUID_AUFS on)</screen>
</listitem>
<listitem>
<!-- XXX MCL get latest patches from narutos -->
<para>Create
<filename>usr/local/etc/rc.d/portbuild.sh</filename>,
using the appropriate value for
@ -1954,7 +1986,8 @@ ssh_cmd="/usr/local/bin/ssh"
</listitem>
<listitem>
<para>Add a link from
<para>(Only necessary for old codebase):
Add a link from
<filename>/var/portbuild/scripts/dopackages</filename> to
<filename>/var/portbuild/scripts/dopackages.<replaceable>branch</replaceable></filename>.
</listitem>
@ -1966,12 +1999,15 @@ ssh_cmd="/usr/local/bin/ssh"
</listitem>
<listitem>
<para>Add the <literal>snap</literal> directory to
<!-- XXX MCL writeup for new codebase -->
<para>(Only necessary for old codebase):
Add the <literal>snap</literal> directory to
<filename>/var/portbuild/scripts/zexpire</filename>.</para>
</listitem>
<listitem>
<para>In the <filename>/var/portbuild/errorlogs/</filename>
<para>(Only necessary for old codebase):
In the <filename>/var/portbuild/errorlogs/</filename>
directory, create links for the webserver:<screen>
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full-logs
@ -2119,7 +2155,8 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
</listitem>
<listitem>
<para>As with the procedure for creating a new branch:
<para>(Only necessary for old codebase):
As with the procedure for creating a new branch:
in the <filename>/var/portbuild/errorlogs/</filename>
directory, create links for the webserver:<screen>
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full
@ -2132,7 +2169,8 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
</listitem>
<listitem>
<para>In that
<para>(Only necessary for old codebase):
In that
directory, create two more links for the webserver:<screen>
ln -s ../<replaceable>arch</replaceable>/archive/buildlogs <replaceable>arch</replaceable>-buildlogs
ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</replaceable>-errorlogs</screen>