Continue the deorbit burn of the old codebase documentation.

This commit is contained in:
Mark Linimon 2012-12-19 18:51:21 +00:00
parent 3431938214
commit 24dd9a5621
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=40435

View file

@ -223,27 +223,15 @@
script.
</para>
<!--
<sect2>
<title>New Codebase</title>
-->
<para>For both commands above, if
<replaceable>${buildid}</replaceable> is
<literal>latest</literal>, it may be omitted.
</para>
<!--
</sect2>
-->
</sect1>
<sect1 id="customizing">
<title>Customizing Your Build</title>
<!--
<para>(The following only applies to the new codebase.)</para>
-->
<para>You can customize your build by providing local versions of
<filename>make.conf</filename> and/or
<filename>src.conf</filename>,
@ -356,92 +344,8 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<para>The <filename>scripts/dopackages.wrapper</filename> script
is used to perform the builds.</para>
<!--
<sect3>
<title>Old codebase</title>
<para>For the old codebase: the
most useful are:</para>
<itemizedlist>
<listitem>
<para><command>dopackages.7</command> - Perform
a 7.X build
</para>
</listitem>
<listitem>
<para><command>dopackages.7-exp</command> - Perform
a 7.X build with experimental patches
(7-exp branch)
</para>
</listitem>
<listitem>
<para><command>dopackages.8</command> - Perform
a 8.X build
</para>
</listitem>
<listitem>
<para><command>dopackages.8-exp</command> - Perform
a 8.X build with experimental patches
(8-exp branch)
</para>
</listitem>
<listitem>
<para><command>dopackages.9</command> - Perform
a 9.X build
</para>
</listitem>
<listitem>
<para><command>dopackages.9-exp</command> - Perform
a 9.X build with experimental patches
(9-exp branch)
</para>
</listitem>
<listitem>
<para><command>dopackages.10</command> - Perform
a 10.X build
</para>
</listitem>
<listitem>
<para><command>dopackages.10-exp</command> - Perform
a 10.X build with experimental patches
(10-exp branch)
</para>
</listitem>
</itemizedlist>
<para>These are wrappers around <command>dopackages</command>,
and are all symlinked to <command>dopackages.wrapper</command>.
New branch wrapper scripts can be created by symlinking
<command>dopackages.${branch}</command> to
<command>dopackages.wrapper</command>. These scripts
take a number of arguments. For example:</para>
<screen><command>dopackages.7 <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>&prompt.root; <userinput>dopackages.wrapper <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></userinput></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>
@ -555,9 +459,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<note>
<para>With <literal>-trybroken</literal>, you probably
also want to use <literal>-fetch-original</literal>
<!--
(and, on the new codebase,
-->
and
<literal>-unlimited-errors</literal>.</para>
</note>
@ -619,9 +520,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<listitem>
<para><literal>-unlimited-errors</literal>
<!-- (new codebase
only)
-->
- defeat the "qmanager threshhold" check for runaway
builds. You want this primarily when doing a
<literal>-restart</literal> of a build that you expect to mostly
@ -702,9 +600,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<title>Update the i386-7 tree and do a complete build</title>
<screen>
<!--
&prompt.user; <userinput>dopackages.7 i386 -nosrc -norestr -nofinish</userinput>
-->
&prompt.user; <userinput>dopackages.wrapper i386 7 -nosrc -norestr -nofinish</userinput></screen>
</example>
@ -712,9 +607,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<title>Restart an interrupted amd64-8 build without updating</title>
<screen>
<!--
&prompt.user; <userinput>dopackages.8 amd64 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</userinput>
-->
&prompt.user; <userinput>dopackages.wrapper amd64 8 -nosrc -noports -norestr -continue -noindex -noduds -nofinish</userinput></screen>
</example>
@ -722,17 +614,11 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<title>Post-process a completed sparc64-7 tree</title>
<screen>
<!--
&prompt.user; <userinput>dopackages.7 sparc64 -finish</userinput>
-->
&prompt.user; <userinput>dopackages.wrapper sparc64 7 -finish</userinput></screen>
</example>
<para>Hint: it is usually best to run the <command>dopackages</command>
command inside of <command>screen(1)</command>.</para>
<!--
</sect3>
-->
</sect2>
<sect2 id="build-command">
@ -750,10 +636,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
[<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>
@ -871,13 +753,7 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
cold in its tracks.</para>
<para>[++] Status of these steps can be found in
<!--
<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
@ -886,11 +762,6 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors/</filename>.
</para>
<!--
<para>Formerly the docs tree was also checked out, however, it has
been found to be unnecessary.
</para>
-->
</sect1>
<sect1 id="build-maintenance">
@ -1026,13 +897,6 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
</para>
</listitem>
<!--
<listitem>
<para><literal>build upload <replaceable>arch</replaceable>
<replaceable>branch</replaceable></literal> - not yet
implemented.</para>
</listitem>
-->
</itemizedlist>
</sect2>
@ -2296,9 +2160,6 @@ ssh_cmd="/usr/local/bin/ssh"
<itemizedlist>
<listitem>
<para>
<!--
(new codebase)
-->
Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
@ -2308,26 +2169,8 @@ ssh_cmd="/usr/local/bin/ssh"
<makevar>SRC_BRANCHES</makevar>.</para>
</listitem>
<!--
<listitem>
<para>(Old codebase) For what was previously head, change
<makevar>SRC_BRANCH_<replaceable>branch</replaceable>_TAG</makevar> to
<literal>RELENG_<replaceable>branch</replaceable>_0</literal>
(literal zero).</para>
</listitem>
<listitem>
<para>(Old codebase) Add
<makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_TAG</makevar>
<literal>=.</literal> (literal period).</para>
</listitem>
-->
<listitem>
<para>
<!--
(New codebase)
-->
For what was previously head, change
<makevar>SRC_BRANCH_<replaceable>branch</replaceable>_SUBDIR</makevar> to
<literal>releng/<replaceable>branch</replaceable>.0</literal>
@ -2336,9 +2179,6 @@ ssh_cmd="/usr/local/bin/ssh"
<listitem>
<para>
<!--
(New codebase)
-->
Add
<makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_SUBDIR</makevar>
<literal>=head</literal>.</para>
@ -2348,80 +2188,10 @@ ssh_cmd="/usr/local/bin/ssh"
<listitem>
<para>
<!--
(New codebase)
-->
Run <command>
/var/portbuild/updatesnap</command> manually.</para>
</listitem>
<!--
<listitem>
<para>(Only for old codebase)
Create a new <application>zfs</application> filesystem
for sources:
<screen>zfs create a/snap/src-<replaceable>branch</replaceable></screen>
</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
Checkout a <literal>src</literal> tree in the new filesystem:
<screen>cvs -Rq -d /r/ncvs co -d src-<replaceable>branch</replaceable>-r RELENG_<replaceable>branch</replaceable></screen>
</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
Edit the master copy of
<filename>Tools/portbuild/portbuild.conf</filename>.</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
For each arch, edit its copy of the above in
<filename>/var/portbuild/<replaceable>arch</replaceable>/portbuild.conf</filename>.</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
</listitem>
<listitem>
<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>.</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
Modify <makevar>HEAD_BRANCH</makevar> and
<makevar>NON_HEAD_BRANCHES</makevar> in
<filename>/var/portbuild/scripts/updatesnap</filename>.</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
Add the <literal>snap</literal> directory to
<filename>/var/portbuild/scripts/zexpire</filename>.</para>
</listitem>
<listitem>
<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
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest-logs
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-full
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
</para>
</listitem>
-->
</itemizedlist>
<!-- end of whitespace-broken area -->
@ -2471,9 +2241,6 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
<itemizedlist>
<listitem>
<para>
<!--
(new codebase)
-->
Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
<itemizedlist>
@ -2492,9 +2259,6 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
<listitem>
<para>
<!--
(both):
-->
<command>umount a/snap/src-<replaceable>old-branch</replaceable>/src;
umount a/snap/src-<replaceable>old-branch</replaceable>;
zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
@ -2504,9 +2268,6 @@ zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
<itemizedlist>
<listitem>
<para>
<!--
(both)
-->
You will probably find that the following files and
symlinks in <filename>/var/portbuild/errorlogs/</filename>
can be removed:</para>
@ -2555,9 +2316,6 @@ zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
</para>
<para>The procedure
<!--
for the new codebase
-->
is as follows:</para>
<itemizedlist>
@ -2651,38 +2409,6 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
under <filename>archive/</filename>.</para>
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase)
In the
<filename>/var/portbuild/<replaceable>arch</replaceable></filename>
directory:<screen>mkdir clients</screen></para>
</listitem>
<listitem>
<para>(Only necessary for old codebase)
<screen>mkdir loads</screen></para>
</listitem>
<listitem>
<para>(Only necessary for old codebase)<screen>mkdir lockfiles</screen></para>
</listitem>
<listitem>
<para>(Only necessary for old codebase)
Create an empty <filename>mlist</filename> file.</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase) Create
<filename>pnohang.<replaceable>arch</replaceable></filename>.
(The easiest way may be to do the following on a client, and
then copy it back):
<screen>cc pnohang.c -o pnohang-<replaceable>arch</replaceable></screen>
</para>
</listitem>
-->
<listitem>
<para>For each branch that will be supported, do the following:
</para>
@ -2773,49 +2499,16 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
<itemizedlist>
<listitem>
<para>
<!--
(Only necessary for new codebase):
-->
Add <replaceable>arch</replaceable> to <makevar>SUPPORTED_ARCHS</makevar> in
<filename>/var/portbuild/<replaceable>arch</replaceable>/server.conf</filename>.</para>
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase):
Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
</listitem>
-->
<listitem>
<para>Add the <replaceable>arch</replaceable> directory to
<filename>/var/portbuild/scripts/zbackup</filename> and
<filename>/var/portbuild/scripts/zexpire</filename>.</para>
</listitem>
<!--
<listitem>
<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
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-full-logs
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/errors <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/logs <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-latest-logs
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/bak/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-full
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
</para>
</listitem>
<listitem>
<para>(Only necessary for old codebase):
In the <filename>/var/portbuild/errorlogs/</filename>
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></para>
</listitem>
-->
</itemizedlist>
<note>
@ -2861,16 +2554,6 @@ ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</re
</itemizedlist>
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase):
Only after the first time a
<application>dopackages</application> has been run for the
arch: add the arch to
<filename>/var/portbuild/scripts/dopackagestats</filename>.</para>
</listitem>
-->
</itemizedlist>
<!-- end of whitespace-broken area -->
@ -2882,11 +2565,6 @@ ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</re
<sect1 id="new-head-node">
<title>How to configure a new head node (pointyhat instance)</title>
<!--
<para>This section only applies to the new codebase. New installations
using the old codebase are <emphasis>not</emphasis> supported.</para>
-->
<para>Please talk to Mark Linimon before making any changes
to this section.</para>