svn commit: r40151 - in projects/pkgng/en_US.ISO8859-1: articles/committers-guide articles/contributing articles/portbuild books/arch-handbook/driverbasics books/developers-handbook/kernelbuild boo...
Glen Barber
gjb at FreeBSD.org
Sat Nov 24 23:15:51 UTC 2012
Author: gjb
Date: Sat Nov 24 23:15:50 2012
New Revision: 40151
URL: http://svnweb.freebsd.org/changeset/doc/40151
Log:
Merged /head/en_US.ISO8859-1:r39915,39994-40000,40002-40010,
40017-40150 from ^/head/en_US.ISO8859-1
Added:
projects/pkgng/en_US.ISO8859-1/htdocs/news/2012-compromise/
- copied from r40150, head/en_US.ISO8859-1/htdocs/news/2012-compromise/
projects/pkgng/en_US.ISO8859-1/htdocs/news/2012-compromise.xml
- copied unchanged from r40150, head/en_US.ISO8859-1/htdocs/news/2012-compromise.xml
Modified:
projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml
projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml
projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml
projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/developers-handbook/policies/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/faq/book.xml
projects/pkgng/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/handbook/ports/chapter.xml
projects/pkgng/en_US.ISO8859-1/books/porters-handbook/book.xml
projects/pkgng/en_US.ISO8859-1/htdocs/cgi/cvsweb.cgi
projects/pkgng/en_US.ISO8859-1/htdocs/cgi/ports.cgi
projects/pkgng/en_US.ISO8859-1/htdocs/developers/cvs.xml
projects/pkgng/en_US.ISO8859-1/htdocs/index.xsl
projects/pkgng/en_US.ISO8859-1/htdocs/news/Makefile
projects/pkgng/en_US.ISO8859-1/htdocs/security/security.xml
Directory Properties:
projects/pkgng/en_US.ISO8859-1/ (props changed)
Modified: projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml
==============================================================================
--- projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Sat Nov 24 22:57:41 2012 (r40150)
+++ projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Sat Nov 24 23:15:50 2012 (r40151)
@@ -3943,57 +3943,11 @@ U stable/9/share/man/man4/netmap.4
</step>
<step>
- <para>Update the instructions for &man.cvsup.1;:</para>
-
- <itemizedlist>
- <listitem>
- <para>
- add the category to
- <filename>distrib/cvsup/sup/README</filename>
- </para>
- </listitem>
-
- <listitem>
- <para>
- adding the following files into
- <filename>distrib/cvsup/sup/ports-<replaceable>categoryname</replaceable></filename>:
- <filename>list.cvs</filename> and
- <filename>releases</filename>.</para>
- </listitem>
-
- <listitem>
- <para>
- add the category to
- <filename>src/share/examples/cvsup/ports-supfile</filename>
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- (Note: these are
- in the src, not the ports, repository). If you
- are not a src committer, you will need to submit
- a PR for this.</para>
- </step>
-
- <step>
- <para>
- Update the list of categories used by &man.sysinstall.8;
- in <filename>src/usr.sbin/sysinstall</filename>.</para>
- </step>
-
- <step>
<para>Update the documentation by modifying the
following:</para>
<itemizedlist>
<listitem>
- <para>the section of the Handbook that lists the
- <ulink url="&url.books.handbook;/cvsup.html#CVSUP-COLLEC">
- cvsup collections</ulink>.</para>
- </listitem>
-
- <listitem>
<para>the
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">
list of categories</ulink> in the Porter's Handbook</para>
@@ -4043,10 +3997,6 @@ U stable/9/share/man/man4/netmap.4
<itemizedlist>
<listitem>
- <para><filename>src/usr.sbin/sysinstall</filename></para>
- </listitem>
-
- <listitem>
<para>the
<ulink url="&url.books.porters-handbook;/makefile-categories.html#PORTING-CATEGORIES">
list of categories</ulink> in the Porter's Handbook</para>
Modified: projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml
==============================================================================
--- projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml Sat Nov 24 22:57:41 2012 (r40150)
+++ projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml Sat Nov 24 23:15:50 2012 (r40151)
@@ -234,7 +234,8 @@
<title>Pick one of the items from the <quote>Ideas</quote>
page</title>
- <para>The <ulink url="&url.base;/projects/ideas/">&os; list of
+ <para>The <ulink url="http://wiki.freebsd.org/IdeasPage">&os;
+ list of
projects and ideas for volunteers</ulink> is also available
for people willing to contribute to the &os; project. The
list is being regularly updated and contains items for both
Modified: projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml
==============================================================================
--- projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Sat Nov 24 22:57:41 2012 (r40150)
+++ projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Sat Nov 24 23:15:50 2012 (r40151)
@@ -66,19 +66,23 @@
otherwise specified, all paths will be relative to
this location. <replaceable>${arch}</replaceable> will
be used to specify one of the package architectures
- (amd64, &i386;, ia64, powerpc, and &sparc64;), and
+ (e.g., amd64, arm, &i386;, ia64, powerpc, &sparc64;), and
<replaceable>${branch}</replaceable> will be used
- to specify the build branch (7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp).
+ to specify the build branch (e.g., 7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp).
+ The set of branches that <username>portmgr</username> currently
+ supports is the same as those that the &os;
+ <ulink url="http://www.freebsd.org/security/index.html#supported-branches">security team</ulink>
+ supports.
</para>
<note>
- <para>Packages are no longer built for Releases 4, 5, or 6, nor
+ <para>Packages are no longer built for branches 4, 5, or 6, nor
for the alpha architecture.</para>
</note>
<para>The scripts that control all of this live in
<filename class="directory">/var/portbuild/scripts/</filename>.
- These are the checked-out copies from the Subversion repository
+ These are the checked-out copies from the Subversion repository at
<ulink url="http://svnweb.freebsd.org/base/projects/portbuild/scripts/">
<filename class="directory">base/projects/portbuild/scripts/</filename>
</ulink>.</para>
@@ -95,16 +99,19 @@
<literal>-CURRENT</literal>
</para></listitem>
- <listitem><para>for experimental builds</para></listitem>
+ <listitem><para>for experimental (<literal>"exp-"</literal>) builds</para></listitem>
+
</itemizedlist>
+ <para>Packages from experimental builds are not uploaded.</para>
+
</sect2>
<sect2 id="codebase-notes">
<title>Notes on the codebase</title>
<para>Until mid-2010, the scripts were completely specific to
- <hostid>pointyhat</hostid> as the head (dispatch) node. During
+ <hostid>pointyhat.FreeBSD.org</hostid> as the head (dispatch) node. During
the summer of 2010, a significant rewrite was done in order to allow
for other hosts to be head nodes. Among the changes were:</para>
@@ -136,9 +143,11 @@
to <literal>old codebase:</literal>.</para>
<note>
- <para>As of December 2010, <hostid>pointyhat</hostid> is still
- running on the old codebase, until the new codebase is considered
- rock-solid.</para>
+ <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>
</note>
<note>
@@ -167,7 +176,7 @@
interesting data (ports and src trees, bindist tarballs,
scripts, etc.) to disconnected nodes during the node-setup
phase. Then, the disconnected portbuild directory is
- nullfs-mounted for chroot builds.</para>
+ nullfs-mounted for jail builds.</para>
<para>The
<username>ports-<replaceable>${arch}</replaceable></username>
@@ -179,41 +188,32 @@
<para>The <command>scripts/allgohans</command> script can
be used to run a command on all of the
<replaceable>${arch}</replaceable> clients.</para>
-
- <para>The <command>scripts/checkmachines</command> script
- is used to monitor the load on all the nodes of the
- build cluster, and schedule which nodes build which ports.
- This script is not very robust, and has a tendency to die.
- It is best to start up this script on the build master
- (e.g. <hostid>pointyhat</hostid>)
- after boot time using a &man.while.1; loop.
- </para>
</sect1>
<sect1 id="setup">
- <title>Chroot Build Environment Setup</title>
+ <title>Jail Build Environment Setup</title>
<para>Package builds are performed in a
- <literal>chroot</literal> populated by the
+ <literal>jail</literal> populated by the
<filename>portbuild</filename> script using the
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/bindist.tar</filename>
file.</para>
- <para>The following command builds a world from the
+ <para>The <command>makeworld</command> command builds a world from the
<filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/src/</filename>
tree and installs it into
- <replaceable>${worlddir}</replaceable>. The tree will
- be updated first unless <literal>-nocvs</literal> is
- specified.</para>
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/bindist.tar</filename>.
+ The tree will
+ be updated first unless <literal>-novcs</literal> is
+ specified. It should be run as <username>root</username>:</para>
- <screen>/var/portbuild&prompt.root; <userinput>scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> [-nocvs]</userinput></screen>
+ <screen>&prompt.root; <userinput>/var/portbuild/scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> [-novcs]</userinput></screen>
<para>The <filename>bindist.tar</filename> tarball is created from the
previously installed world by the <command>mkbindist</command>
- script. It should be run as <username>root</username> with the following
- command:</para>
+ script. It should be also be run as <username>root</username>:</para>
- <screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>/var/portbuild/scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable></userinput></screen>
<para>The per-machine tarballs are located in
<filename><replaceable>${arch}</replaceable>/clients</filename>.</para>
@@ -280,7 +280,7 @@
<para>(For this case, the contents are identical for both server
and client.)</para>
- <screen>RUBY_DEFAULT_VER= 1.9</screen>
+ <programlisting>RUBY_DEFAULT_VER= 1.9</programlisting>
</example>
<example>
@@ -291,7 +291,7 @@
<para>(For this case, the contents are also identical for both
server and client.)</para>
- <screen>
+ <programlisting>
.if !defined(CC) || ${CC} == "cc"
CC=clang
.endif
@@ -304,41 +304,42 @@ CPP=clang-cpp
# Don't die on warnings
NO_WERROR=
WERROR=
-</screen>
+</programlisting>
</example>
<example>
<title>Sample <filename>make.conf.server</filename> for
<application>pkgng</application></title>
- <screen>WITH_PKGNG=yes
-PKG_BIN=/usr/local/sbin/pkg</screen>
+ <programlisting>WITH_PKGNG=yes
+PKG_BIN=/usr/local/sbin/pkg</programlisting>
</example>
<example>
<title>Sample <filename>make.conf.client</filename> for
<application>pkgng</application></title>
- <screen>WITH_PKGNG=yes</screen>
+ <programlisting>WITH_PKGNG=yes</programlisting>
</example>
<example>
<title>Sample <filename>src.conf.server</filename>
to test new <application>sort</application> codebase</title>
- <screen>WITH_BSD_SORT=yes</screen>
+ <programlisting>WITH_BSD_SORT=yes</programlisting>
</example>
</sect1>
<sect1 id="starting">
<title>Starting the Build</title>
- <para>Several separate builds for each architecture - branch combination
+ <para>Separate builds for various combinations of architecture and branch
are supported. All data private to a build (ports tree, src tree,
- packages, distfiles, log files, bindist, Makefile, etc) are located under
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable></filename>.
- The last created build can be alternatively referenced under buildid
- <literal>latest</literal>, the one before is called
+ packages, distfiles, log files, bindist, Makefile, etc) are located under the
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/builds/<replaceable>${buildid}</replaceable>/</filename>
+ directory.
+ The most recently created build can be alternatively referenced using buildid
+ <literal>latest</literal>, and the one before using
<literal>previous</literal>.</para>
<para>New builds are cloned from the <literal>latest</literal>, which is
@@ -425,7 +426,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<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>
+ <screen>&prompt.root; <userinput>dopackages.wrapper <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> <literal>[-options]</literal></userinput></screen>
</sect3>
@@ -443,7 +444,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<para><literal>-keep</literal> - Do not delete this build in the
future, when it would be normally deleted as part of the
<literal>latest</literal> - <literal>previous</literal> cycle.
- Don't forget to clean it up manually when you no longer need it.
+ Do not forget to clean it up manually when you no longer need it.
</para>
</listitem>
@@ -451,8 +452,8 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<para><literal>-nofinish</literal> - Do not perform
post-processing once the build is complete. Useful
if you expect that the build will need to be restarted
- once it finishes. If you use this option, don't forget to cleanup
- the clients when you don't need the build anymore.
+ once it finishes. If you use this option, do not forget to cleanup
+ the clients when you do not need the build any more.
</para>
</listitem>
@@ -519,7 +520,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<listitem>
<para><literal>-noduds</literal> - Do not rebuild the
<filename>duds</filename> file (ports that are never
- built, e.g. those marked <literal>IGNORE</literal>,
+ built, e.g., those marked <literal>IGNORE</literal>,
<literal>NO_PACKAGE</literal>, etc.) during
preprocessing.
</para>
@@ -558,9 +559,9 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
</listitem>
<listitem>
- <para><literal>-srccvs</literal> - Do not update the
+ <para><literal>-srcvcs</literal> - Do not update the
<literal>src</literal> tree from the ZFS snapshot, update it with
- <literal>cvs update</literal> instead.
+ a fresh checkout instead.
</para>
</listitem>
@@ -572,9 +573,9 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
</listitem>
<listitem>
- <para><literal>-portscvs</literal> - Do not update the
+ <para><literal>-portsvcs</literal> - Do not update the
<literal>ports</literal> tree from the ZFS snapshot, update it with
- <literal>cvs update</literal> instead.
+ a fresh checkout instead.
</para>
</listitem>
@@ -600,7 +601,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<listitem>
<para><literal>-fetch-original</literal> - Fetch the
distfile from the original <literal>MASTER_SITES</literal>
- rather than <hostid>ftp-master</hostid>.
+ rather than any cache such as on <hostid>ftp-master</hostid>.
</para>
</listitem>
@@ -628,9 +629,9 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<literal>-nocleanup</literal>, you need to clean up clients by running
</para>
- <para><command>build cleanup <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> -full</command></para>
+ <para>&prompt.user; <userinput>build cleanup <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> <replaceable>${buildid}</replaceable> -full</userinput></para>
- <para><filename>errors/</filename>,
+ <para>When a new build is created, the directories <filename>errors/</filename>,
<filename>logs/</filename>, <filename>packages/</filename>, and so
forth, are cleaned by the scripts. If you are short of space,
you can also clean out <filename>ports/distfiles/</filename>.
@@ -653,7 +654,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<note><para>The actual package build itself occurs in two
identical phases. The reason for this is that sometimes
- transient problems (e.g. NFS failures, FTP sites being
+ transient problems (e.g., NFS failures, FTP sites being
unreachable, etc.) may halt a build. Doing things
in two phases is a workaround for these types of
problems.</para></note>
@@ -664,10 +665,10 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
process encounters an empty subdirectory, both package build
phases will stop short, and an error similar to the following
will be written to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>:
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/journal</filename>:
</para>
- <screen><literal>don't know how to make dns-all(continuing)</literal></screen>
+ <programlisting><literal>don't know how to make dns-all(continuing)</literal></programlisting>
<para>To correct this problem, simply comment out or remove
the <literal>SUBDIR</literal> entries that point to empty
@@ -685,22 +686,22 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<example>
<title>Update the i386-7 tree and do a complete build</title>
- <para><command>dopackages.7 i386 -nosrc -norestr -nofinish</command></para>
- <para><command>dopackages.wrapper i386 7 -nosrc -norestr -nofinish</command></para>
+ <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>
- <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>
+ <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>
- <para><command>dopackages.7 sparc64 -finish</command></para>
- <para><command>dopackages.wrapper sparc64 7 -finish</command></para>
+ <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>
@@ -741,7 +742,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<para><literal>build srcupdate <replaceable>arch</replaceable>
<replaceable>branch</replaceable>
<replaceable>buildid</replaceable></literal> - Replaces the src
- tree with a new ZFS snapshot. Don't forget to use
+ tree with a new ZFS snapshot. Do not forget to use
<literal>-nosrc</literal> flag to <command>dopackages</command>
later!
</para>
@@ -751,7 +752,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<para><literal>build portsupdate <replaceable>arch</replaceable>
<replaceable>branch</replaceable>
<replaceable>buildid</replaceable></literal> - Replaces the ports
- tree with a new ZFS snapshot. Don't forget to use
+ tree with a new ZFS snapshot. Do not forget to use
<literal>-noports</literal> flag to <command>dopackages</command>
later!
</para>
@@ -767,7 +768,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
package set. This can be accomplished with the following
invocation:</para>
- <para><command><replaceable>path</replaceable>/qmanager/packagebuild <replaceable>amd64</replaceable> <replaceable>7-exp</replaceable> <replaceable>20080904212103</replaceable> <replaceable>aclock-0.2.3_2.tbz</replaceable></command></para>
+ <para>&prompt.root; <command><replaceable>path</replaceable>/qmanager/packagebuild <replaceable>amd64</replaceable> <replaceable>7-exp</replaceable> <replaceable>20080904212103</replaceable> <replaceable>aclock-0.2.3_2.tbz</replaceable></command></para>
</sect2>
</sect1>
@@ -846,9 +847,9 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<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>
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs/</filename>
and their error logs to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors</filename>.
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors/</filename>.
</para>
<para>Formerly the docs tree was also checked out, however, it has
@@ -886,7 +887,7 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
identify the tty in which it's running (either record the output
of &man.tty.1; when you start the build, or use <command>ps x</command>
to identify it. You need to make sure that nothing else important
- is running in this tty, e.g. <command>ps -t p1</command> or whatever.
+ is running in this tty, e.g., <command>ps -t p1</command> or whatever.
If there is not, you can just kill off the whole term easily with
<command>pkill -t pts/1</command>; otherwise issue a
<command>kill -HUP</command> in there by, for example,
@@ -911,11 +912,11 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
<title>Cleaning up a Build</title>
<para>To free up resources, you will need to clean up client machines by
- running <command>build cleanup</command> command. For example:
- <screen>&prompt.user; <userinput>/var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full</userinput></screen></para>
+ running <command>build cleanup</command> command. For example:</para>
+ <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
- <literal>chroot</literal>s will not be cleaned up for 24 hours, and no
+ <literal>jail</literal>s will not be cleaned up for 24 hours, and no
new jobs will be dispatched in their place since
<hostid>pointyhat</hostid> thinks the job slot is still occupied.</para>
@@ -924,21 +925,21 @@ PKG_BIN=/usr/local/sbin/pkg</screen>
it thinks is running, and this should be roughly concordant
with the load average. <literal>loads</literal> is refreshed
every 2 minutes. If you do <command>ps x | grep pdispatch</command>
- and it's less than the number of jobs that <literal>loads</literal>
- thinks are in use, you're in trouble.</para>
+ and it is less than the number of jobs that <literal>loads</literal>
+ thinks are in use, you are in trouble.</para>
<para>You may have problem with the <command>umount</command>
commands hanging. If so, you are going to have to use the
<command>allgohans</command> script to run an &man.ssh.1;
- command across all clients for that buildenv. For example:
-<screen>ssh -l root gohan24 df</screen>
+ command across all clients for that buildenv. For example:</para>
+<screen>&prompt.user; ssh gohan24 df</screen>
- will get you a df, and
+ <para>will get you a df, and</para>
-<screen>allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports"
-allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src"</screen>
+<screen>&prompt.user; allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports"
+&prompt.user; 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
+ <para>are supposed to get rid of the hanging mounts. You will have to
keep doing them since there can be multiple mounts.</para>
<note>
@@ -1006,8 +1007,8 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<para>You can use <command>qclient</command> command to monitor the status
of build nodes, and to list the currently scheduled jobs:</para>
- <para><command>python <replaceable>path</replaceable>/qmanager/qclient jobs</command></para>
- <para><command>python <replaceable>path</replaceable>/qmanager/qclient status</command></para>
+ <screen>&prompt.user; <command>python <replaceable>path</replaceable>/qmanager/qclient jobs</command>
+&prompt.user; <command>python <replaceable>path</replaceable>/qmanager/qclient status</command></screen>
<para>The
<command>scripts/stats <replaceable>${branch}</replaceable></command>
@@ -1038,7 +1039,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
directory. The next time the cluster tries to build this port,
it will tar, compress, and copy the <literal>WRKDIR</literal>
to
- <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs</filename>.
+ <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs/</filename>.
</para>
<para>If you find that the system is looping trying to build the
@@ -1055,16 +1056,16 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
then <trademark>Bad Things</trademark> happen.
</para>
- <para>The status of all current builds is generated twice an hour
+ <para>The status of all current builds is generated periodically
and posted to
<ulink url="http://pointyhat.FreeBSD.org/errorlogs/packagestats.html"></ulink>.
For each <literal>buildenv</literal>, the following is displayed:</para>
<itemizedlist>
<listitem>
- <para><literal>cvs date</literal> is the contents of
- <filename>cvsdone</filename>. This is why we recommend that you
- update <filename>cvsdone</filename> for <literal>-exp</literal>
+ <para><literal>updated</literal> is the contents of
+ <filename>.updated</filename>. This is why we recommend that you
+ update <filename>.updated</filename> for <literal>-exp</literal>
runs (see below).</para>
</listitem>
@@ -1095,7 +1096,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<listitem>
<para><literal>missing</literal> shows the difference between
<filename>INDEX</filename> and the other columns. If you have
- restarted a run after a <command>cvs update</command>, there
+ restarted a run after a ports tree update, there
will likely be duplicates in the packages and error columns,
and this column will be meaningless. (The script is naive).</para>
</listitem>
@@ -1137,8 +1138,8 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<para>When building packages for a release, it may be
necessary to manually update the <literal>ports</literal>
and <literal>src</literal> trees to the release tag and use
- <literal>-nocvs</literal> and
- <literal>-noportscvs</literal>.</para>
+ <literal>-novcs</literal> and
+ <literal>-noportsvcs</literal>.</para>
<para>To build package sets intended for use on a CD-ROM,
use the <literal>-cdrom</literal> option to
@@ -1259,7 +1260,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
one of the symlinks that points to it.</para>
</note>
- <para>If you are doing a completely new package set (e.g. for
+ <para>If you are doing a completely new package set (e.g., for
a new release), copy packages to the staging area on
<hostid>ftp-master</hostid> with something like the following:</para>
@@ -1270,7 +1271,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
the package set was transferred successfully, remove the
package set that the new package set is to replace (in
<filename>~/w/ports/<replaceable>${arch}</replaceable></filename>),
- and move the new set into place. (<literal>w/</literal> is
+ and move the new set into place. (<filename>w/</filename> is
merely a shortcut.)</para>
<para>For incremental builds, packages should be uploaded
@@ -1311,12 +1312,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<para>In general, an experimental patches build is run the same
way as any other build, except that you should first update the
ports tree to the latest version and then apply your patches.
- To do the former, you can use the following:
+ To do the former, you can use the following:</para>
+ <note>
+ <para>The following example is obsolete</para>
+ </note>
+
+ <para>
<screen>&prompt.user; <userinput>cvs -R update -dP > update.out</userinput>
-&prompt.user; <userinput>date > cvsdone</userinput></screen>
+&prompt.user; <userinput>date > .updated</userinput></screen>
This will most closely simulate what the <literal>dopackages</literal>
- script does. (While <filename>cvsdone</filename> is merely
+ script does. (While <filename>.updated</filename> is merely
informative, it can be a help.)</para>
<para>You will need to edit <filename>update.out</filename> to look
@@ -1330,7 +1336,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
tested.</para>
<para>Since the machine is shared, someone else may delete your
- changes by mistake, so keep a copy of them in e.g. your home
+ changes by mistake, so keep a copy of them in e.g., your home
directory on <hostid>freefall</hostid>. Do not use
<filename>tmp/</filename>; since <hostid>pointyhat</hostid>
itself runs some version of <literal>-CURRENT</literal>, you
@@ -1411,7 +1417,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
</listitem>
<listitem>
- <para>Port was broken due to a transient error (e.g. FTP site
+ <para>Port was broken due to a transient error (e.g., FTP site
down, package client error, etc.)
</para>
</listitem>
@@ -1424,6 +1430,10 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<screen>&prompt.user; <userinput>cd /var/portbuild/i386/8/ports</userinput></screen>
+ <note>
+ <para>The following example is obsolete</para>
+ </note>
+
<note><para>Be sure to <literal>cvs update</literal> this tree to the same date as
the experimental patches tree.</para></note>
@@ -1431,11 +1441,11 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<para>The following command will set up the control branch for
the partial build (old codebase):</para>
- <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
+ <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.8 -noportsvcs -nobuild -novcs -nofinish</userinput></screen>
<!-- XXX MCL obsolete -->
<para>The builds must be performed from the
- <literal>packages/All</literal> directory. This directory should
+ <filename>packages/All</filename> directory. This directory should
initially be empty except for the Makefile symlink. If this
symlink does not exist, it must be created:</para>
@@ -1451,7 +1461,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<para>The list of packages to build should be a list of package
names (including versions) as they appear in
<filename>INDEX</filename>. The <literal>PKGSUFFIX</literal>
- (i.e. .tgz or .tbz) is optional.</para></note>
+ (i.e., .tgz or .tbz) is optional.</para></note>
<para>This will build only those packages listed as well as all
of their dependencies.</para>
@@ -1564,9 +1574,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
<step>
<para>Pick a directory to hold ports configuration and
- <command>chroot</command> subdirectories. It may be
+ <filename>chroot</filename> subdirectories. It may be
best to put it this on its own partition. (Example:
<filename>/usr2/</filename>.)</para>
+ <note>
+ <para>The filename <filename>chroot</filename> is a
+ historical remnant.</para>
+ </note>
</step>
</procedure>
@@ -1611,12 +1625,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5
3.5G on &i386;, <literal>PAE</literal>).
</para>
<para>
- Required options:<screen>
+ Required options:</para>
+ <programlisting>
options NULLFS
-options TMPFS</screen>
- </para>
+options TMPFS</programlisting>
<para>
- Suggested options:<screen>
+ Suggested options:</para>
+ <programlisting>
options GEOM_CONCAT
options GEOM_STRIPE
options SHMMAXPGS=65536
@@ -1625,30 +1640,29 @@ options SEMMNS=240
options SEMUME=40
options SEMMNU=120
-options ALT_BREAK_TO_DEBUGGER</screen>
- </para>
+options ALT_BREAK_TO_DEBUGGER</programlisting>
<para>For <literal>PAE</literal>, it is not currently possible
to load modules. Therefore, if you are running an architecture
- that supports Linux emulation, you will need to add:<screen>
+ that supports Linux emulation, you will need to add:</para>
+ <programlisting>
options COMPAT_LINUX
-options LINPROCFS</screen>
- </para>
+options LINPROCFS</programlisting>
<para>Also for <literal>PAE</literal>, as of 20110912 you need
- the following. This needs to be investigated:<screen>
+ the following. This needs to be investigated:</para>
+ <programlisting>
nooption NFSD # New Network Filesystem Server
options NFSCLIENT # Network Filesystem Client
-options NFSSERVER # Network Filesystem Server</screen>
- </para>
+options NFSSERVER # Network Filesystem Server</programlisting>
</step>
<step>
<para>As root, do the usual build steps, e.g.:<screen>
-<userinput>make -j4 buildworld</userinput>
-<userinput>make buildkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
-<userinput>make installkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
-<userinput>make installworld</userinput></screen>
+&prompt.root; <userinput>make -j4 buildworld</userinput>
+&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
+&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>${kernconf}</replaceable></userinput>
+&prompt.root; <userinput>make installworld</userinput></screen>
The install steps use <makevar>DESTDIR</makevar>.
</para>
</step>
@@ -1690,10 +1704,10 @@ options NFSSERVER
</listitem>
<listitem>
- <para>Also add the following users:<screen>
+ <para>Also add the following users:</para>
+ <programlisting>
squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh
-ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh</screen>
- </para>
+ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh</programlisting>
<para>Add them to <filename>etc/group</filename> as well.</para>
</listitem>
@@ -1703,9 +1717,8 @@ ganglia:*:102:102::0:0:User &:/usr/l
</listitem>
<listitem>
- <para>In <filename>etc/crontab</filename>: add
- <screen>* * * * * root /var/portbuild/scripts/client-metrics</screen>
- </para>
+ <para>In <filename>etc/crontab</filename>: add</para>
+ <programlisting>* * * * * root /var/portbuild/scripts/client-metrics</programlisting>
</listitem>
<listitem>
@@ -1716,14 +1729,14 @@ ganglia:*:102:102::0:0:User &:/usr/l
</listitem>
<listitem>
- <para>In <filename>etc/inetd.conf</filename>: add
- <screen>infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload</screen>
- </para>
+ <para>In <filename>etc/inetd.conf</filename>: add</para>
+ <programlisting>infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload</programlisting>
</listitem>
<listitem>
- <para>We run the cluster on UTC:
- <screen>cp /usr/share/zoneinfo/Etc/UTC etc/localtime</screen>
+ <para>You should run the cluster on UTC. If you have not set the clock
+ to UTC:
+ <programlisting>&prompt.root; cp -p /usr/share/zoneinfo/Etc/UTC etc/localtime</programlisting>
</para>
</listitem>
@@ -1808,7 +1821,7 @@ squid_pidfile="<filename>/<replaceable>u
> kern.maxfiles=40000
> kern.maxfilesperproc=30000
>
-> # Since the NFS root is static we don't need to check frequently for file changes
+> # Since the NFS root is static we do not need to check frequently for file changes
> # This saves >75% of NFS traffic
> vfs.nfs.access_cache_timeout=300
> debug.debugger_on_panic=1
@@ -1959,8 +1972,8 @@ touch /tmp/.boot_finished</screen>
<listitem>
<para>Configure <command>ssh</command>: copy
- <filename>/etc/ssh</filename> to
- <filename>/usr/local/etc/ssh</filename> and add
+ <filename>etc/ssh</filename> to
+ <filename>usr/local/etc/ssh</filename> and add
<literal>NoneEnabled yes</literal> to
<filename>sshd_config</filename>.</para>
</listitem>
@@ -2011,7 +2024,7 @@ touch /tmp/.boot_finished</screen>
between boots then they must either preserve their
<filename>/tmp</filename>, or revalidate their available
builds at boot time (see the script on the <literal>amd64</literal>
- machines). They must also clean up stale chroots from previous
+ machines). They must also clean up stale jails from previous
builds before creating <filename>/tmp/.boot_finished</filename>.
</para>
</step>
@@ -2091,7 +2104,7 @@ MASTER_SITE_OVERRIDE= \
<para>Hint: you will need one of these for each machine;
however, if you have multiple machines at one site, you
- should create a site-specific one (e.g. in
+ should create a site-specific one (e.g., in
<filename>/var/portbuild/conf/clients/</filename>)
and symlink to it.</para>
</step>
@@ -2156,20 +2169,24 @@ ssh_cmd="/usr/local/bin/ssh"
<title>Enabling the node</title>
<para>These steps need to be taken by a <literal>portmgr</literal>
- acting as <literal>ports-<replaceable>arch</replaceable></literal>
- on <hostid>pointyhat</hostid>.
+ acting as <literal>ports-<replaceable>arch</replaceable></literal>:
</para>
<procedure>
<step>
- <para>Ensure that <literal>ssh</literal> is working by executing
- <command>ssh <replaceable>hostname</replaceable></command>.
+ <para>Ensure that <literal>ssh</literal> to the client
+ is working by executing
+ <command>ssh <replaceable>hostname</replaceable> uname -a</command>.
+ The actual command is not important; what is important is to
+ confirm the setup, and also add an entry into
+ <filename>known_hosts</filename>, once you have confirmed the
+ node's identity.
</para>
</step>
<step>
- <para>Populate <filename>/var/portbuild/scripts/</filename>
- by something like
+ <para>Populate the client's copy of
+ <filename>/var/portbuild/scripts/</filename> by something like
<command>/var/portbuild/scripts/dosetupnode <replaceable>arch</replaceable> <replaceable>major</replaceable> latest <replaceable>hostname</replaceable></command>.
Verify that you now have files in that directory.
</para>
@@ -2187,7 +2204,7 @@ ssh_cmd="/usr/local/bin/ssh"
</procedure>
<para>This step needs to be taken by a <literal>portmgr</literal>
- acting as <literal>root</literal> on <hostid>pointyhat</hostid>.
+ acting as <literal>root</literal>:
</para>
<procedure>
@@ -2209,17 +2226,34 @@ ssh_cmd="/usr/local/bin/ssh"
</command></para>
</step>
</procedure>
+
+ <para>Finally, again as <literal>portmgr</literal>
+ acting as <literal>ports-<replaceable>arch</replaceable></literal>:
+ </para>
+
+ <procedure>
+ <step>
+ <para>Once you are sure that the client is working, tell
+ <application>pollmachine</application> about it by adding
+ it to
+ <filename>/var/portbuild/<replaceable>${arch}</replaceable>/mlist</filename>.
+ </para>
+ </step>
+ </procedure>
</sect2>
</sect1>
<sect1 id="new-branch">
<title>How to configure a new &os; branch</title>
+ <sect2 id="new-branch-pre-qmanager">
+ <title>Steps necessary before <application>qmanager</application> is started</title>
+
+<!-- start of whitespace-broken area -->
+
<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>
+ equivalent to <literal>HEAD</literal>.</para>
<itemizedlist>
<listitem>
@@ -2233,16 +2267,30 @@ ssh_cmd="/usr/local/bin/ssh"
</listitem>
<listitem>
- <para>For what was previously head, change
+ <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>.</para>
+ <literal>RELENG_<replaceable>branch</replaceable>_0</literal>
+ (literal zero).</para>
</listitem>
<listitem>
- <para>Add
+ <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>
+ (literal zero).</para>
+ </listitem>
+
+ <listitem>
+ <para>(New codebase) Add
+ <makevar>SRC_BRANCH_<replaceable>new-branch</replaceable>_SUBDIR</makevar>
+ <literal>=head</literal>.</para>
+ </listitem>
</itemizedlist>
</listitem>
@@ -2317,16 +2365,44 @@ ln -s ../<replaceable>arch</replaceable>
</para>
</listitem>
- <listitem>
- <para>Kick-start the build for the branch with
- <screen>build create <replaceable>arch</replaceable> <replaceable>branch</replaceable></screen></para>
- </listitem>
+ </itemizedlist>
+
+<!-- end of whitespace-broken area -->
+ </sect2>
+
+ <sect2 id="new-branch-post-qmanager">
+ <title>Steps necessary after <application>qmanager</application> is started</title>
+
+<!-- start of whitespace-broken area -->
+
+ <note>
+ <para>Again, as
+ <literal>ports-<replaceable>arch</replaceable></literal>:</para>
+ </note>
+ <itemizedlist>
<listitem>
- <para><link linkend="setup">Create <filename>bindist.tar</filename>
- </link>.</para>
+ <para>For each branch that will be supported, do the following:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Kick-start the build for the branch with:</para>
+ <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>
</itemizedlist>
+
+<!-- end of whitespace-broken area -->
+ </sect2>
+
</sect1>
<sect1 id="old-branch">
@@ -2347,8 +2423,8 @@ ln -s ../<replaceable>arch</replaceable>
<listitem>
<para>Delete
- <makevar>SRC_BRANCH_<replaceable>old-branch</replaceable>_TAG</makevar>
- <literal>=<replaceable>whatever</replaceable></literal></para>
+ <makevar>SRC_BRANCH_<replaceable>old-branch</replaceable>_SUBDIR</makevar><literal>=</literal>
+ <replaceable>whatever</replaceable></para>
</listitem>
</itemizedlist>
</listitem>
@@ -2418,9 +2494,9 @@ zfs destroy -r a/snap/src-<replaceable>o
with the following changes:</para>
<itemizedlist>
<listitem>
- <para>Change
- <makevar>SRC_BRANCH_<replaceable>branch</replaceable>_TAG</makevar> to
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-projects
mailing list