PERFORCE change 164604 for review

Rene Ladan rene at FreeBSD.org
Wed Jun 17 18:23:07 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=164604

Change 164604 by rene at rene_self on 2009/06/17 18:22:19

	IFC

Affected files ...

.. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#11 integrate
.. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#4 integrate
.. //depot/projects/docproj_nl/share/sgml/man-refs.ent#19 integrate
.. //depot/projects/docproj_nl/www/en/gnome/docs/faq2.sgml#5 integrate
.. //depot/projects/docproj_nl/www/share/sgml/events.xml#19 integrate

Differences ...

==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#11 (text+ko) ====

@@ -11,7 +11,7 @@
       <corpauthor>The &os; Ports Management Team</corpauthor>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.37 2009/05/14 15:33:07 erwin Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.39 2009/06/14 06:02:09 linimon Exp $</pubdate>
 
     <copyright>
       <year>2003</year>
@@ -20,6 +20,7 @@
       <year>2006</year>
       <year>2007</year>
       <year>2008</year>
+      <year>2009</year>
       <holder role="mailto:portmgr at FreeBSD.org">The &os; Ports
 	Management Team</holder>
     </copyright>
@@ -69,7 +70,8 @@
       <listitem><para>right after release time, for the
 	<literal>-STABLE</literal> branches</para></listitem>
 
-      <listitem><para>every month or so, for <literal>-CURRENT</literal>
+      <listitem><para>periodically to test changes to
+	<literal>-CURRENT</literal>
 	</para></listitem>
 
       <listitem><para>for experimental builds</para></listitem>
@@ -79,16 +81,15 @@
   <sect1 id="management">
     <title>Build Client Management</title>
 
-    <para>The &i386; clients currently
-      netboot from <hostid>pointyhat</hostid>; the other clients
-      are self-hosted.  In all cases they set themselves
+    <para>The &i386; clients co-located with <hostid>pointyhat</hostid>
+      netboot from it (<replaceable>connected</replaceable> nodes); all
+      other clients (<replaceable>disconnected</replaceable> nodes)
+      are either self-hosted or netboot from some other
+      <literal>pxe</literal> host.
+      In all cases they set themselves
       up at boot-time to prepare to build packages.</para>
 
-    <para>Although connected nodes are supported,
-      <replaceable>disconnected</replaceable> cluster node support has
-      been added.  A disconnected node is
-      one that does not mount the cluster master via NFS.  It could be
-      a remote node, for example.  The cluster master rsync's the
+    <para>The cluster master <command>rsync</command>s the
       interesting data (ports and src trees, bindist tarballs,
       scripts, etc.) to disconnected nodes during the node-setup
       phase.  Then, the disconnected portbuild directory is
@@ -140,6 +141,7 @@
 
     <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
       <filename><replaceable>${arch}</replaceable>/clients</filename>.</para>
 
@@ -453,6 +455,9 @@
 
       <para><command>dopackages.7 sparc64 -finish</command></para>
     </example>
+
+    <para>Hint: it us usually best to run the <command>dopackages</command>
+      command inside of <command>screen(1)</command>.</para>
     </sect2>
 
     <sect2 id="build-command">
@@ -583,6 +588,7 @@
     <para>[+] If any of these steps fail, the build will stop
       cold in its tracks.</para>
 
+    <!-- XXX MCL make.* is obsolete? -->
     <para>[++] Status of these steps can be found in
       <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>,
       where <filename>make.0</filename> is the log file used by
@@ -676,7 +682,8 @@
       <filename>dopackages</filename> will simply exit.
     </para>
 
-    <para>If you have to do a <command>cvs update</command> before
+    <!-- XXX MCL the Makefile part is obsolete? -->
+    <para>If you have to do a ports tree update before
       restarting, you may have to rebuild either <filename>duds</filename>,
       <filename>INDEX</filename>, or both.  If you are doing the latter
       manually, you will also have to rebuild
@@ -839,6 +846,7 @@
     <screen>&prompt.user; <userinput>cd <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
 &prompt.user; <userinput>find distfiles > distfiles-<replaceable>${release}</replaceable></userinput></screen>
 
+    <!-- XXX MCL apparently obsolete -->
     <para>This inventory file typically lives in
       <filename>i386/<replaceable>${branch}</replaceable></filename>
       on the cluster master.</para>
@@ -901,7 +909,7 @@
 
     <itemizedlist>
       <listitem>
-	<para><literal>packages-6.3-release</literal></para>
+	<para><literal>packages-6.4-release</literal></para>
       </listitem>
 
       <listitem>
@@ -909,7 +917,7 @@
       </listitem>
 
       <listitem>
-	<para><literal>packages-7.0-release</literal></para>
+	<para><literal>packages-7.2-release</literal></para>
       </listitem>
 
       <listitem>
@@ -990,9 +998,9 @@
 
     <para>Experimental patches builds are run from time to time to
       new features or bugfixes to the ports infrastructure (i.e.
-      <literal>bsd.port.mk</literal>), or to test large sweeping
+      <filename>bsd.port.mk</filename>), or to test large sweeping
       upgrades.  The current experimental patches branch is
-      <literal>7-exp</literal> on the &i386;
+      <literal>7-exp</literal> on the amd64
       architecture.</para>
 
     <para>In general, an experimental patches build is run the same
@@ -1026,33 +1034,35 @@
     <para>In order to have a good control case with which to compare
       failures, you should first do a package build of the branch on
       which the experimental patches branch is based for the &i386;
-      architecture (currently this is <literal>6</literal>).  Then, when
+      architecture (currently this is <literal>7</literal>).  Then, when
       preparing for the experimental patches build, checkout a ports
       tree and a src tree with the same date as was used for the control
       build.  This will ensure an apples-to-apples comparison
       later.</para>
 
+    <!-- XXX MCL currently there is only one build cluster
     <note><para>One build cluster can do the control build while the other
       does the experimental patches build.  This can be a great
       time-saver.</para></note>
+    -->
 
     <para>Once the build finishes, compare the control build failures
       to those of the experimental patches build.  Use the following
-      commands to facilitate this (this assumes the <literal>6</literal>
-      branch is the control branch, and the <literal>6-exp</literal>
+      commands to facilitate this (this assumes the <literal>7</literal>
+      branch is the control branch, and the <literal>7-exp</literal>
       branch is the experimental patches branch):</para>
 
-    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/6-exp/errors</userinput>
-&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/6-exp-errs</userinput>
-&prompt.user; <userinput>cd /var/portbuild/i386/6/errors</userinput>
-&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/6-errs</userinput></screen>
+    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/7-exp/errors</userinput>
+&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/7-exp-errs</userinput>
+&prompt.user; <userinput>cd /var/portbuild/i386/7/errors</userinput>
+&prompt.user; <userinput>find . -name \*.log\* | sort > /tmp/7-errs</userinput></screen>
 
     <note><para>If it has been a long time since one of the builds
       finished, the logs may have been automatically compressed with
       bzip2.  In that case, you must use <literal>sort | sed
       's,\.bz2,,g'</literal> instead.</para></note>
 
-    <screen>&prompt.user; <userinput>comm -3 /tmp/6-errs /tmp/6-exp-errs | less</userinput></screen>
+    <screen>&prompt.user; <userinput>comm -3 /tmp/7-errs /tmp/7-exp-errs | less</userinput></screen>
 
     <para>This last command will produce a two-column report.  The
       first column is ports that failed on the control build but not in
@@ -1107,7 +1117,7 @@
       To differentiate between [1] and [2] above, you can do a rebuild
       of the affected packages under the control branch:</para>
 
-    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/6/ports</userinput></screen>
+    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/7/ports</userinput></screen>
 
     <note><para>Be sure to <literal>cvs update</literal> this tree to the same date as
       the experimental patches tree.</para></note>
@@ -1115,14 +1125,14 @@
     <para>The following command will set up the control branch for
       the partial build:</para>
 
-    <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.6 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
+    <screen>&prompt.user; <userinput>/var/portbuild/scripts/dopackages.7 -noportscvs -nobuild -nocvs -nofinish</userinput></screen>
 
     <para>The builds must be performed from the
       <literal>packages/All</literal> directory.  This directory should
       initially be empty except for the Makefile symlink.  If this
       symlink does not exist, it must be created:</para>
 
-    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/6/packages/All</userinput>
+    <screen>&prompt.user; <userinput>cd /var/portbuild/i386/7/packages/All</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>
 
@@ -1154,6 +1164,601 @@
       <filename>/usr/ports/CHANGES</filename>.</para>
   </sect1>
 
+  <sect1 id="new-node">
+    <title>How to configure a new package building node</title>
+
+    <para>Before following these steps, please coordinate with
+      <literal>portmgr</literal>.
+    </para>
+
+    <sect2 id="node-requirements">
+      <title>Node requirements</title>
+
+      <para><literal>portmgr</literal> is still working on characterizing
+	what a node needs to be generally useful.</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>CPU capacity: TBA.  However, we have several dual-CPU
+	    P-III &i386; 1.0GHz machines available, so anything with
+	    less horsepower than that is not as likely to be useful.
+	    (However, many of our &sparc64;s are single-CPU, 500MHz
+	    machines, so our requirements are lower.)</para>
+
+	  <note>
+	    <para>We are able to adjust the number of jobs
+	      dispatched to each machine, and we generally tune
+	      the number to use 100% of CPU.</para>
+	  </note>
+	</listitem>
+
+	<listitem>
+	  <para>RAM: TBA.  Again, we have been tuning to one job
+	    per 512M of RAM.  (Anything less than 512M is very
+	    unlikely to be useful.)</para>
+	</listitem>
+
+	<listitem>
+	  <para>disk: at least 20G is needed for filesystem; 32G is
+	    needed for swap.  Best performance will be if multiple
+	    disks are used, and configured as <literal>geom</literal>
+	    stripes.  Performance numbers are also TBA.</para>
+
+	  <note>
+	    <para>Package building will test disk drives to destruction.
+	      Be aware of what you are signing up for!</para>
+	  </note>
+	</listitem>
+
+	<listitem>
+	  <para>network bandwidth: TBA.  However, an 8-job machine
+	    has been shown to saturate a cable modem line.</para>
+	</listitem>
+      </itemizedlist>
+
+    </sect2>
+
+    <sect2 id="node-preparation">
+      <title>Preparation</title>
+
+      <procedure>
+	<step>
+	  <para>Pick a unique hostname.  It does not have to be
+	    a publicly resolvable hostname (it can be a name on
+	    your internal network).</para>
+	</step>
+
+	<step>
+	  <para>By default, package building requires the following TCP
+	    ports to be accessible: 22 (<literal>ssh</literal>), 414
+	    (<literal>infoseek</literal>), and 8649
+	    (<literal>ganglia</literal>).  If these are not accessible,
+	    pick others and ensure that an <command>ssh</command> tunnel
+	    is set up (see below).</para>
+
+	  <para>(Note: if you have more than one machine at your site,
+	    you will need an individual TCP port for each service on
+	    each machine, and thus <command>ssh</command> tunnels
+	    will be necessary.  As such, you will probably need to
+	    configure port forwarding on your firewall.)</para>
+	</step>
+
+	<step>
+	  <para>Decide if you will be booting natively or via
+	    <literal>pxeboot</literal>.  You will find that it is
+	    easier to keep up with changes to <literal>-current</literal>
+	    with the latter, especially if you have multiple machines
+	    at your site.</para>
+	</step>
+
+	<step>
+	  <para>Pick a directory to hold ports configuration and
+	    <command>chroot</command> subdirectories.  It may be
+	    best to put it this on its own partition.  (Example:
+	    <filename>/usr2/</filename>.)</para>
+	</step>
+      </procedure>
+
+    </sect2>
+
+    <sect2 id="node-src">
+      <title>Configuring <literal>src</literal></title>
+
+      <procedure>
+	<step>
+	  <para>Create a directory to contain the latest
+	    <literal>-current</literal> source tree and check it
+	    out.  (Since your machine will likely be asked to build
+	    packages for <literal>-current</literal>, the kernel it
+	    runs should be reasonably up-to-date with the
+	    <literal>bindist</literal> that will be exported
+	    by our scripts.)
+	</step>
+
+	<step>
+	  <para>If you are using <literal>pxeboot</literal>: create a
+	    directory to contain the install bits.  You will probably
+	    want to use a subdirectory of <filename>/pxeroot</filename>,
+	    e.g.,
+	    <filename>/pxeroot/<replaceable>${arch}</replaceable>-<replaceable>${branch}</replaceable></filename>.
+	    Export that as <makevar>DESTDIR</makevar>.</para>
+	</step>
+
+	<step>
+	  <para>If you are cross-building, export
+	    <literal>TARGET_ARCH</literal>=<replaceable>${arch}</replaceable>.
+	  <para>
+	  <note>
+	    <para>The procedure for cross-building ports is not yet
+	      defined.</para>
+	  </note>
+	</step>
+
+	<step>
+	  <para>Generate a kernel config file.  Include
+	    <literal>GENERIC</literal> (or, if you are using more than
+	    3.5G on &i386;, <literal>PAE</literal>).
+	    Suggested options:<screen>
+options         GEOM_CONCAT
+options         GEOM_STRIPE
+options         NULLFS
+options         TMPFS
+options         SHMMAXPGS=65536
+options         SEMMNI=40
+options         SEMMNS=240
+options         SEMUME=40
+options         SEMMNU=120
+
+options         ALT_BREAK_TO_DEBUGGER
+options         PRINTF_BUFR_SIZE=128</screen>
+	  </para>
+
+	  <para>For <literal>PAE</literal>, it is not currently possible
+	    to load modules.  Therefore, you will need to add:<screen>
+options         COMPAT_LINUX
+options         LINPROCFS</screen>
+	  </para>
+	</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>
+	    The install steps use <makevar>DESTDIR</makevar>.
+	  </para>
+	</step>
+
+	<step>
+	  <para>Customize files in <filename>etc/</filename>.
+	    Whether you do this on the client itself, or another
+	    machine, will depend on whether you are using
+	    <literal>pxeboot</literal>.</para>
+
+	  <para>If you are using <literal>pxeboot</literal>: create
+	    a subdirectory of
+	    <filename><replaceable>${DESTDIR}</replaceable></filename>
+	    called <filename>conf/</filename>.  Create one subdirectory
+	    <filename>default/etc/</filename>, and (if your site will host
+	    multiple nodes), subdirectories
+	    <filename><replaceable>${ip-address}</replaceable>/etc/</filename>
+	    to contain override files for individual hosts.  (You may find
+	    it handy to symlink each of those directories to a hostname.)
+	    Copy the entire contents of
+	    <filename><replaceable>${DESTDIR}</replaceable>/etc/</filename>
+	    to <filename>default/etc/</filename>; that is where you will
+	    edit your files.  The by-ip-address
+	    <filename>etc/</filename> directories will probably only need
+	    customized <filename>rc.conf</filename> files.</para>
+
+	  <para>In either case, apply the following steps:</para>
+
+	  <itemizedlist>
+	    <listitem>
+	      <para>Create a
+		<literal>ports-<replaceable>${arch}</replaceable></literal>
+		user and group.  Add it to the <literal>wheel</literal>
+		group.  It can have the <literal>'*'</literal> password.</para>
+
+	      <para>Create
+		<filename>/home/ports-<replaceable>${arch}/.ssh/</replaceable></filename>
+		and populate <filename>authorized_keys</filename>.  </para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Also add the following users:<screen>
+squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh
+ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh</screen>
+	      </para>
+	      <para>Add them to <filename>etc/group</filename> as well.</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Create the appropriate files in
+		<filename>etc/.ssh/</filename>.</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>In <filename>etc/crontab</filename>: add
+		<screen>*       *       *       *       *       root    /var/portbuild/scripts/client-metrics</screen>
+	      </para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Create the appropriate
+		<filename>etc/fstab</filename>.  (If you have multiple,
+		  different, machines, you will need to put those in
+		  the override directories.)</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>In <filename>etc/inetd.conf</filename>: add
+		<screen>infoseek        stream  tcp     nowait  nobody  /var/portbuild/scripts/reportload       reportload <replaceable>${arch}</replaceable></screen>
+	      </para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Create the appropriate
+		<filename>etc/rc.conf</filename>.  (If you have multiple,
+		  different, machines, you will need to put those in
+		  the override directories.)</para>
+
+	      <para>Recommended entries:<screen>
+hostname="<replaceable>${hostname}</replaceable>
+inetd_enable="YES"
+linux_enable="YES"
+nfs_client_enable="YES"
+sendmail_enable="NONE"
+sshd_enable="YES"
+sshd_program="/usr/local/sbin/sshd"
+
+squid_enable="YES"
+gmond_enable="YES"
+</screen>
+	      </para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Create <filename>etc/resolv.conf</filename>, if
+		necessary.</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Modify <filename>etc/sysctl.conf</filename>:<screen>
+9a10,30
+> kern.corefile=/tmp/%N.core
+> kern.sugid_coredump=1
+> #debug.witness_ddb=0
+> #debug.witness_watch=0
+>
+> # squid needs a lot of fds (leak?)
+> kern.maxfiles=40000
+> kern.maxfilesperproc=30000
+>
+> # Since the NFS root is static we don't need to check frequently for file changes
+> # This saves >75% of NFS traffic
+> vfs.nfs.access_cache_timeout=300
+> debug.debugger_on_panic=1
+>
+> # For jailing
+> security.jail.sysvipc_allowed=1
+> security.jail.allow_raw_sockets=1
+> security.jail.chflags_allowed=1
+> security.jail.enforce_statfs=1
+>
+> vfs.lookup_shared=1</screen>
+	      </para>
+	    </listitem>
+
+	    <listitem>
+	      <para>If desired, modify <filename>etc/syslog.conf</filename>
+		to change the logging destinations to
+		<literal>@pointyhat.freebsd.org</literal>.</para>
+	    </listitem>
+	  </itemizedlist>
+
+	</step>
+
+      </procedure>
+
+    </sect2>
+
+    <sect2 id="node-ports">
+      <title>Configuring <literal>ports</literal></title>
+
+      <procedure>
+	<step>
+	  <para>Install the following ports:<screen>
+net/rsync
+security/openssh-portable
+security/sudo
+sysutils/ganglia-monitor-core (with GMETAD off)
+www/squid</screen>
+	  </para>
+
+	  <para>There is a WIP to create a meta-port, but it is not yet
+	    complete.
+	  </para>
+	</step>
+
+	<step>
+	  <para>Customize files in <filename>usr/local/etc/</filename>.
+	    Whether you do this on the client itself, or another
+	    machine, will depend on whether you are using
+	    <literal>pxeboot</literal>.</para>
+
+	  <note>
+	    <para>The trick of using <filename>conf</filename>
+	      override subdirectories is less effective here, because
+	      you would need to copy over all subdirectories of
+	      <filename>usr/</filename>.  This is an implementation
+	      detail of how the pxeboot works.</para>
+	  </note>
+
+	  <para>Apply the following steps:</para>
+
+	  <itemizedlist>
+	    <listitem>
+	      <para>Modify
+		 <filename>usr/local/etc/gmond.conf</filename>:<screen>
+21,22c21,22
+<   name = "unspecified"
+<   owner = "unspecified"
+---
+>   name = "<replaceable>${arch}</replaceable> package build cluster"
+>   owner = "portmgr at FreeBSD.org"
+24c24
+<   url = "unspecified"
+---
+>   url = "http://pointyhat.freebsd.org"</screen>
+	      </para>
+
+	      <!-- XXX MCL adapted literally from krismail; I do not understand it -->
+	      <para>If there are machines from more than one cluster in the
+		same multicast domain (basically = LAN) then change the
+		multicast groups to different values (.71, .72, etc).</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Create
+		 <filename>usr/local/etc/rc.d/portbuild.sh</filename>:<screen>
+#!/bin/sh
+#
+# Configure the system post-boot
+
+ln -sf /usr2/portbuild /var/portbuild
+
+# Identify builds ready for use
+cd /var/portbuild/${arch}
+for i in */builds/*; do
+    if [ -f ${i}/.ready ]; then
+        mkdir /tmp/.setup-${i##*/}
+    fi
+done
+
+# Flag that we are ready to accept jobs
+touch /tmp/.boot_finished</screen>
+	      </para>
+
+	      <!-- XXX MCL adapted literally from krismail; I do not understand it -->
+	      <para>If there are machines from more than one cluster in the
+		same multicast domain (basically = LAN) then change the
+		multicast groups to different values (.71, .72, etc).</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Modify
+		 <filename>usr/local/etc/squid/squid.conf</filename>:<screen>
+288,290c288,290
+< #auth_param basic children 5
+< #auth_param basic realm Squid proxy-caching web server
+< #auth_param basic credentialsttl 2 hours
+---
+> auth_param basic children 5
+> auth_param basic realm Squid proxy-caching web server
+> auth_param basic credentialsttl 2 hours
+611a612
+> acl localnet src 127.0.0.0/255.0.0.0
+655a657
+> http_access allow localnet
+2007a2011
+> maximum_object_size 400 MB
+2828a2838
+> negative_ttl 0 minutes</screen>
+	      </para>
+
+	      <para>Also, change <filename>usr/local</filename>
+		to <filename>usr2</filename> in the definitions of
+		<literal>cache_dir</literal>,
+		<literal>access_log</literal>,
+		<literal>cache_log</literal>,
+		<literal>cache_store_log</literal>,
+		<literal>pid_filename</literal>,
+		<literal>netdb_filename</literal>,
+		<literal>coredump_dir</literal>.
+	      </para>
+	    </listitem>
+
+	    <!-- XXX MCL adapted literally from krismail; I do not understand it -->
+	    <listitem>
+	      <para>Configure <command>ssh</command>: copy
+		<filename>/etc/ssh</filename> to
+		<filename>/usr/local/etc/ssh</filename> and add
+		<literal>NoneEnabled=yes</literal> to
+		<filename>sshd_config</filename>.</para>
+	    </listitem>
+
+	    <listitem>
+	      <para>Modify
+		 <filename>usr/local/etc/sudoers</filename>:<screen>
+38a39,42
+>
+> # local changes for package building
+> %wheel        ALL=(ALL) ALL
+> ports-<replaceable>${arch}</replaceable>    ALL=(ALL) NOPASSWD: ALL</screen>
+	      </para>
+	    </listitem>
+	  </itemizedlist>
+	</step>
+      </procedure>
+
+    </sect2>
+
+    <sect2 id="node-configuration">
+      <title>Configuration on the client itself</title>
+
+      <procedure>
+	<step>
+	  <para>Change into the port/package directory you picked
+	    above, e.g., <command>cd /usr2</command>.</para>
+	</step>
+
+	<step>
+	  <para>As root:<screen>
+<userinput>mkdir portbuild</userinput>
+<userinput>chown ports-<replaceable>${arch}</replaceable>:ports-<replaceable>${arch}</replaceable> portbuild</userinput>
+<userinput>mkdir pkgbuild</userinput>
+<userinput>chown ports-<replaceable>${arch}</replaceable>:ports-<replaceable>${arch}</replaceable> pkgbuild</userinput>
+<userinput>mkdir squid</userinput>
+<userinput>mkdir squid/cache</userinput>
+<userinput>mkdir squid/logs</userinput>
+<userinput>chown -R squid:squid squid</userinput></screen>
+	  </para>
+
+	<!-- XXX MCL adapted literally from krismail; I do not understand it -->
+	<step>
+	  <para>If clients preserve <filename>/var/portbuild</filename>
+	    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
+	    builds before creating <filename>/tmp/.boot_finished</filename>.
+	  </para>
+	</step>
+
+	<step>
+	  <para>Boot the client.</para>
+	</step>
+
+	<step>
+	  <para>As root, initialize the <command>squid</command>
+	    directories:
+	    <screen><userinput>squid -z</userinput></screen></para>
+	</step>
+
+	<step>
+	  <para>Test each of the TCP ports by executing
+	    <command>telnet <replaceable>hostname</replaceable> <replaceable>portnumber</replaceable></command>.
+	    <literal>414</literal> (or its tunnel) should give you a few lines of status
+	    information; <literal>8649</literal> should give you an
+	    <literal>XML</literal> response.</para>
+	</step>
+      </procedure>
+
+    </sect2>
+
+    <sect2 id="node-enabling">
+      <title>Enabling the node</title>
+
+      <para>These steps need to be taken by a <literal>portmgr</literal>
+	acting as <literal>root</literal> on <hostid>pointyhat</hostid>.
+      </para>
+
+      <procedure>
+	<step>
+	  <para>If any of the default TCP ports is not available (see
+	    above), you will need to create an <command>ssh</command>
+	    tunnel for it and include it in the appropriate
+	    <filename>crontab</filename>.</para>
+	</step>
+
+	<step>
+	  <para>Add an entry to
+	    <filename>/home/ports-<replaceable>${arch}</replaceable>/.ssh/config</filename>
+	    to specify the public IP address, TCP port for
+	    <command>ssh</command>, username, and any other necessary
+	    information.</para>
+	</step>
+
+	<step>
+	  <para>Test each of the TCP ports by executing
+	    <command>telnet <replaceable>hostname</replaceable> <replaceable>portnumber</replaceable></command>,
+	    where <literal>portnumber</literal> is either the native
+	    portnumber or its tunnelled equivalent.</para>
+	</step>
+
+	<step>
+	  <para>Add the public IP address to
+	    <filename>/etc/hosts.allow</filename>.  (Remember, multiple
+	    machines can be on the same IP address.)</para>
+	</step>
+
+	<step>
+	  <para>Create
+<filename>/var/portbuild/<replaceable>${arch}</replaceable>/clients/bindist-<replaceable>${hostname}</replaceable>.tar</filename>.
+	  </para>
+
+	  <itemizedlist>
+	    <listitem>
+	      <para>Copy one of the existing ones as a template and unpack it
+		in a temporary directory.</para>
+	    </listitem>
+	    <listitem>
+	      <para>Customize <filename>etc/resolv.conf</filename> and
+	      <filename>etc/make.conf</filename> for the local site.</para>
+	    </listitem>
+	    <listitem>
+	      <para><command>tar</command> it up and move it to the right
+		location.</para>
+	    </listitem>
+	  </itemizedlist>
+
+	  <para>Hint: you will need one of these for each machine;
+	    however, if you have multiple machines at one site, you may
+	    be able to create a site-specific one and symlink to it.</para>
+	</step>
+
+	<step>
+	  <para>Create
+<filename>/var/portbuild/<replaceable>${arch}</replaceable>/portbuild-<replaceable>${hostname}</replaceable></filename>
+	    using one of the existing ones as a guide.  This
+	    file contains overrides to
+<filename>/var/portbuild/<replaceable>${arch}</replaceable>/portbuild.conf</filename>.</para>
+
+	  <para>Suggested values:<screen>
+disconnected=1
+http_proxy="http://localhost:3128/"
+squid_dir=/usr2/squid
+scratchdir=/usr2/pkgbuild
+client_user=ports-<replaceable>${arch}</replaceable>
+sudo_cmd="sudo -H"
+rsync_gzip=-z
+
+infoseek_host=localhost
+infoseek_port=<replaceable>${tunelled-tcp-port}</replaceable></screen>
+	  </para>
+
+	  <para>Possible other values:<screen>
+use_md_swap=1
+md_size=9g
+use_zfs=1
+scp_cmd="/usr/local/bin/scp"
+ssh_cmd="/usr/local/bin/ssh"
+</screen>
+	  </para>
+	</step>
+
+	<step>
+	  <para>Add an appropriate entry to
+	    <filename>/usr/local/etc/gmetad.conf</filename>.</para>
+	</step>
+      </procedure>
+
+    </sect2>
+
+  </sect1>
+
   <sect1 id="disk-failure">
     <title>Procedures for dealing with disk failures</title>
 
@@ -1216,7 +1821,7 @@
 	  remapping).</para></listitem>
     </itemizedlist>
 
-    <para>When a disk has failed, please inform &a.kris; so he can try to get it
-      replaced.</para>
+    <para>When a disk has failed, please inform the cluster administrators
+      so we can try to get it replaced.</para>
   </sect1>
 </article>

==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#4 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml,v 1.131 2009/05/10 13:53:56 blackend Exp $
+     $FreeBSD: doc/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml,v 1.132 2009/06/17 18:01:54 bcr Exp $
 -->
 
 <chapter id="multimedia">
@@ -480,10 +480,12 @@
 	command-line MP3 player.</para>
 
       <para><application>mpg123</application> can be run by specifying
-	the sound device and the MP3 file on the command line, as
-	shown below:</para>
+	the sound device and the MP3 file on the command line.  Assuming your
+	audio device is <devicename>/dev/dsp1.0</devicename> and you want
+	to play the MP3 file <replaceable>Foobar-GreatestHits.mp3</replaceable>
+	you would enter the following:</para>
 
-      <screen>&prompt.root; <userinput>mpg123 -a <replaceable>/dev/dsp1.0</replaceable> Foobar-GreatestHits.mp3</userinput>
+      <screen>&prompt.root; <userinput>mpg123 -a <devicename>/dev/dsp1.0</devicename> <replaceable>Foobar-GreatestHits.mp3</replaceable></userinput>
 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
 Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
 Uses code from various people. See 'README' for more!
@@ -496,10 +498,6 @@
 Playing MPEG stream from Foobar-GreatestHits.mp3 ...
 MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
 </screen>
-
-      <para><filename><replaceable>/dev/dsp1.0</replaceable></filename> should be replaced with the
-	<devicename>dsp</devicename> device entry on your system.</para>
-
     </sect2>
 
     <sect2 id="rip-cd">

==== //depot/projects/docproj_nl/share/sgml/man-refs.ent#19 (text+ko) ====

@@ -20,7 +20,7 @@
      lexicographical order by the entity (i.e., the dots used in place of
      special characters should not be expanded when comparing).
 
-     $FreeBSD: doc/share/sgml/man-refs.ent,v 1.487 2009/06/02 01:34:15 gabor Exp $
+     $FreeBSD: doc/share/sgml/man-refs.ent,v 1.488 2009/06/16 10:28:11 hrs Exp $
 -->
 
 <!ENTITY man...1 "<citerefentry/<refentrytitle/[/<manvolnum/1//">
@@ -3315,6 +3315,7 @@
 <!ENTITY man.cam.4 "<citerefentry/<refentrytitle/cam/<manvolnum/4//">
 <!ENTITY man.cardbus.4 "<citerefentry/<refentrytitle/cardbus/<manvolnum/4//">
 <!ENTITY man.carp.4 "<citerefentry/<refentrytitle/carp/<manvolnum/4//">
+<!ENTITY man.cas.4 "<citerefentry/<refentrytitle/cas/<manvolnum/4//">
 <!ENTITY man.ccd.4 "<citerefentry/<refentrytitle/ccd/<manvolnum/4//">
 <!ENTITY man.cd.4 "<citerefentry/<refentrytitle/cd/<manvolnum/4//">
 <!ENTITY man.cdce.4 "<citerefentry/<refentrytitle/cdce/<manvolnum/4//">

==== //depot/projects/docproj_nl/www/en/gnome/docs/faq2.sgml#5 (text+ko) ====

@@ -1,6 +1,6 @@
 <!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
 <!ENTITY base CDATA "../..">
-<!ENTITY date "$FreeBSD: www/en/gnome/docs/faq2.sgml,v 1.142 2009/05/31 20:06:08 marcus Exp $">
+<!ENTITY date "$FreeBSD: www/en/gnome/docs/faq2.sgml,v 1.143 2009/06/16 20:02:42 remko Exp $">
 <!ENTITY title "FreeBSD GNOME Project: GNOME &gnomever; FAQ">
 <!ENTITY email "freebsd-gnome">
 <!ENTITY % navinclude.gnome "INCLUDE">
@@ -137,7 +137,7 @@
 
 	    <p>This will enable services such as GDM, HAL, D-BUS, and
 	      Avahi on system startup.  If you do not want to run all
-	      of these services, you should forgo the
+	      of these services, you should forget the
 	      <em>gnome_enable</em> property, and manually enable the
 	      services you want.</p>
 

==== //depot/projects/docproj_nl/www/share/sgml/events.xml#19 (text+ko) ====

@@ -10,10 +10,107 @@
 <events>
   <cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
     <cvs:keyword name="freebsd">
-      $FreeBSD: www/share/sgml/events.xml,v 1.73 2009/06/08 17:56:30 delphij Exp $
+      $FreeBSD: www/share/sgml/events.xml,v 1.74 2009/06/16 22:23:24 jkois Exp $
     </cvs:keyword>
   </cvs:keywords>
 
+  <event id="open-rheinruhr-2009">
+    <name>OpenRheinRuhr 2009</name>
+    <url>http://www.openrheinruhr.de/</url>
+    <startdate>
+      <year>2009</year>
+      <month>11</month>
+      <day>7</day>
+    </startdate>
+    <enddate>
+      <year>2009</year>
+      <month>11</month>
+      <day>8</day>
+    </enddate>
+    <location>
+      <country code="DE">Germany</country>
+      <city>Bottrop</city>
+      <site>Saalbau</site>
+    </location>
+    <description>This new event in the middle of Europe will
+      see a huge audience and an impressive list of exhibitors.
+      FreeBSD will have a booth as well as the other major
+      BSDs.</description>
+  </event>
+
+  <event id="discuss-discover-2009">
+    <name>discuss &#38; discover 2009</name>
+    <url>http://en.discuss-discover.com/</url>
+    <startdate>
+      <year>2009</year>
+      <month>10</month>
+      <day>20</day>
+    </startdate>
+    <enddate>
+      <year>2009</year>
+      <month>10</month>
+      <day>22</day>
+    </enddate>
+    <location>
+      <country code="DE">Germany</country>
+      <city>Munich</city>
+      <site>Messe M&uuml;nchen</site>
+    </location>
+    <description>Discuss &#38; discover is the successor of
+      Systems.  FreeBSD will have a booth as well as the
+      other major BSDs and will try to repeat the great
+      success of past years.  There will be an Open Source
+      conference with workshops, talks and a theme park for
+      various projects.</description>
+  </event>
+
+  <event id="it-sa-2009">
+    <name>IT Security Expo 2009</name>
+    <url>http://www.it-sa.de/en/</url>
+    <startdate>
+      <year>2009</year>
+      <month>9</month>
+      <day>23</day>
+    </startdate>
+    <enddate>
+      <year>2009</year>
+      <month>9</month>
+      <day>24</day>
+    </enddate>
+    <location>
+      <country code="DE">Germany</country>
+      <city>Nuremberg</city>
+    </location>
+    <description>Starting in 2009, Nuremberg will be staging
+      the leading IT security event in a new venue:  Although
+      SYSTEMS has closed its doors, the IT SecurityExpo with
+      its track record of ten successful years is to be
+      continued and its scope expanded.  There will be a
+      FreeBSD booth and talks likely.</description>
+  </event>
+
+  <event id="openexpo-2009">
+    <name>OpenExpo 2009</name>
+    <url>http://www.openexpo.ch/</url>
+    <startdate>
+      <year>2009</year>
+      <month>9</month>
+      <day>23</day>
+    </startdate>
+    <enddate>
+      <year>2009</year>
+      <month>9</month>

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list