[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Documentation/pkgsrc/binary.xml: 1.1 -> 1.3



以下のページの更新をしました。ツッコミをお願いします。

Documentation/pkgsrc/binary.xml: 1.1 -> 1.3

> revision 1.3
> date: 2004/09/29 13:08:36;  author: hubertf;  state: Exp;  lines: +82 -73
> Sync with pkgsrc/Packages.txt rev. 1.360.
> 
> Changes that were made to the XML version were not added back into
> Packages.txt, as Packages.txt will be deprecated soon.
> 
> Going to update the contents of our new "pkgsrc Guide" a bit more now...
> ----------------------------
> revision 1.2
> date: 2004/09/28 09:58:20;  author: grant;  state: Exp;  lines: +7 -7
> sync with what I have in my local pkgsrc/doc/pkgsrc-guide/ tree until
> it is committed to pkgsrc.

火曜日までに異議がなければ、 commit します。

以下、訳と原文それぞれの新旧の差分です。

--- Documentation/pkgsrc/binary.xml.orig	2006-07-15 16:53:50.000000000 +0900
+++ Documentation/pkgsrc/binary.xml	2006-07-15 16:53:50.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: binary.xml,v 1.1 2004/06/06 13:31:53 grant Exp $ -->
+<!-- $NetBSD: binary.xml,v 1.3 2004/09/29 13:08:36 hubertf Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: binary.xml,v 1.1 2004/06/06 13:31:53 grant Exp   -->
+<!-- NetBSD: binary.xml,v 1.3 2004/09/29 13:08:36 hubertf Exp   -->
 
 <chapter id="binary">
   <title>バイナリーパッケージを作る</title>
@@ -16,17 +16,18 @@
       また、あなたのバイナリーパッケージを配布して、
       他の人が簡単にインストールできるようにすることもできます。</para>
 
-    <para>バイナリーパッケージを作るには、以下のようにします。</para>
+    <para>バイナリーパッケージを作るには、pkgsrc の適切なディレクトリーへ移動したうえで、
+      <command>make package</command> を実行します。</para>
 
-    <screen>&rprompt; <userinput>cd sysutils/top</userinput>
+    <screen>&rprompt; <userinput>cd misc/figlet</userinput>
 &rprompt; <userinput>make package</userinput></screen>
 
     <para>これにより、パッケージが構築、インストール(もし、まだ済んでいなけれ
       ば)され、インストールされたパッケージからバイナリーパッケージが構築
       されます。これは<command>pkg_*</command>ツールを使い操作できます。
       バイナリーパッケージは<filename>/usr/pkgsrc/packages</filename>
-      以下に、gzipまたはbzip2されたtarファイルとして作成されます。
-      上記の<pkg>sysutils/top</pkg>の例の続きは、<xref linkend="logs.package"/>を参照して下さい。</para>
+      以下に、gzipされたtarファイルとして作成されます。
+      上記の<pkg>misc/figlet</pkg>の例の続きは、<xref linkend="logs.package"/>を参照して下さい。</para>
 
     <para>このようなバイナリーパッケージを提出する方法については、このドキュメント
       の後の<xref linkend="submit"/>を参照してください。</para>
@@ -38,7 +39,7 @@
     <para><xref linkend="build.helpful-targets"/>を参照してください。</para>
   </sect1>
 
-  <sect1>
+  <sect1 id="bulkbuild">
     <title>全パッケージをバルクビルドする</title>
 
     <para>この章では、コンパイル済みバイナリーパッケージを全部揃えたい人のために、そ
@@ -71,17 +72,6 @@
 FAILOVER_FETCH= yes               # insist on the correct checksum
 PKG_DEVELOPER?= yes
 _ACCEPTABLE=    yes</programlisting>
-
-	<para>全体の構築のために<filename>xpkgwedge</filename>
-	  を使いたい場合は、以下を加えます:</para>
-
-	<programlisting>BULK_PREREQ+= pkgtools/xpkgwedge</programlisting>
-
-	<para>構築の振舞を変えるためにバルクビルドの最中にインストールされている必要があ
-	  るパッケージがこれ以外にあれば、<varname>BULK_PREREQ</varname>変数に追加することができます。た
-	  だし、<varname>BULK_PREREQ</varname>に設定する意味があるパッケージは、現在のところ
-	  <filename>xpkgwedge</filename>だ
-	  けです。</para>
       </sect3>
 
       <sect3>
@@ -91,7 +81,7 @@
 	  <filename>build.conf-example</filename>を
 	  <filename>build.conf</filename> にコピー
 	  し、このファイル中のコメントに従って編集します。このファイルは、構築後に作
-	  られるログファイルをどこに置くか、構築の報告メールをどこに出すか、pkgsrcの
+	  られるログファイルをどこに置くか、構築の報告メールをどこに出すか、pkgsrcツリーの
 	  場所はどこか、および、どのユーザーに&man.su.8;して<command>cvs update</command>をおこなうか、を決め
 	  る設定ファイルです。</para>
       </sect3>
@@ -108,7 +98,7 @@
 	<screen>&rprompt; <userinput>echo "I do not have enough disk space to build this pig." \
     &gt; pkgsrc/games/crafty-book-enormous/$BROKENF</userinput></screen>
 
-	<para>のような内容を書いておいて、3 Gb近くのディスク容量が必要な個々のパッケージ
+	<para>のような内容を書いておいて、3 GB近くのディスク容量が必要な個々のパッケージ
 	  の構築をしないようにする、というものがあります。</para>
       </sect3>
     </sect2>
@@ -118,7 +108,7 @@
 
       <para><filename>/usr/pkg</filename>はバルクビルド開始時に完全に削除されるので、ログインシェルが別の場
 	所にあることを確認してください。ログインシェルを<filename>/usr/local/bin</filename>に移して(それ
-	に合わせてパスワードファイルも修正して)おくか、<filename>/etc/rc.local</filename>で&man.pkg.add.1;を使っ
+	に合わせて passwd ファイルも修正して)おくか、<filename>/etc/rc.local</filename>で&man.pkg.add.1;を使っ
 	て(再)インストールするようにしておきます。これでリブート後もログインできま
 	す(パッケージが削除されてもシェルのプロセスは死なず、シェルを新たに起動でき
 	なくなるだけです)。また、1.5より前の&os;を使っていたり、何らかの
@@ -156,7 +146,7 @@
 
       <screen>&rprompt; <userinput>sh mk/bulk/build restart</userinput></screen>
 
-      <para>バルクビルド実行が終わると、その要約がメールで届きます。また、<filename>build.conf</filename>
+      <para>バルクビルドが終わると、その要約がメールで届きます。また、<filename>build.conf</filename>
 	ファイルの<varname>FTP</varname>で指定したディレクトリーに、構築ログがあります。</para>
     </sect2>
 
@@ -167,17 +157,17 @@
 
       <variablelist>
 	<varlistentry>
-	  <term>ビルド前</term>
+	  <term>1. ビルド前</term>
 
 	  <listitem>
-	    <para>スクリプトがpkgsrcを(anon)cvsで更新します。そして、壊れている
+	    <para>スクリプトがpkgsrcツリーを(anon)cvsで更新します。そして、壊れている
 	      distfileをすべて一掃し、インストールされているパッケージをすべて削
 	      除します。</para>
 	  </listitem>
 	</varlistentry>
 
 	<varlistentry>
-	  <term>バルクビルド</term>
+	  <term>2. バルクビルド</term>
 
 	  <listitem>
 	    <para>これは基本的に、
@@ -189,7 +179,7 @@
 	</varlistentry>
 
 	<varlistentry>
-	  <term>ビルド後</term>
+	  <term>3. ビルド後</term>
 
 	  <listitem>
 	    <para>報告を作成し、<filename>build.conf</filename>で指定されたディレクトリーに
@@ -214,32 +204,24 @@
       <title>必要なディスク容量</title>
 
       <para>現在、
-	&os; 1.5/i386 ではおおむね以下の容量が必要です:</para>
+	NetBSD 2.0/i386 ではおおむね以下の容量が必要です:</para>
 
       <itemizedlist>
 	<listitem>
-	  <para>1500MB - distfile (NFSでも可)</para>
-	</listitem>
-
-	<listitem>
-	  <para>1000MB - 全バイナリー一式 (NFSでも可)</para>
+	  <para>10 GB - distfile (NFSでも可)</para>
 	</listitem>
 
 	<listitem>
-	  <para>1500MB - コンパイル用の一時領域 (ローカルディスクを推奨)</para>
+	  <para>8 GB - 全バイナリー一式 (NFSでも可)</para>
 	</listitem>
-      </itemizedlist>
-
-      <para>&os; 1.5/alphaでは以下のとおりです:</para>
 
-      <itemizedlist>
 	<listitem>
-	  <para>1300MB - 全バイナリー一式 (NFSでも可)</para>
+	  <para>5 GB - コンパイル用の一時領域 (ローカルディスクを推奨)</para>
 	</listitem>
       </itemizedlist>
 
-      <para>各パッケージは、バイナリーパッケージ作成直後にアンインストールされた上、作
-	業用ソースも削除されます。このため、莫大なディスク容量は必要ありません。後
+      <para>各パッケージは、バイナリーパッケージ作成直後にアンインストールされた上、
+	ソースも削除されます。このため、莫大なディスク容量は必要ありません。後
 	になって、このパッケージがまた必要となった場合は、再度構築することなく
 	&man.pkg.add.1; でインストールされるので、
 	無駄な再コンパイルの繰り返しは発生しません。</para>
@@ -285,7 +267,7 @@
 	<step>
 	  <para><filename>/etc/localtime</filename> (<pkg>security/smtpd</pkg>用):</para>
 
-	  <screen>&rprompt; <userinput>ln -sf /usr/share/zoneinfo/GMT /usr/sandbox/etc/localtime</userinput></screen>
+	  <screen>&rprompt; <userinput>ln -sf /usr/share/zoneinfo/UTC /usr/sandbox/etc/localtime</userinput></screen>
 	</step>
 
 	<step>
@@ -293,8 +275,7 @@
 	    <pkg>net/ppp-mppe</pkg>用のシステムソース):</para>
 
 	  <screen>&rprompt; <userinput>ln -s ../disk1/cvs .</userinput>
-&rprompt; <userinput>ln -s cvs/src-1.6 src</userinput>
-&rprompt; <userinput>ln -s cvs/pkgsrc .</userinput></screen>
+&rprompt; <userinput>ln -s cvs/src-1.6 src</userinput></screen>
 	</step>
 
 	<step>
@@ -310,11 +291,23 @@
 	</step>
 
 	<step>
-	  <para><filename>/usr/sandbox/usr/pkgsrc</filename>
+	  <para>cvs を使って、<filename>/usr/sandbox/usr/pkgsrc</filename>
 	    内にpkgsrcをチェックアウトする:</para>
 
 	  <screen>&rprompt; <userinput>cd /usr/sandbox/usr</userinput>
 &rprompt; <userinput>cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -d -P pkgsrc</userinput></screen>
+
+          <para>この pkgsrc ツリーを、開発用の pkgsrc ツリーにマウントしたりリンクしたりしてはいけません。
+	    そういうことをすると問題を起こしがちだからです。
+	    </para> 
+	</step>
+
+	<step>
+	  <para>
+	    <filename>/usr/sandbox/usr/pkgsrc/packages</filename> と
+	    <filename>.../distfiles</filename> が、適切な場所を指すようにする。
+	    これらは NFS や nullfs でマウントしておくと便利かもしれません。
+	    </para>
 	</step>
 
 	<step>
@@ -324,24 +317,14 @@
 	<step>
 	  <para><filename>mk/bulk/build.conf</filename>を必要に合わせて調整する。</para>
 	</step>
-      </procedure>
 
-      <note>
-	<para>Xをインストールするのを忘れないでください。</para>
-      </note>
-
-      <para>あなたが開発者で、構築したバイナリーパッケージを<hostid>ftp.NetBSD.org</hostid>へアップロー
-	ドする場合は、当該アーキテクチャーおよびリリースでのデフォルトのXバージョン
-	(&os; 1.5.x では XFree86 3.3.6です。 &os; 1.6.1 では、 <ulink url="../../Ports/cats/">cats</ulink>,
-	<ulink url="../../Ports/i386/">i386</ulink>,
-	<ulink url="../../Ports/macppc/">macppc</ulink> は XFree86
-	4.2.1 、これ以外の各ポートは XFree86 3.3.6 です)を使うようにしてください。</para>
-
-      <para>次に必要なものは、(たとえばanoncvsで)<emphasis>チェックアウトした
-	  ままのpkgsrc</emphasis>です。開発用のpkgsrcツリーをここにマウントしたり、リンク
-	したりすると問題が起こりがちなので、そういうことはしてはいけません!
-	<filename>.../pkgsrc/packages</filename>および<filename>.../pkgsrc/distfiles</filename>のファイルを公開したい場合は、
-	これらのディレクトリーが砂場の外のどこかを指すように調節します。</para>
+	<step>
+	  <para><filename>build.conf</filename> で <varname>CVS_USER</varname>
+	    を設定した場合は、適切に <command>cvs ${CVS_FLAGS}
+	    update</command> をおこなえるようにするため、
+	    設定したアカウントが必ず存在するようにしてください。</para> 
+	</step>
+      </procedure>
 
       <para>chroot砂場の用意ができれば、
 	以下の手順で構築を開始できます:</para>
@@ -353,6 +336,36 @@
 	ると、構築の結果がメールで送信されます。できあがったバイナリーパッケージは、
 	<filename>/usr/sandbox/usr/pkgsrc/packages</filename> (の指す/マウントされた先/元)に置かれます。</para>
     </sect2>
+
+    <sect2>
+      <title>パッケージを部分的に構築する</title>
+
+      <para> <filename>pkgsrc/mk/bulk/build</filename> スクリプトは、
+        pkgsrc の全パッケージの一式の構築のほか、
+        pkgsrc に含まれるパッケージの部分集合の構築にも使うことができます。
+        <filename>/etc/mk.conf</filename> で <varname>SPECIFIC_PKGS</varname>
+        を定義すると、
+        </para>
+
+      <itemizedlist>
+	<listitem><para>SITE_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>HOST_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>GROUP_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>USER_SPECIFIC_PKGS</para></listitem>
+      </itemizedlist>
+
+      <para> の各変数で構築対象のパッケージを定義できるようになります。
+        構築対象として定義されたパッケージの依存関係によって必要となるパッケージも、
+        バルクビルドのコードが構築対象に追加します。
+	</para>
+
+      <para> この使い方のひとつに、
+        サイトで必要なバイナリーパッケージをすべて用意するために、
+        <varname>SPECIFIC_PKGS</varname> を使ったバルクビルドを
+        chroot 環境で定期的に実行するというものがあります。
+        こうすれば、不要なパッケージまで構築するような余計な負荷はかかりません。  </para>
+
+    </sect2>
   </sect1>
 
   <sect1>
@@ -367,7 +380,7 @@
     <sect2>
       <title>cdpackの使用例</title>
 
-      <para>cdpackの完全なドキュメンテーションはcdpack(1)にあります。
+      <para>cdpackの完全なドキュメンテーションはcdpack(1)マニュアルページにあります。
 	以下の短い例では、
 	バイナリーパッケージが<filename>/usr/pkgsrc/packages/All</filename>に置いてあり、ISO 9660イメー
 	ジ用の十分なディスク容量が<filename>/u2</filename>にあるものとします。</para>
Index: Documentation/pkgsrc/binary.xml
===================================================================
RCS file: /cvsroot/htdocs/Documentation/pkgsrc/Attic/binary.xml,v
retrieving revision 1.1
retrieving revision 1.3
diff -u -r1.1 -r1.3
--- Documentation/pkgsrc/binary.xml	6 Jun 2004 13:31:53 -0000	1.1
+++ Documentation/pkgsrc/binary.xml	29 Sep 2004 13:08:36 -0000	1.3
@@ -1,4 +1,4 @@
-<!-- $NetBSD: binary.xml,v 1.1 2004/06/06 13:31:53 grant Exp $ -->
+<!-- $NetBSD: binary.xml,v 1.3 2004/09/29 13:08:36 hubertf Exp $ -->
 
 <chapter id="binary">
   <title>Creating binary packages</title>
@@ -12,17 +12,18 @@
       a group of hosts and wasting CPU time. It also provides a simple means
       for others to install your package, should you distribute it.</para>
 
-    <para>Create a binary package:</para>
+    <para>To create a binary package, change into the appropriate
+      directory in pkgsrc, and run <command>make package</command>:</para>
 
-    <screen>&rprompt; <userinput>cd sysutils/top</userinput>
+    <screen>&rprompt; <userinput>cd misc/figlet</userinput>
 &rprompt; <userinput>make package</userinput></screen>
 
     <para>This will build and install your package (if not already done), and then
       build a binary package from what was installed. You can then use the
       <command>pkg_*</command> tools to manipulate it. Binary packages are
       created by default in <filename>/usr/pkgsrc/packages</filename>, in the
-      form of a gzip or bzip2 tar file. See <xref linkend="logs.package"/> for
-      a continuation of the above <pkg>sysutils/top</pkg> example.</para>
+      form of a gzipped tar file. See <xref linkend="logs.package"/> for
+      a continuation of the above <pkg>misc/figlet</pkg> example.</para>
 
     <para>See <xref linkend="submit"/> for information on how to submit such a
       binary package.</para>
@@ -34,7 +35,7 @@
     <para>See <xref linkend="build.helpful-targets"/>.</para>
   </sect1>
 
-  <sect1>
+  <sect1 id="bulkbuild">
     <title>Doing a bulk build of all packages</title>
 
     <para>If you want to get a full set of precompiled binary packages, this section
@@ -67,17 +68,6 @@
 FAILOVER_FETCH= yes               # insist on the correct checksum
 PKG_DEVELOPER?= yes
 _ACCEPTABLE=    yes</programlisting>
-
-	<para>If you wish to use <filename>xpkgwedge</filename>
-	  for the entire build, then add:</para>
-
-	<programlisting>BULK_PREREQ+= pkgtools/xpkgwedge</programlisting>
-
-	<para>Other packages which must be installed during the bulk build to modify the
-	  build behaviour may be added to the <varname>BULK_PREREQ</varname> variable.
-	  Note that currently the only package for which
-	  <varname>BULK_PREREQ</varname> makes sense is
-	  <filename>xpkgwedge</filename>.</para>
       </sect3>
 
       <sect3>
@@ -88,8 +78,8 @@
 	  <filename>build.conf</filename> and
 	  edit it, following the comments in that file. This is the config
 	  file that determines where log files are generated after the build,
-	  where to mail the build report, where your pkgsrc is located and
-	  which user to &man.su.8; to do a <command>cvs update</command>.</para>
+	  where to mail the build report to, where your pkgsrc tree is located and
+	  which user to &man.su.8; to to do a <command>cvs update</command>.</para>
       </sect3>
 
       <sect3>
@@ -107,7 +97,7 @@
     &gt; pkgsrc/games/crafty-book-enormous/$BROKENF</userinput></screen>
 
 	<para>to prevent the system from trying to build a particular package
-	  which requires nearly 3 Gb of disk space.</para>
+	  which requires nearly 3 GB of disk space.</para>
       </sect3>
     </sect2>
 
@@ -117,7 +107,7 @@
       <para>As <filename>/usr/pkg</filename> will be completely deleted at the
 	start of bulk builds, make sure your login shell is placed somewhere
 	else. Either drop it into <filename>/usr/local/bin</filename>
-	(and adjust your login shell in the password file), or (re-)install
+	(and adjust your login shell in the passwd file), or (re-)install
 	it via &man.pkg.add.1; from
 	<filename>/etc/rc.local</filename>, so you can login after a reboot
 	(remember that your current process won't die if the package is
@@ -158,7 +148,7 @@
 
       <screen>&rprompt; <userinput>sh mk/bulk/build restart</userinput></screen>
 
-      <para>At the end of the bulk run, you will get a summary via mail, and find
+      <para>At the end of the bulk build, you will get a summary via mail, and find
 	build logs in the directory specified by <varname>FTP</varname> in the
 	<filename>build.conf</filename> file.</para>
     </sect2>
@@ -170,28 +160,28 @@
 
       <variablelist>
 	<varlistentry>
-	  <term>pre-build</term>
+	  <term>1. pre-build</term>
 
 	  <listitem>
-	    <para>The script updates your pkgsrc via (anon)cvs, then cleans
+	    <para>The script updates your pkgsrc tree via (anon)cvs, then cleans
 	      out any broken distfiles, and removes all packages installed.</para>
 	  </listitem>
 	</varlistentry>
 
 	<varlistentry>
-	  <term>the bulk build</term>
+	  <term>2. the bulk build</term>
 
 	  <listitem>
 	    <para>This is basically
 	      <quote>make bulk-package</quote> with an optimised
 	      order in which packages will be built. Packages that don't require
-	      other packages will be built first, and packages with many depends
+	      other packages will be built first, and packages with many dependencies
 	      will be built later.</para>
 	  </listitem>
 	</varlistentry>
 
 	<varlistentry>
-	  <term>post-build</term>
+	  <term>3. post-build</term>
 
 	  <listitem>
 	    <para>Generates a report that's placed in the directory specified
@@ -216,32 +206,24 @@
       <title>Disk space requirements</title>
 
       <para>Currently, roughly the following requirements are valid for
-	&os; 1.5/i386:</para>
+	NetBSD 2.0/i386:</para>
 
       <itemizedlist>
 	<listitem>
-	  <para>1500MB - distfiles (NFS ok)</para>
-	</listitem>
-
-	<listitem>
-	  <para>1000MB - full set of all binaries (NFS ok)</para>
+	  <para>10 GB - distfiles (NFS ok)</para>
 	</listitem>
 
 	<listitem>
-	  <para>1500MB - temp space for compiling (local disk recommended)</para>
+	  <para>8 GB - full set of all binaries (NFS ok)</para>
 	</listitem>
-      </itemizedlist>
-
-      <para>For &os; 1.5/alpha:</para>
 
-      <itemizedlist>
 	<listitem>
-	  <para>1300MB - full set of all binaries (NFS ok)</para>
+	  <para>5 GB - temp space for compiling (local disk recommended)</para>
 	</listitem>
       </itemizedlist>
 
       <para>Note that all pkgs will be de-installed as soon as they are turned into a
-	binary package, and that work-sources are removed, so there is no huge
+	binary package, and that sources are removed, so there is no excessively huge
 	demand to disk space. Afterwards, if the package is needed again, it will
 	be installed via &man.pkg.add.1; instead of building again, so
 	there are no cycles wasted by recompiling.</para>
@@ -263,7 +245,7 @@
 
       <procedure>
 	<step>
-	  <para>kernel</para>
+	  <para>Kernel</para>
 
 	  <screen>&rprompt; <userinput>cp /netbsd /usr/sandbox</userinput></screen>
 	</step>
@@ -281,7 +263,7 @@
 	</step>
 
 	<step>
-	  <para>working(!) mail config (hostname, sendmail.cf):</para>
+	  <para>Working(!) mail config (hostname, sendmail.cf):</para>
 
 	  <screen>&rprompt; <userinput>cp /etc/mail/sendmail.cf /usr/sandbox/etc/mail</userinput></screen>
 	</step>
@@ -289,7 +271,7 @@
 	<step>
 	  <para><filename>/etc/localtime</filename> (for <pkg>security/smtpd</pkg>):</para>
 
-	  <screen>&rprompt; <userinput>ln -sf /usr/share/zoneinfo/GMT /usr/sandbox/etc/localtime</userinput></screen>
+	  <screen>&rprompt; <userinput>ln -sf /usr/share/zoneinfo/UTC /usr/sandbox/etc/localtime</userinput></screen>
 	</step>
 
 	<step>
@@ -297,58 +279,56 @@
 	    <pkg>net/ppp-mppe</pkg>):</para>
 
 	  <screen>&rprompt; <userinput>ln -s ../disk1/cvs .</userinput>
-&rprompt; <userinput>ln -s cvs/src-1.6 src</userinput>
-&rprompt; <userinput>ln -s cvs/pkgsrc .</userinput></screen>
+&rprompt; <userinput>ln -s cvs/src-1.6 src</userinput></screen>
 	</step>
 
 	<step>
-	  <para>create <filename>/var/db/pkg</filename> (not part of default install):</para>
+	  <para>Create <filename>/var/db/pkg</filename> (not part of default install):</para>
 
 	  <screen>&rprompt; <userinput>mkdir /usr/sandbox/var/db/pkg</userinput></screen>
 	</step>
 
 	<step>
-	  <para>create <filename>/usr/pkg</filename> (not part of default install):</para>
+	  <para>Create <filename>/usr/pkg</filename> (not part of default install):</para>
 
 	  <screen>&rprompt; <userinput>mkdir /usr/sandbox/usr/pkg</userinput></screen>
 	</step>
 
 	<step>
-	  <para>checkout pkgsrc into
+	  <para>Checkout pkgsrc via cvs into
 	    <filename>/usr/sandbox/usr/pkgsrc</filename>:</para>
 
 	  <screen>&rprompt; <userinput>cd /usr/sandbox/usr</userinput>
 &rprompt; <userinput>cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -d -P pkgsrc</userinput></screen>
+
+          <para>Do not mount/link this to the copy of your pkgsrc tree
+	    you do development in, as this will likely cause problems!
+	    </para> 
 	</step>
 
 	<step>
-	  <para>edit <filename>/etc/mk.conf</filename>, see <xref linkend="binary.mk.conf"/>.</para>
+	  <para>Make
+	    <filename>/usr/sandbox/usr/pkgsrc/packages</filename> and
+	    <filename>.../distfiles</filename> point somewhere
+	    appropriate. NFS- and/or nullfs-mounts may come in handy!
+	    </para>
 	</step>
 
 	<step>
-	  <para>adjust <filename>mk/bulk/build.conf</filename> to suit your needs.</para>
+	  <para>Edit <filename>/etc/mk.conf</filename>, see <xref linkend="binary.mk.conf"/>.</para>
 	</step>
-      </procedure>
 
-      <note>
-	<para>Don't forget to install X.</para>
-      </note>
-
-      <para>If you are a developer and want to upload the resulting binary packages
-	to <hostid>ftp.NetBSD.org</hostid>, be sure you are using the
-	default X version for your architecture and release
-	(that is XFree86 3.3.6 for 1.5.x, and XFree86
-	4.2.1 for &os; 1.6.1 on <ulink url="../../Ports/cats/">cats</ulink>,
-	<ulink url="../../Ports/i386/">i386</ulink>
-	and <ulink url="../../Ports/macppc/">macppc</ulink> ports,
-	3.3.6 on all other ports).</para>
-
-      <para>The next thing you need is a <emphasis>fresh checkout of pkgsrc</emphasis>
-	(e.g. from anoncvs). Do not mount/link this to the copy of your pkgsrc tree
-	you do development in, as this will likely cause problems! Adjust
-	<filename>.../pkgsrc/packages</filename> and
-	<filename>.../pkgsrc/distfiles</filename> to point to some places
-	outside the sandbox if you want to make the files public.</para>
+	<step>
+	  <para>Adjust <filename>mk/bulk/build.conf</filename> to suit your needs.</para>
+	</step>
+
+	<step>
+	  <para>If you have set <varname>CVS_USER</varname> in
+	    <filename>build.conf</filename>, make sure that 
+	    account exists and can do a <command>cvs ${CVS_FLAGS}
+	    update</command> properly!</para> 
+	</step>
+      </procedure>
 
       <para>When the chroot sandbox is setup, you can start
 	the build with the following steps:</para>
@@ -362,12 +342,41 @@
 	<filename>/usr/sandbox/usr/pkgsrc/packages</filename> (wherever
 	that points/mounts to/from).</para>
     </sect2>
+
+    <sect2>
+      <title>Building a partial set of packages</title>
+
+      <para> In addition to building a complete set of all packages in
+        pkgsrc, the <filename>pkgsrc/mk/bulk/build</filename> script
+        may be used to build a subset of the packages contained in
+        pkgsrc.  By setting defining <varname>SPECIFIC_PKGS</varname>
+        in <filename>/etc/mk.conf</filename>, the variables</para>
+
+      <itemizedlist>
+	<listitem><para>SITE_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>HOST_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>GROUP_SPECIFIC_PKGS</para></listitem>
+	<listitem><para>USER_SPECIFIC_PKGS</para></listitem>
+      </itemizedlist>
+
+      <para> will define the set of packages which should be built.
+        The bulk build code will also include any packages which are
+        needed as dependencies for the explicitly listed packages.
+	</para>
+
+      <para> One use of this is to do a bulk build with
+        <varname>SPECIFIC_PKGS</varname> in a chroot sandbox
+        periodically to have a complete set of the binary packages
+        needed for your site available without the overhead of
+        building extra packages that are not needed.  </para>
+
+    </sect2>
   </sect1>
 
   <sect1>
     <title>Creating a multiple CD-ROM packages collection</title>
 
-    <para>After your bulk pkgsrc build has completed, you may wish to create a CD-ROM
+    <para>After your pkgsrc bulk-build has completed, you may wish to create a CD-ROM
       set of the resulting binary packages to assist in installing packages on
       other machines.  The <pkg>pkgtools/cdpack</pkg> package provides a simple
       tool for creating the ISO 9660 images. <command>cdpack</command> arranges
@@ -377,8 +386,8 @@
     <sect2>
       <title>Example of cdpack</title>
 
-      <para>Complete documentation for cdpack is found in cdpack(1).
-	The following
+      <para>Complete documentation for cdpack is found in the
+	cdpack(1) manpage. The following
 	short example assumes that the binary packages are left in
 	<filename>/usr/pkgsrc/packages/All</filename> and that sufficient disk
 	space exists in <filename>/u2</filename> to hold the ISO 9660 images.</para>