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<#> <list of packages to build></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 & 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ünchen</site>
+ </location>
+ <description>Discuss & 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