Start a long-overdue overhaul. Reflect the coming de-orbit burn of 6,

and the move to 8 as the new -stable.  Document the new 'build create'
command.  Update options for kernel config for package build nodes,
including pointing out which options are mandatory.
This commit is contained in:
Mark Linimon 2009-11-12 02:16:22 +00:00
parent 809c8cce40
commit 4099f35796
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34894

View file

@ -47,14 +47,14 @@
otherwise specified, all paths will be relative to otherwise specified, all paths will be relative to
this location. <replaceable>${arch}</replaceable> will this location. <replaceable>${arch}</replaceable> will
be used to specify one of the package architectures be used to specify one of the package architectures
(amd64, &i386;, and &sparc64;), and (amd64, &i386;, ia64, powerpc, and &sparc64;), and
<replaceable>${branch}</replaceable> will be used <replaceable>${branch}</replaceable> will be used
to specify the build branch (6, 6-exp, 7, 7-exp, 8, 8-exp). to specify the build branch (6, 7, 7-exp, 8, 8-exp, 9, 9-exp).
</para> </para>
<note> <note>
<para>Packages are no longer built for Release 4 or 5, nor <para>Packages are no longer built for Release 4 or 5, nor
for the alpha nor ia64 architectures.</para> for the alpha architecture.</para>
</note> </note>
<para>The scripts that control all of this live in <para>The scripts that control all of this live in
@ -141,7 +141,6 @@
<screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen> <screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen>
<!-- XXX MCL still true? -->
<para>The per-machine tarballs are located in <para>The per-machine tarballs are located in
<filename><replaceable>${arch}</replaceable>/clients</filename>.</para> <filename><replaceable>${arch}</replaceable>/clients</filename>.</para>
@ -179,13 +178,6 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para><command>dopackages.6-exp</command> - Perform
a 6.X build with experimental patches
(6-exp branch)
</para>
</listitem>
<listitem> <listitem>
<para><command>dopackages.7</command> - Perform <para><command>dopackages.7</command> - Perform
a 7.X build a 7.X build
@ -475,6 +467,15 @@
</para> </para>
</listitem> </listitem>
<listitem>
<para><literal>build create <replaceable>arch</replaceable>
<replaceable>branch</replaceable>
[<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.
</para>
</listitem>
<listitem> <listitem>
<para><literal>build clone <replaceable>arch</replaceable> <para><literal>build clone <replaceable>arch</replaceable>
<replaceable>branch</replaceable> <replaceable>oldid</replaceable> <replaceable>branch</replaceable> <replaceable>oldid</replaceable>
@ -633,7 +634,7 @@
<para>To free up resources, you will need to clean up client machines by <para>To free up resources, you will need to clean up client machines by
running <command>build cleanup</command> command. For example: running <command>build cleanup</command> command. For example:
<screen>&prompt.user; <userinput>/var/portbuild/scripts/build cleanup i386 6-exp 20080714120411 -full</userinput></screen> <screen>&prompt.user; <userinput>/var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full</userinput></screen>
<para>If you forget to do this, then the old build <para>If you forget to do this, then the old build
<literal>chroot</literal>s will not be cleaned up for 24 hours, and no <literal>chroot</literal>s will not be cleaned up for 24 hours, and no
@ -656,8 +657,8 @@
will get you a df, and will get you a df, and
<screen>allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/6-exp/ports" <screen>allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports"
allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/6-exp/src"</screen> allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src"</screen>
are supposed to get rid of the hanging mounts. You will have to are supposed to get rid of the hanging mounts. You will have to
keep doing them since there can be multiple mounts.</para> keep doing them since there can be multiple mounts.</para>
@ -665,10 +666,10 @@ allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/6-exp/src"</scree
<note> <note>
<para>Ignore the following: <para>Ignore the following:
<screen>umount: pointyhat.freebsd.org:/var/portbuild/i386/6-exp/ports: statfs: No such file or directory <screen>umount: pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports: statfs: No such file or directory
umount: pointyhat.freebsd.org:/var/portbuild/i386/6-exp/ports: unknown file system umount: pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports: unknown file system
umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed!
/x/tmp/6-exp/chroot/53837/compat/linux/proc: not a file system root directory</screen> /x/tmp/8-exp/chroot/53837/compat/linux/proc: not a file system root directory</screen>
The former 2 mean that that client did not have those mounted; The former 2 mean that that client did not have those mounted;
the latter 2 are a bug.</para> the latter 2 are a bug.</para>
@ -925,7 +926,11 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
</listitem> </listitem>
<listitem> <listitem>
<para><literal>packages-8-current</literal></para> <para><literal>packages-8-stable</literal></para>
</listitem>
<listitem>
<para><literal>packages-9-current</literal></para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -1000,7 +1005,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
new features or bugfixes to the ports infrastructure (i.e. new features or bugfixes to the ports infrastructure (i.e.
<filename>bsd.port.mk</filename>), or to test large sweeping <filename>bsd.port.mk</filename>), or to test large sweeping
upgrades. The current experimental patches branch is upgrades. The current experimental patches branch is
<literal>7-exp</literal> on the amd64 <literal>8-exp</literal> on the amd64
architecture.</para> architecture.</para>
<para>In general, an experimental patches build is run the same <para>In general, an experimental patches build is run the same
@ -1048,21 +1053,21 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
<para>Once the build finishes, compare the control build failures <para>Once the build finishes, compare the control build failures
to those of the experimental patches build. Use the following to those of the experimental patches build. Use the following
commands to facilitate this (this assumes the <literal>7</literal> commands to facilitate this (this assumes the <literal>8</literal>
branch is the control branch, and the <literal>7-exp</literal> branch is the control branch, and the <literal>8-exp</literal>
branch is the experimental patches branch):</para> branch is the experimental patches branch):</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/7-exp/errors</userinput> <screen>&prompt.user; <userinput>cd /var/portbuild/i386/8-exp/errors</userinput>
&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/7-exp-errs</userinput> &prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/8-exp-errs</userinput>
&prompt.user; <userinput>cd /var/portbuild/i386/7/errors</userinput> &prompt.user; <userinput>cd /var/portbuild/i386/8/errors</userinput>
&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/7-errs</userinput></screen> &prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/8-errs</userinput></screen>
<note><para>If it has been a long time since one of the builds <note><para>If it has been a long time since one of the builds
finished, the logs may have been automatically compressed with finished, the logs may have been automatically compressed with
bzip2. In that case, you must use <literal>sort | sed bzip2. In that case, you must use <literal>sort | sed
's,\.bz2,,g'</literal> instead.</para></note> 's,\.bz2,,g'</literal> instead.</para></note>
<screen>&prompt.user; <userinput>comm -3 /tmp/7-errs /tmp/7-exp-errs | less</userinput></screen> <screen>&prompt.user; <userinput>comm -3 /tmp/8-errs /tmp/8-exp-errs | less</userinput></screen>
<para>This last command will produce a two-column report. The <para>This last command will produce a two-column report. The
first column is ports that failed on the control build but not in first column is ports that failed on the control build but not in
@ -1117,7 +1122,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
To differentiate between [1] and [2] above, you can do a rebuild To differentiate between [1] and [2] above, you can do a rebuild
of the affected packages under the control branch:</para> of the affected packages under the control branch:</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/7/ports</userinput></screen> <screen>&prompt.user; <userinput>cd /var/portbuild/i386/8/ports</userinput></screen>
<note><para>Be sure to <literal>cvs update</literal> this tree to the same date as <note><para>Be sure to <literal>cvs update</literal> this tree to the same date as
the experimental patches tree.</para></note> the experimental patches tree.</para></note>
@ -1125,14 +1130,14 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
<para>The following command will set up the control branch for <para>The following command will set up the control branch for
the partial build:</para> the partial build:</para>
<screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.7 -noportscvs -nobuild -nocvs -nofinish</userinput></screen> <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
<para>The builds must be performed from the <para>The builds must be performed from the
<literal>packages/All</literal> directory. This directory should <literal>packages/All</literal> directory. This directory should
initially be empty except for the Makefile symlink. If this initially be empty except for the Makefile symlink. If this
symlink does not exist, it must be created:</para> symlink does not exist, it must be created:</para>
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/7/packages/All</userinput> <screen>&prompt.user; <userinput>cd /var/portbuild/i386/8/packages/All</userinput>
&prompt.user; <userinput>ln -sf ../../Makefile .</userinput> &prompt.user; <userinput>ln -sf ../../Makefile .</userinput>
&prompt.user; <userinput>make -k -j&lt;#&gt; &lt;list of packages to build&gt;</userinput></screen> &prompt.user; <userinput>make -k -j&lt;#&gt; &lt;list of packages to build&gt;</userinput></screen>
@ -1298,11 +1303,16 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed!
<para>Generate a kernel config file. Include <para>Generate a kernel config file. Include
<literal>GENERIC</literal> (or, if you are using more than <literal>GENERIC</literal> (or, if you are using more than
3.5G on &i386;, <literal>PAE</literal>). 3.5G on &i386;, <literal>PAE</literal>).
</para>
<para>
Required options:<screen>
options NULLFS
options TMPFS</screen>
</para>
<para>
Suggested options:<screen> Suggested options:<screen>
options GEOM_CONCAT options GEOM_CONCAT
options GEOM_STRIPE options GEOM_STRIPE
options NULLFS
options TMPFS
options SHMMAXPGS=65536 options SHMMAXPGS=65536
options SEMMNI=40 options SEMMNI=40
options SEMMNS=240 options SEMMNS=240
@ -1314,7 +1324,8 @@ options PRINTF_BUFR_SIZE=128</screen>
</para> </para>
<para>For <literal>PAE</literal>, it is not currently possible <para>For <literal>PAE</literal>, it is not currently possible
to load modules. Therefore, you will need to add:<screen> to load modules. Therefore, if you are running an architecture
that supports Linux emulation, you will need to add:<screen>
options COMPAT_LINUX options COMPAT_LINUX
options LINPROCFS</screen> options LINPROCFS</screen>
</para> </para>