Start the deorbit burn of the "old codebase" documentation.

Glanced at by:		rene
This commit is contained in:
Mark Linimon 2012-12-19 18:46:51 +00:00
parent 5922250c81
commit 3431938214
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=40434

View file

@ -139,15 +139,14 @@
<para>This document was originally written before these changes
were made. Where things such as script invocations have changed,
they are denoted as <literal>new codebase:</literal> as opposed
they were denoted as <literal>new codebase:</literal> as opposed
to <literal>old codebase:</literal>.</para>
<note>
<para>Up until November 2012, <hostid>pointyhat</hostid> had still
been running the old codebase. That installation has now been
permanently offlined. Therefore, all the instructions having
to do with the old codebase are <emphasis>obsolete</emphasis>,
and will be removed in the near future.</para>
to do with the old codebase have been removed.</para>
</note>
<note>
@ -224,20 +223,26 @@
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
@ -348,9 +353,10 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<sect2 id="build-dopackages">
<title><command>dopackages</command> scripts</title>
<para>The <filename>scripts/dopackages</filename> scripts
are used to perform the builds.</para>
<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
@ -426,12 +432,15 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<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>
@ -546,8 +555,11 @@ 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,
<literal>-unlimited-errors</literal>).</para>
-->
and
<literal>-unlimited-errors</literal>.</para>
</note>
</listitem>
@ -606,8 +618,11 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
</listitem>
<listitem>
<para><literal>-unlimited-errors</literal> (new codebase
only) - defeat the "qmanager threshhold" check for runaway
<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
fail, or perhaps a <literal>-trybroken</literal> run. By default,
@ -686,27 +701,38 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
<example>
<title>Update the i386-7 tree and do a complete build</title>
<screen>&prompt.user; <userinput>dopackages.7 i386 -nosrc -norestr -nofinish</userinput>
<screen>
<!--
&prompt.user; <userinput>dopackages.7 i386 -nosrc -norestr -nofinish</userinput>
-->
&prompt.user; <userinput>dopackages.wrapper i386 7 -nosrc -norestr -nofinish</userinput></screen>
</example>
<example>
<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>
<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>
<example>
<title>Post-process a completed sparc64-7 tree</title>
<screen>&prompt.user; <userinput>dopackages.7 sparc64 -finish</userinput>
<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">
@ -724,8 +750,10 @@ 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>
@ -843,8 +871,14 @@ 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).
-->
<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>
@ -852,9 +886,11 @@ 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">
@ -870,7 +906,7 @@ PKG_BIN=/usr/local/sbin/pkg</programlisting>
</listitem>
<listitem>
<para><hostid>pointyhat</hostid> has been rebooted while
<para>The head node has been rebooted while
a build was running.</para>
</listitem>
@ -990,11 +1026,13 @@ 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>
@ -1057,7 +1095,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
</para>
<para>The status of all current builds is generated periodically
and posted to
into the <filename>packagestats.html</filename> file, e.g.,
<ulink url="http://pointyhat.FreeBSD.org/errorlogs/packagestats.html"></ulink>.
For each <literal>buildenv</literal>, the following is displayed:</para>
@ -2257,7 +2295,11 @@ ssh_cmd="/usr/local/bin/ssh"
<itemizedlist>
<listitem>
<para>(new codebase) Edit <filename>/var/portbuild/conf/server.conf</filename>
<para>
<!--
(new codebase)
-->
Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
<itemizedlist>
@ -2266,6 +2308,7 @@ 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
@ -2278,16 +2321,25 @@ ssh_cmd="/usr/local/bin/ssh"
<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
<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>
(literal zero).</para>
</listitem>
<listitem>
<para>(New codebase) Add
<para>
<!--
(New codebase)
-->
Add
<makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_SUBDIR</makevar>
<literal>=head</literal>.</para>
</listitem>
@ -2295,10 +2347,15 @@ ssh_cmd="/usr/local/bin/ssh"
</listitem>
<listitem>
<para>(new codebase) Run <command>
<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
@ -2346,7 +2403,6 @@ ssh_cmd="/usr/local/bin/ssh"
</listitem>
<listitem>
<!-- 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>
@ -2364,6 +2420,7 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/builds/latest/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
</para>
</listitem>
-->
</itemizedlist>
@ -2413,7 +2470,11 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
<itemizedlist>
<listitem>
<para>(new codebase) Edit <filename>/var/portbuild/conf/server.conf</filename>
<para>
<!--
(new codebase)
-->
Edit <filename>/var/portbuild/conf/server.conf</filename>
with the following changes:</para>
<itemizedlist>
<listitem>
@ -2430,7 +2491,10 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
</listitem>
<listitem>
<para>(both):
<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>
@ -2439,7 +2503,11 @@ 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
<para>
<!--
(both)
-->
You will probably find that the following files and
symlinks in <filename>/var/portbuild/errorlogs/</filename>
can be removed:</para>
<itemizedlist>
@ -2486,7 +2554,11 @@ zfs destroy -r a/snap/src-<replaceable>old-branch</replaceable></command></para>
a full (not incremental!) package build should be done and uploaded.
</para>
<para>The procedure for the new codebase is as follows:</para>
<para>The procedure
<!--
for the new codebase
-->
is as follows:</para>
<itemizedlist>
<listitem>
@ -2579,6 +2651,7 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
under <filename>archive/</filename>.</para>
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase)
In the
@ -2608,6 +2681,7 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
<screen>cc pnohang.c -o pnohang-<replaceable>arch</replaceable></screen>
</para>
</listitem>
-->
<listitem>
<para>For each branch that will be supported, do the following:
@ -2698,15 +2772,20 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
<itemizedlist>
<listitem>
<para>(Only necessary for new codebase):
<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
@ -2714,6 +2793,7 @@ cd /var/portbuild/<replaceable>arch</replaceable></screen>
<filename>/var/portbuild/scripts/zexpire</filename>.</para>
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase):
As with the procedure for creating a new branch:
@ -2735,6 +2815,7 @@ ln -s ../<replaceable>arch</replaceable>/<replaceable>branch</replaceable>/build
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>
@ -2781,6 +2862,7 @@ ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</re
</listitem>
<!--
<listitem>
<para>(Only necessary for old codebase):
Only after the first time a
@ -2788,6 +2870,7 @@ ln -s ../<replaceable>arch</replaceable>/archive/errorlogs <replaceable>arch</re
arch: add the arch to
<filename>/var/portbuild/scripts/dopackagestats</filename>.</para>
</listitem>
-->
</itemizedlist>
<!-- end of whitespace-broken area -->
@ -2799,10 +2882,13 @@ 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.</para>
<para>Please talk to Mark Linimon before making any changes
to this section.</para>
<sect2 id="pointyhat-basics">
<title>Basic installation</title>