Add two new sections: "How to configure a new branch" and "How to
configure a new architecture".
This commit is contained in:
parent
91655e4165
commit
f572aad63e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34954
1 changed files with 213 additions and 0 deletions
|
@ -1778,6 +1778,9 @@ ssh_cmd="/usr/local/bin/ssh"
|
|||
<para>
|
||||
<literal>data_source "<replaceable>arch</replaceable>/<replaceable>location</replaceable> Package Build Cluster" 30 <replaceable>hostname</replaceable></literal>
|
||||
</para>
|
||||
|
||||
<para>You will need to restart <filename>gmetad</filename>.
|
||||
</para>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
|
@ -1843,6 +1846,216 @@ ssh_cmd="/usr/local/bin/ssh"
|
|||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="new-branch">
|
||||
<title>How to configure a new &os; branch</title>
|
||||
|
||||
<para>When a new branch is created, some work needs to
|
||||
be done to specify that the previous branch is no longer
|
||||
equivalent to <literal>HEAD</literal>. The following
|
||||
instructions apply to the <emphasis>previous</emphasis>
|
||||
branch number:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Create a new <application>zfs</application> filesystem
|
||||
for sources:
|
||||
<screen>zfs create a/snap/src-<replaceable>branch</replaceable></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Checkout a <literal>src</literal> tree in the new filesystem:
|
||||
<screen>cvs -Rq -d /r/ncvs co -r RELENG-<replaceable>branch</replaceable></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Edit the master copy of
|
||||
<filename>Tools/portbuild/portbuild.conf</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>For each arch, edit its copy of the above in
|
||||
<filename>/var/portbuild/<replaceable>arch</replaceable>/portbuild.conf</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Edit <filename>/var/portbuild/scripts/buildenv</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Add a link from
|
||||
<filename>/var/portbuild/scripts/dopackages</filename> to
|
||||
<filename>/var/portbuild/scripts/dopackages.<replaceable>branch</replaceable></filename>.
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Modify <makevar>HEAD_BRANCH</makevar> and
|
||||
<makevar>NON_HEAD_BRANCHES</makevar> in
|
||||
<filename>/var/portbuild/scripts/updatesnap</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Add the <literal>snap</literal> directory to
|
||||
<filename>/var/portbuild/scripts/zexpire</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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/packages <replaceable>arch</replaceable>-<replaceable>branch</replaceable>-packages-latest</screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Kick-start the build for the branch with
|
||||
<screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><link linkend="setup">Create <filename>bindist.tar</filename>
|
||||
</link>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="new-arch">
|
||||
<title>How to configure a new architecture</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Create a new
|
||||
<literal>ports-<replaceable>arch</replaceable></literal>
|
||||
user and group.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<screen>mkdir /var/portbuild/<replaceable>arch</replaceable></screen>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create a new <application>zfs</application> filesystem
|
||||
for backups:
|
||||
<screen>zfs create -o mountpoint=/a/portbuild/<replaceable>arch</replaceable> a/portbuild/<replaceable>arch</replaceable></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create a link for the webserver:
|
||||
<screen>ln -s /dumpster/pointyhat/<replaceable>arch</replaceable>/archive archive</screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>In the
|
||||
<filename>/var/portbuild/<replaceable>arch</replaceable></filename>
|
||||
directory:<screen>mkdir clients</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Populate <filename>clients</filename> as usual.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><screen>mkdir loads</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><screen>ln ../make.conf ./make.conf</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create an empty <filename>mlist</filename> file.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>(TBD if still needed?) Create
|
||||
<filename>pnohang.<replaceable>arch</replaceable></filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create a fresh <filename>portbuild.conf</filename> file
|
||||
from one of the others.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create customized
|
||||
<filename>portbuild.<replaceable>machinename</replaceable>.conf</filename>
|
||||
files as appropriate.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><screen>cd .ssh && ssh-keygen</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Edit the <filename>.ssh/config</filename> file for
|
||||
convenience in using <application>ssh</application>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Make the private configuration directory:
|
||||
<screen>mkdir /var/portbuild/conf/<replaceable>arch</replaceable></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>In that directory: create any <filename>dotunnel.*</filename>
|
||||
scripts needed.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Create a link for backups:
|
||||
<screen>mkdir /dumpster/pointyhat/<replaceable>arch</replaceable>/archive</screen>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Tell <application>qmanager</application> about the arch:
|
||||
<screen>python /var/portbuild/evil/qmanager/qclient add_acl name=ports-<replaceable>arch</replaceable> uidlist=ports-<replaceable>arch</replaceable> gidlist=portmgr sense=1</screen></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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>For each branch that will be supported, do the following:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Kick-start the build for the branch with
|
||||
<screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><link linkend="setup">Create
|
||||
<filename>bindist.tar</filename></link>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="disk-failure">
|
||||
<title>Procedures for dealing with disk failures</title>
|
||||
|
||||
|
|
Loading…
Reference in a new issue