From owner-man-jp-reviewer@jp.FreeBSD.org Fri Jan 30 00:37:31 2004
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id i0TFbVj95498;
	Fri, 30 Jan 2004 00:37:31 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mail503.nifty.com (mail503.nifty.com [202.248.37.211])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id i0TFbVC95471
	for <man-jp-reviewer@jp.FreeBSD.org>; Fri, 30 Jan 2004 00:37:31 +0900 (JST)
	(envelope-from CQG00620@nifty.ne.jp)
Received: from nifty.ne.jp (mcda013n047.ppp.infoweb.ne.jp [61.124.80.111])by mail503.nifty.com with ESMTP id i0TFbAqb017739
	for <man-jp-reviewer@jp.FreeBSD.org>; Fri, 30 Jan 2004 00:37:11 +0900
Message-Id: <200401291537.i0TFbAqb017739@mail503.nifty.com>
From: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
To: man-jp-reviewer@jp.FreeBSD.org
User-Agent: Wanderlust/2.10.0 (Venus) SEMI/1.14.4 (Hosorogi) FLIM/1.14.4
 (=?ISO-8859-4?Q?Kashiharajing=FE-mae?=) APEL/10.3 Emacs/21.2
 (i386--freebsd) MULE/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
Date: Fri, 30 Jan 2004 00:40:34 +0900
X-Sequence: man-jp-reviewer 4537
Subject: [man-jp-reviewer 4537] development.7
Sender: owner-man-jp-reviewer@jp.FreeBSD.org
X-Originator: CQG00620@nifty.ne.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+040115

$BEOJU0l42$G$9!#(B

development.7$B$NK]Lu$,=PMh$^$7$?!#%l%S%e!<$r$*4j$$$7$^$9!#(B

$B;W$C$?$3$H$r(B2$BE@$[$I!#(B

(1)$B0J2<$NJ8$N8@$o$s$H$7$F$$$k$3$H$,NI$/$o$+$j$^$;$s!#(B
>> -builds or development.  The last thing you want to do is to run an
>> -unstable environment on your master server which could lead to a situation
>> -where you lose the environment and/or cannot recover from a mistake.

$B!VIT0BDj$J(B(-CURRENT)$B4D6-$r2~NI$7$F%5!<%P$G$bF0$+$;$k$h$&$K$7$h$&!W$H$$(B
$B$&$3$H$G$7$g$&$+!#(B

(2)CVS$B$r$^$H$b$K07$C$?$3$H$,L5$$$N$G!"4X78$9$kItJ,$NLu$,4E$$$H;W$$$^$9(B
   ($B$9$$$^$;$s(B)$B!#(B

---cut here---
--- development.7.orig	Thu Jan 22 18:41:16 2004
+++ development.7	Thu Jan 29 21:59:45 2004
@@ -3,91 +3,88 @@
 .\" the FreeBSD source tree.
 .\"
 .\" $FreeBSD: src/share/man/man7/development.7,v 1.9 2003/08/25 19:08:37 njl Exp $
+.\" jpman %Id%
 .\"
 .Dd December 21, 2002
 .Dt DEVELOPMENT 7
 .Os
-.Sh NAME
+.Sh $BL>>N(B
 .Nm development
-.Nd introduction to development with the FreeBSD codebase
-.Sh DESCRIPTION
-This manual page describes how an ordinary sysop,
-.Ux admin, or developer
-can, without any special permission, obtain, maintain, and modify the
+.Nd FreeBSD $B%3!<%I%Y!<%9$G$N3+H/F~Lg(B
+.Sh $B2r@b(B
+$B$3$N%^%K%e%"%k%Z!<%8$G$O0lHL$N%7%9%F%`%*%Z%l!<%?!"(B
+.Ux $B4IM}<T!"$^$?$O3+H/<T$,FCJL$J5v2DL5$7$G(B
 .Fx
-codebase as well as how to maintaining a master build which can
-then be exported to other machines in your network.
-This manual page
-is targeted to system operators, programmers, and developers.
-.Pp
-Please note that what is being described here is based on a complete
-FreeBSD environment, not just the FreeBSD kernel.
-The methods described
-here are as applicable to production installations as it is to development
-environments.
-You need a good 12-17GB of disk space on one machine to make this work
-conveniently.
-.Sh SETTING UP THE ENVIRONMENT ON THE MASTER SERVER
-Your master server should always run a stable, production version of the
+$B%3!<%I%Y!<%9$rF~<j$7!"0];}$7!"=$@5$9$kJ}K!!"(B
+$B$^$?$"$J$?$N%M%C%H%o!<%/Fb$NB>$N%^%7%s$K%(%/%9%]!<%H$G$-$k%^%9%?!<%S%k%I$r(B
+$B0];}$9$kJ}K!$K$D$$$F=R$Y$^$9!#(B
+$B$3$N%^%K%e%"%k%Z!<%8$O!"%7%9%F%`%*%Z%l!<%?!"%W%m%0%i%^!"$*$h$S3+H/<T$r(B
+$BBP>]$K$7$F$$$^$9!#(B
+.Pp
+$B$3$3$G=R$Y$i$l$F$$$k$3$H$O!"(B FreeBSD $B%+!<%M%k$@$1$G$O$J$/$F!"(B
+$B40A4$J(B FreeBSD $B4D6-$r%Y!<%9$K$7$F$$$k$3$H$KCm0U$7$F$/$@$5$$!#(B
+$B$3$3$G=R$Y$i$l$F$$$k<jK!$O(B
+$B3+H/4D6-$@$1$G$J$/!":n@.$7$?$b$N$N%$%s%9%H!<%k$K$b1~MQ$G$-$^$9!#(B
+$B$3$N:n6H$r$&$^$/$d$k$K$O!"(B 1 $BBf$N%^%7%s$K(B 12-17GB $B$NE,Ev$J%G%#%9%/%9%Z!<%9$,(B
+$BI,MW$G$9!#(B
+.Sh $B%^%9%?!<%5!<%P$N4D6-$r9=C[$9$k(B
+$B%^%9%?!<%5!<%P$O0BDj$7$?!"%W%m%@%/%7%g%sHG$N(B
 .Fx
-operating system.   This does not prevent you from doing -CURRENT
-builds or development.  The last thing you want to do is to run an
-unstable environment on your master server which could lead to a situation
-where you lose the environment and/or cannot recover from a mistake.
-.Pp
-Create a huge partition called /FreeBSD.
-8-12GB is recommended.
-This partition will contain nearly all the development environment,
-including the CVS tree, broken-out source, and possibly even object files.
-You are going to export this partition to your other machines via a
-READ-ONLY NFS export so do not mix it with other more security-sensitive
-partitions.
-.Pp
-You have to make a choice in regards to
-.Pa /usr/obj .
-You can put
+$B%*%Z%l!<%F%#%s%0%7%9%F%`$G>o$KF0:n$7$F$$$kI,MW$,$"$j$^$9!#(B
+$B$3$l$,(B -CURRENT $B$N%S%k%I$^$?$O3+H/$rK8$2$k$3$H$O$"$j$^$;$s!#(B
+$B:G=*E*$K$"$J$?$,$d$j$?$$$3$H$O!"4V0c$$$+$iI|5l$G$-$J$+$C$?$j!"(B
+$B4D6-$r<:$C$F$7$^$&$h$&$J;vBV$rF3$$$F$7$^$&$h$&$JIT0BDj$J4D6-$r!"(B
+$B%^%9%?!<%5!<%P$GF0:n$5$;$k$3$H$G$9!#(B
+.Pp
+/FreeBSD $B$H$$$&L>A0$N5pBg$J%Q!<%F%#%7%g%s$r:n@.$7$^$9!#(B
+8-12GB $B$r?d>)$7$^$9!#(B
+$B$3$N%Q!<%F%#%7%g%s$K$O!"(B CVS $B%D%j!<!"<h$j=P$7$?%=!<%9!"$^$?$"$k$$$O(B
+$B%*%V%8%'%/%H%U%!%$%k$5$(4^$a$?!"$[$\40A4$J3+H/4D6-$,<}$^$j$^$9!#(B
+$B$3$N%Q!<%F%#%7%g%s$r!"B>$N$h$j%;%-%e%j%F%#$KIR46$J%Q!<%F%#%7%g%s$H$O(B
+$B0l=o$K$;$:$K!"FI$_<h$j@lMQ$N(B NFS $B%(%/%9%]!<%H$K$h$j!"B>$N%^%7%s$K(B
+$B%(%/%9%]!<%H$9$k$N$G$9!#(B
+.Pp
 .Pa /usr/obj
-in
+$B$K$D$$$F$OA*Br$9$kI,MW$,$"$j$^$9!#$D$^$j(B
 .Pa /FreeBSD
-or you can make
+$B$K(B
+.Pa /usr/obj
+$B$rF~$l$k$3$H$b=PMh$k$7!"(B
 .Pa /usr/obj
-its own partition.
-I recommend making it a separate partition for several reasons.  First,
-as a safety measure since this partition is written to a great deal.
-Second, because you typically do not have to back it up.
-Third, because it makes it far easier to mix and match the development
-environments which are described later in this document.
-I recommend a
+$B$rC1FH$N%Q!<%F%#%7%g%s$K$9$k$3$H$b=PMh$^$9!#(B
+$B;d$O$$$/$D$+$NM}M3$+$i!"JL$N%Q!<%F%#%7%g%s$K$9$k$3$H$r?d>)$7$^$9!#(B
+$BBh0l$O!"$3$N%Q!<%F%#%7%g%s$K$+$J$jBgNL$N=q$-9~$_$,$5$l$k$3$H$X$N(B
+$B0BA4=hCV$G$9!#BhFs$O!"$3$3$O0lHLE*$K%P%C%/%"%C%W$r$9$kI,MW$,$J$$$+$i$G$9!#(B
+$BBh;0$O!"$3$l$OAH$_9g$o$;$rHs>o$KMF0W$K$7!"$^$?$3$N%I%-%e%a%s%H$G8e$K(B
+$B=R$Y$k3+H/4D6-$K%^%C%A$9$k$+$i$G$9!#(B
 .Pa /usr/obj
-partition of at least 5GB.
+$B%Q!<%F%#%7%g%s$O>/$J$/$H$b(B 5GB $B$r?d>)$7$^$9!#(B
 .Pp
-On the master server, use cvsup to automatically pull down and maintain
-the
+$B%^%9%?!<%5!<%P$K$*$$$F!"(B 
 .Fx
-CVS archive once a day.  The first pull will take a long time,
-it is several gigabytes, but once you have it the daily syncs will be quite
-small.
+CVS $B%"!<%+%$%V$r<+F0E*$K<hF@$7$F4IM}$9$k0Y$K!"(B 1 $BF|(B $B$K(B 1 $B2s(B cvsup $B$r(B
+$B;HMQ$7$^$9!#:G=i$K<hF@$9$k$H$-$K$O!"?t%.%,%P%$%H$"$k$N$GD9$$;~4V$,(B
+$B$+$+$j$^$9!#$7$+$7(B 1 $B2s$3$l$r$9$l$P!"KhF|$NF14|$G$O$+$J$j>.NL$G$"$k(B
+$B$O$:$G$9!#(B
 .Bd -literal -offset 4n
 mkdir /FreeBSD/FreeBSD-CVS
 rm -rf /home/ncvs
 ln -s /FreeBSD/FreeBSD-CVS /home/ncvs
 .Ed
 .Pp
-The cron job should look something like this (please randomize the time of
-day!).
-Note that you can use the cvsup file example directly from
-/usr/share/examples without modification by supplying appropriate arguments
-to cvsup.
+cron $B%8%g%V$OBgDq<!$N$h$&$J$b$N$G$7$g$&(B ($B;~9o$O%i%s%@%`$K$7$F$/$@$5$$(B!) $B!#(B
+$B$J$*!"(B /usr/share/examples $B$K$"$k(B cvsup $B%U%!%$%k$N%5%s%W%k$r!"(B
+cvsup $B$KM?$($kE,@Z$J0z?t$H6&$K!"=$@5L5$7$GD>@\MxMQ$9$k$3$H$,=PMh$^$9!#(B
 .Bd -literal -offset 4n
 33 6 * * *      /usr/local/bin/cvsup -g -r 20 -L 2 -h cvsup.freebsd.org /usr/share/examples/cvsup/cvs-supfile
 .Ed
 .Pp
-Run the cvsup manually the first time to pull down the archive.  It could take
-all day depending on how fast your connection is!
-You will run all cvsup and cvs operations as root and you need to set
-up a ~/.cvsrc (/root/.cvsrc) file, as shown below, for proper cvs operation.
-Using ~/.cvsrc to specify cvs defaults is an excellent way
-to "file and forget", but you should never forget that you put them in there.
+$B%"!<%+%$%V$r:G=i$K<hF@$9$k;~$O!"(B cvsup $B$r<jF0$G<B9T$7$^$9!#(B
+$B$"$J$?$N@\B3B.EY$K$h$C$F$O!"4]0lF|$+$+$C$F$7$^$&$G$7$g$&(B!
+cvsup $B$H(B cvs $B$NA4$F$NA`:n$O(B root $B$G<B9T$7!"$^$?E,@Z$J(B cvs $B$NA`:n$N$?$a$K$O!"(B
+~/.cvsrc (/root/.cvsrc) $B$r<!$K<($9$h$&$K@_Dj$9$kI,MW$,$"$j$^$9!#(B
+~/.cvsrc $B$r;H$C$F(B cvs $B$N%G%U%)%k%H$r@_Dj$9$k$N$O!"(B "$B%U%!%$%k$7$FK:$l$k(B"
+$BM%$l$?J}K!$G$9$,!"$3$3$K@_Dj$7$?!"$H$$$&$3$H$OK:$l$J$$$G$/$@$5$$!#(B
 .Bd -literal -offset 4n
 # cvs -q
 diff -u
@@ -95,12 +92,14 @@
 checkout -P
 .Ed
 .Pp
-Now use cvs to checkout a -STABLE source tree and a -CURRENT source tree,
-as well as ports and docs, to create your initial source environment.
-Keeping the broken-out source and ports in /FreeBSD allows you to export
-it to other machines via read-only NFS.
-This also means you only need to edit/maintain files in one place and all
-your clients automatically pick up the changes.
+$B$G$O!":G=i$N%=!<%94D6-$r:n@.$9$k$N$K!"(B -STABLE $B%=!<%9%D%j!<$H(B -CURRENT
+$B%=!<%9%D%j!<!"$^$?F1$8$/(B ports $B$H(B docs $B$r!"(B cvs $B$r;H$C$F%A%'%C%/%"%&%H(B
+$B$7$^$7$g$&!#(B
+$B<h$j=P$7$?%=!<%9$d(B ports $B$r(B /FreeBSD $B$KCV$/$3$H$G!"FI$_<h$j@lMQ$N(B NFS $B$G(B
+$BB>$N%^%7%s$K%(%/%9%]!<%H$G$-$^$9!#(B
+$B$3$l$O$^$?!"0l2U=j$G%U%!%$%k$rJT=8!"0];}$7$F$$$l$PNI$$$H$$$&0UL#$G$9!#(B
+$B$=$7$FA4$F$N%/%i%$%"%s%H$,<+F0E*$K$=$NJQ99$r=&$$=P$9$3$H$,=PMh$k!"(B
+$B$H$$$&0UL#$G$b$"$j$^$9!#(B
 .Bd -literal -offset 4n
 mkdir /FreeBSD/FreeBSD-4.x
 mkdir /FreeBSD/FreeBSD-current
@@ -114,325 +113,326 @@
 cvs -d /home/ncvs checkout doc
 .Ed
 .Pp
-Now create a softlink for /usr/src and /usr/src2.
-On the main server I always point /usr/src at -STABLE and /usr/src2 at
--CURRENT.  On client machines I usually do not have a /usr/src2 and I make
-/usr/src point at whatever version of FreeBSD the client box is intended to
-run.
+$B$3$3$G!"(B /usr/src $B$H(B /usr/src2 $B$X%7%s%\%j%C%/%j%s%/$rD%$j$^$9!#(B
+$B%a%$%s%5!<%P$K$*$$$F$O!";d$O$$$D$b(B /usr/src $B$,(B -STABLE $B$r!"$^$?(B
+/usr/src2 $B$,(B -CURRENT $B$r;X$7$F$$$^$9!#(B
+$B%/%i%$%"%s%H%^%7%s$K$*$$$F$O!";d$OBgDq(B /usr/src2 $B$r;}$?$:$K!"(B
+$B%/%i%$%"%s%H%\%C%/%9$,F0$+$=$&$H$7$F$$$k(B FreeBSD $B%P!<%8%g%s$K(B
+/usr/src $B$,;X$7$F$$$k$h$&$K$7$F$$$^$9!#(B
 .Bd -literal -offset 4n
 cd /usr
 rm -rf src src2
-ln -s /FreeBSD/FreeBSD-4.x/src src	(could be -CURRENT on a client)
-ln -s /FreeBSD/FreeBSD-current/src src2	(MASTER SERVER ONLY)
+ln -s /FreeBSD/FreeBSD-4.x/src src	($B%/%i%$%"%s%HB&$r(B -CURRENT $B$K$9$k$N$b2D(B)
+ln -s /FreeBSD/FreeBSD-current/src src2	($B%^%9%?!<%5!<%P$N$_(B)
 .Ed
 .Pp
-Now you have to make a choice for /usr/obj.
-Well, hopefully you made it already and chose the partition method.  If you
-chose poorly you probably intend to put it in /FreeBSD and, if so, this is
-what you want to do:
+$B$H$3$m$G!"(B/usr/obj $B$KBP$7$FA*Br$9$kI,MW$,$"$j$^$9!#(B
+$B$^$!!"$?$V$s$"$J$?$O$3$l$r4{$K9T$$!"Aj1~$N%Q!<%F%#%7%g%s<jCJ$rA*$s$G$$$k(B
+$B$3$H$G$7$g$&!#(B
+$B$b$7K3$7$$A*Br$H$7$F(B /FreeBSD $B$KF~$l$k$H$$$&9M$($J$i$P!"$"$J$?$,$9$k$N$O(B
+$B<!$N$h$&$J$3$H$G$9!#(B
 .Bd -literal -offset 4n
-(ONLY IF YOU MADE A POOR CHOICE AND PUT /usr/obj in /FreeBSD!)
+($BK3$7$$A*Br$H$7$F(B /FreeBSD $B$K(B /usr/obj $B$rF~$l$k;~$@$1$G$9(B!)
 mkdir /FreeBSD/obj
 cd /usr
 rm -rf obj
 ln -s /FreeBSD/obj obj
 .Ed
 .Pp
-Alternatively you may chose simply to leave /usr/obj in /usr.  If your
-/usr is large enough this will work, but I do not recommend it for
-safety reasons (/usr/obj is constantly being modified, /usr is not).
-.Pp
-Note that exporting /usr/obj via read-only NFS to your other boxes will
-allow you to build on your main server and install from your other boxes.
-If you also want to do builds on some or all of the clients you can simply
-have /usr/obj be a local directory on those clients.
-You should never export /usr/obj read-write, it will lead to all sorts of
-problems and issues down the line and presents a security problem as well.
-It is far easier to do builds on the master server and then only do installs
-on the clients.
-.Pp
-I usually maintain my ports tree via CVS.
-It is sitting right there in the master CVS archive and I've even told you
-to check it out (see above).
-With some fancy softlinks you can make the ports tree available both on your
-master server and on all of your other machines.
-Note that the ports tree exists only on the HEAD cvs branch, so its always
--CURRENT even on a -STABLE box.  This is what you do:
+$BBe$o$j$K!"C1=c$K(B /usr/obj $B$r(B /usr $B$KCV$/$H$$$&A*Br$b=PMh$^$9!#(B
+$B$b$7(B /usr $B$,==J,$KBg$-$$>l9g$OF0:n$7$^$9$,!"0BA4>e$NM}M3$+$i(B
+$B$*4+$a$O=PMh$^$;$s(B (/usr/obj $B$O@d$($:2~JQ$5$l$^$9$,!"(B /usr $B$O(B
+$B$=$&$$$&$b$N$G$O$"$j$^$;$s(B)$B!#(B
+.Pp
+$B$J$*(B /usr/obj $B$rFI$_<h$j@lMQ$N(B NFS $B$GB>$N%\%C%/%9$K%(%/%9%]!<%H$9$k$3$H$G!"(B
+$B%S%k%I$r%a%$%s%5!<%P$G9T$$!"%$%s%9%H!<%k$rB>$N%\%C%/%9$+$i9T$&$3$H$,$G$-$^$9!#(B
+$B$$$/$D$+$N!"$"$k$$$OA4$F$N%/%i%$%"%s%H$G%S%k%I$r9T$$$?$$$J$i!"(B
+$BC1=c$K%/%i%$%"%s%HB&$G!"(B/usr/obj $B$r%m!<%+%k%G%#%l%/%H%j$H$7$F;}$F$PNI$$$G$9!#(B
+/usr/obj $B$rFI$_=q$-2D$G%(%/%9%]!<%H$9$k$Y$-$G$O$"$j$^$;$s!#(B
+$B$3$l$O$"$i$f$k<oN`$NLdBj$r$b$?$i$7$F!"$=$7$FA4LLE*$KJ.=P$7$F$7$^$$$^$9!#(B
+$B$^$?%;%-%e%j%F%#$NLdBj$b0z$-5/$3$7$^$9!#(B
+$B%^%9%?!<%5!<%P$G%S%k%I$r9T$$!"%/%i%$%"%s%H$G$O%$%s%9%H!<%k$@$1$r9T$&$[$&$,!"(B
+$B$:$C$HMF0W$G$9!#(B
+.Pp
+$B;d$OBgDq!"(B ports $B%D%j!<$r(B CVS $B$r2p$7$F0];}$7$F$$$^$9!#(B
+$B$3$l$O%^%9%?!<(B CVS $B%"!<%+%$%V$NE,@Z$J>l=j$K0LCV$7$F$*$j!"(B
+$B<B:]$"$J$?$K%A%'%C%/%"%&%H$9$k$h$&$K8@$$$^$7$?(B ($BA0=R$r;2>H(B)$B!#(B
+$B$$$/$D$+$N>eEy$J%7%s%\%j%C%/%j%s%/$K$h$j!"$"$J$?$N%^%9%?!<%5!<%P$H(B
+$B$=$N$[$+$N%^%7%s$K$*$$$F!"(B ports $B%D%j!<$rMxMQ$9$k$3$H$,=PMh$^$9!#(B
+$B$J$*(B ports $B%D%j!<$K$O(B cvs $B$N(B HEAD $B%V%i%s%A$7$+B8:_$7$J$$$N$G!"(B
+-STABLE $B%\%C%/%9$G$b(B -CURRENT $B$N$b$N$K$J$j$^$9!#(B
+$B$"$J$?$,9T$&$N$O<!$N$3$H$G$9!#(B
 .Bd -literal -offset 4n
-(THESE COMMANDS ON THE MASTER SERVER AND ON ALL CLIENTS)
+($B%^%9%?!<%5!<%P5Z$SA4$F$N%/%i%$%"%s%H$K$*$1$k%3%^%s%I(B)
 cd /usr
 rm -rf ports
 ln -s /FreeBSD/FreeBSD-current/ports ports
 
-cd /usr/ports   			(this pushes into the softlink)
-rm -rf distfiles			(ON MASTER SERVER ONLY)
-ln -s /usr/ports.distfiles distfiles	(ON MASTER SERVER ONLY)
+cd /usr/ports   			($B%7%s%\%j%C%/%j%s%/$N@h$KF~$j$^$9(B)
+rm -rf distfiles			($B%^%9%?!<%5!<%P$N$_(B)
+ln -s /usr/ports.distfiles distfiles	($B%^%9%?!<%5!<%P$N$_(B)
 
 mkdir /usr/ports.distfiles
 mkdir /usr/ports.workdir
 .Ed
 .Pp
-Since /usr/ports is softlinked into what will be read-only on all of your
-clients, you have to tell the ports system to use a different working
-directory to hold ports builds.
-You want to add a line to your /etc/make.conf file on the master server
-and on all your clients:
+$BA4$F$N%/%i%$%"%s%H$K$*$$$F(B /usr/ports $B$O%7%s%\%j%C%/%j%s%/$G!"$=$N@h$O(B
+$BFI$_<h$j@lMQ$J$N$G!"(B ports $B%7%9%F%`$K$O%S%k%I$N$?$a$KJL$N:n6H%G%#%l%/%H%j$r(B
+$B;X<($9$kI,MW$,$"$j$^$9!#(B
+$B%^%9%?!<%5!<%P$HA4$F$N%/%i%$%"%s%H$K$*$$$F!"(B /etc/make.conf $B$K<!$N9T$r(B
+$BDI2C$7$?$$$H$3$m$G$7$g$&!#(B
 .Bd -literal -offset 4n
 WRKDIRPREFIX=/usr/ports.workdir
 .Ed
 .Pp
-You should try to make the directory you use for the ports working directory
-as well as the directory used to hold distfiles consistent across all of your
-machines.
-If there isn't enough room in /usr/ports.distfiles and /usr/ports.workdir I
-usually make those softlinks (since this is on /usr these are per-machine) to
-where the distfiles and working space really are.
-.Sh EXPORTING VIA NFS FROM THE MASTER SERVER
-The master server needs to export /FreeBSD and /usr/obj via NFS so all the
-rest of your machines can get at them.
-I strongly recommend using a read-only export for both security and safety.
-The environment I am describing in this manual page is designed primarily
-around read-only NFS exports.
-Your exports file on the master server should contain the following lines:
+distfiles $B$,<}$^$k%G%#%l%/%H%j$O$b$A$m$s!"(B ports $B$N:n6H%G%#%l%/%H%j$b!"(B
+$BA4$F$N%^%7%s$G0l4S$9$k$h$&$K:n@.$9$k$Y$-$G$9!#(B
+$B$b$7(B /usr/ports.distfiles $B$H(B /usr/ports.workdir $B$K==J,$JMFNL$,L5$$>l9g!"(B
+$BBgDq;d$O(B distfiles $B$H:n6H%9%Z!<%9$K==J,$JMFNL$N$"$k>l=j$r;X$7$?(B
+$B%7%s%\%j%C%/%j%s%/(B (/usr $B$K$"$C$F$3$3$O%^%7%sKh$J$N$G(B) $B$K$7$^$9!#(B
+.Sh $B%^%9%?!<%5!<%P$+$i(B NFS $B$G%(%/%9%]!<%H$9$k(B 
+$B%^%9%?!<%5!<%P$O(B /FreeBSD $B$H(B /usr/obj $B$r!"$3$l$i$rF@$k$3$H$,=PMh$k(B
+$B;D$j$NA4$F$N%^%7%s$N$?$a$K!"(B NFS $B$G%(%/%9%]!<%H$9$kI,MW$,$"$j$^$9!#(B
+$B%;%-%e%j%F%#$H0BA4@-$NN>LL$+$i!"FI$_<h$j@lMQ$N%(%/%9%]!<%H$r;HMQ$9$k$3$H$r(B
+$B6/$/4+$a$^$9!#$3$N%^%K%e%"%k%Z!<%8$G=R$Y$F$$$k4D6-$O!"(B
+$BFI$_<h$j@lMQ$N(B NFS $B%(%/%9%]!<%H$rBh0l$H$7$F%G%6%$%s$5$l$F$$$^$9!#(B
+$B%^%9%?!<%5!<%P$N(B exports $B%U%!%$%k$O!"<!$N9T$r4^$s$G$$$kI,MW$,$"$j$^$9!#(B
 .Bd -literal -offset 4n
 /FreeBSD -ro -alldirs -maproot=root: -network YOURLAN -mask YOURLANMASK
 /usr/obj -ro -alldirs -maproot=root: -network YOURLAN -mask YOURLANMASK
 .Ed
 .Pp
-Of course, NFS server operations must also be configured on that machine.
-This is typically done via your /etc/rc.conf:
+$B$b$A$m$s!"(B $B$3$N%^%7%s$N(B NFS $B%5!<%P$NF0:n$b$^$?@_Dj$9$kI,MW$,$"$j$^$9!#(B
+$BE57?E*$K$O(B /etc/rc.conf $B$K$h$C$F9T$o$l$^$9!#(B
 .Bd -literal -offset 4n
 nfs_server_enable="YES"
 nfs_server_flags="-u -t -n 4"
 .Ed
-.Sh THE CLIENT ENVIRONMENT
-All of your client machines can import the development/build environment
-directory simply by NFS mounting /FreeBSD and /usr/obj from the master
-server.
-A typical /etc/fstab entry on your client machines will be something like this:
+.Sh $B%/%i%$%"%s%H$N4D6-(B
+$BA4$F$N%/%i%$%"%s%H%^%7%s$O!"%^%9%?!<%5!<%P$+$i(B /FreeBSD $B$H(B /usr/obj $B$r(B
+$BC1=c$K(B NFS $B%^%&%s%H$9$k$3$H$G!"3+H/(B/$B%S%k%I4D6-$rD>@\%$%s%]!<%H$G$-$^$9!#(B
+$B%/%i%$%"%s%H%^%7%sB&$N!"E57?E*$J(B /etc/fstab $B%(%s%H%j$O<!$N$h$&$J$b$N$G$7$g$&!#(B
 .Bd -literal -offset 4n
 masterserver:/FreeBSD     /FreeBSD        nfs     ro,bg    0       0
 masterserver:/usr/obj     /usr/obj        nfs     ro,bg    0       0
 .Ed
 .Pp
-And, of course, you should configure the client for NFS client operations
-via /etc/rc.conf.
-In particular, this will turn on nfsiod which will improve client-side NFS
-performance:
+$B$=$7$F$b$A$m$s!"%/%i%$%"%s%H$K$*$1$k(B NFS $B%/%i%$%"%s%H$NF0:n$r(B
+/etc/rc.conf $B$G@_Dj$9$kI,MW$,$"$j$^$9!#(B
+$BE57?E*$K$O!"%/%i%$%"%s%HB&$N(B NFS $B@-G=$r>e$2$k$?$a$K!"(B nfsiod $B$r5/F0$7$^$9!#(B
 .Bd -literal -offset 4n
 nfs_client_enable="YES"
 .Ed
 .Pp
-Each client should create softlinks for /usr/ports and /usr/src that point
-into the NFS-mounted environment.
-If a particular client is running -CURRENT, /usr/src
-should be a softlink to /FreeBSD/FreeBSD-current/src.
-If it is running -STABLE, /usr/src should be a softlink to
-/FreeBSD/FreeBSD-4.x/src.  I do not usually create a /usr/src2 softlink on
-clients, that is used as a convenient shortcut when working on the source
-code on the master server only and could create massive confusion (of the
-human variety) on a client.
+$B3F%/%i%$%"%s%H$O!"(B /usr/ports $B$H(B /usr/src $B$,(B NFS $B%^%&%s%H$7$?4D6-$r(B
+$B;X$9$h$&$K!"%7%s%\%j%C%/%j%s%/$r:n@.$9$kI,MW$,$"$j$^$9!#(B
+$B$"$k%/%i%$%"%s%H$G(B -CURRENT $B$rF0$+$7$F$$$k>l9g!"(B /usr/src $B$O(B
+/FreeBSD/FreeBSD-current/src $B$X$N%7%s%\%j%C%/%j%s%/$G$"$k$Y$-$G$9!#(B
+$B$b$7(B -STABLE $B$rF0$+$7$F$$$k>l9g!"(B /usr/src $B$O(B /FreeBSD/FreeBSD-4.x/src
+$B$X$N%7%s%\%j%C%/%j%s%/$G$"$k$Y$-$G$9!#(B
+$B;d$O%/%i%$%"%s%HB&$G!"(B /usr/src2 $B%7%s%\%j%C%/%j%s%/$r:n$k$3$H$O(B
+$BBgDq$"$j$^$;$s!#$3$l$O%^%9%?!<%5!<%P>e$N%=!<%9%3!<%I$K$*$$$F:n6H$r$9$k(B
+$B$H$-$N$_!"JXMx$J%7%g!<%H%+%C%H$H$7$F;H$&$b$N$G$9!#%/%i%$%"%s%HB&$G$O(B
+($B?M4V$NB?MM@-$+$i$/$k(B) $BB?Bg$J:.Mp$r>7$-$^$9!#(B
 .Bd -literal -offset 4n
-(ON EACH CLIENT)
+($B3F%/%i%$%"%s%H$K$*$$$F(B)
 cd /usr
 rm -rf ports src
 ln -s /FreeBSD/FreeBSD-current/ports ports
 ln -s /FreeBSD/FreeBSD-XXX/src src
 .Ed
 .Pp
-Don't forget to create the working directories so you can build ports, as
-previously described.
-If these are not good locations, make them softlinks to the correct location.
-Remember that /usr/ports/distfiles is exported by
-the master server and is therefore going to point to the same place
-(typically /usr/ports.distfiles) on every machine.
+$BA0$K$b=R$Y$^$7$?$,!"(B ports $B$r%S%k%I$G$-$k$h$&$K!":n6H%G%#%l%/%H%j$r(B
+$B:n@.$9$k$N$rK:$l$J$$$G$/$@$5$$!#(B
+$BE,Ev$J>l=j$,L5$$>l9g!"E,@Z$J>l=j$X$N%7%s%\%j%C%/%j%s%/$rD%$j$^$7$g$&!#(B
+$BK:$l$J$$$GM_$7$$$N$O!"(B /usr/ports/distfiles $B$O%^%9%?!<%5!<%P$+$i(B
+$B%(%/%9%]!<%H$5$l$F$$$k$N$G!"3F%^%7%s$OF1$8>l=j(B
+($BE57?E*$K$O(B /usr/ports.distfiles) $B$r;X$9$h$&$K$9$k$Y$-$G$9!#(B
 .Bd -literal -offset 4n
 mkdir /usr/ports.distfiles
 mkdir /usr/ports.workdir
 .Ed
-.Sh BUILDING KERNELS
-Here is how you build a -STABLE kernel (on your main development box).
-If you want to create a custom kernel, cp GENERIC to YOURKERNEL and then
-edit it before configuring and building.
-The kernel configuration file lives in /usr/src/sys/i386/conf/KERNELNAME.
+.Sh $B%+!<%M%k$r%S%k%I$9$k(B
+$B$G$O!"(B -STABLE $B%+!<%M%k$r(B ($B$"$J$?$N%a%$%s3+H/%\%C%/%9$G(B) $B%S%k%I$9$k(B
+$BJ}K!$G$9!#(B
+$B$b$7%+%9%?%`%+!<%M%k$r:n@.$7$?$$$N$J$i!"9=@.$H%S%k%I$NA0$K!"(B
+GENERIC $B$r(B YOURKERNEL $B$K%3%T!<$7$F$+$iJT=8$7$F$/$@$5$$!#(B
+$B%+!<%M%k@_Dj%U%!%$%k$O(B /usr/src/sys/i386/conf/KERNELNAME $B$KB8:_$7$^$9!#(B
 .Bd -literal -offset 4n
 cd /usr/src
 make buildkernel KERNCONF=KERNELNAME
 .Ed
 .Pp
-.Sy WARNING!
-If you are familiar with the old config/cd/make method of building
-a -STABLE kernel, note that the config method will put the build
-environment in /usr/src/sys/compile/KERNELNAME instead of in /usr/obj.
+.Sy $B7Y9p(B!
+$B$b$7$"$J$?$,!"5lMh$N(B config/cd/make $B<jK!$K$h$k(B -STABLE $B%+!<%M%k$N%S%k%I$K(B
+$BFk@w$s$G$$$k$N$J$i!"(B config $B<jK!$O%S%k%I4D6-$r(B /usr/obj $B$NBe$o$j$K!"(B
+/usr/src/sys/compile/KERNELNAME $B$KCV$-$^$9!#(B
 .Pp
-Building a -CURRENT kernel
+-CURRENT $B%+!<%M%k$r%S%k%I$7$^$9!#(B
 .Bd -literal -offset 4n
-cd /usr/src2		(on the master server)
+cd /usr/src2		($B%^%9%?!<%5!<%P$K$*$$$F(B)
 make buildkernel KERNCONF=KERNELNAME
 .Ed
-.Sh INSTALLING KERNELS
-Installing a -STABLE kernel (typically done on a client.
-Only do this on your main development server if you want to install a new
-kernel for your main development server):
+.Sh $B%+!<%M%k$r%$%s%9%H!<%k$9$k(B
+-STABLE $B%+!<%M%k$r%$%s%9%H!<%k$7$^$9(B ($BE57?E*$K$O%/%i%$%"%s%H$G9T$$$^$9!#(B
+$B%a%$%s3+H/%5!<%P$K?7$7$$%+!<%M%k$r%$%s%9%H!<%k$7$?$$>l9g$N$_!"(B
+$B%a%$%s3+H/%5!<%P$G$b9T$$$^$9(B)$B!#(B
 .Bd -literal -offset 4n
 cd /usr/src
 make installkernel KERNCONF=KERNELNAME
 .Ed
 .Pp
-If you are using the older config/cd/make build mechanism for stable, you
-would install using:
+$B$b$70BDj@-$N$?$a$K!"5lMh$N(B config/cd/make $B%S%k%I5!9=$rMQ$$$k>l9g!"(B
+$B0J2<$N$h$&$K%$%s%9%H!<%k$7$^$9!#(B
 .Bd -literal -offset 4n
 cd /usr/src/sys/compile/KERNELNAME
 make install
 .Ed
 .Pp
-Installing a -CURRENT kernel (typically done only on a client)
+-CURRENT $B%+!<%M%k$r%$%s%9%H!<%k$7$^$9(B ($BE57?E*$K$O%/%i%$%"%s%H$N$_$G9T$$$^$9(B)$B!#(B
 .Bd -literal -offset 4n
-(remember /usr/src is pointing to the client's specific environment)
+(/usr/src $B$N;X$9@h$O%/%i%$%"%s%H8GM-$N4D6-$G$"$k$3$H$rK:$l$:$K(B)
 cd /usr/src
 make installkernel KERNCONF=KERNELNAME
 .Ed
 .Pp
-.Sh BUILDING THE WORLD
-This environment is designed such that you do all builds on the master server,
-and then install from each client.
-You can do builds on a client only if /usr/obj is local to that client.
-Building the world is easy:
+.Sh $B@$3&$r%S%k%I$9$k(B
+$B$3$N4D6-$O!"A4$F$N%S%k%I$r%^%9%?!<%5!<%P$G9T$$!"%$%s%9%H!<%k$r3F%/%i%$%"%s%H$G(B
+$B9T$&$h$&$K%G%6%$%s$5$l$F$$$^$9!#(B
+$B%/%i%$%"%s%H$G(B /usr/obj $B$,%m!<%+%k$K$"$k>l9g$@$1!"%/%i%$%"%s%H$G%S%k%I$r(B
+$B9T$&$3$H$,=PMh$^$9!#(B
+$B@$3&$r%S%k%I$9$k$N$O4JC1$G$9!#(B
 .Bd -literal -offset 4n
 cd /usr/src
 make buildworld
 .Ed
 .Pp
-If you are on the master server you are running in a -STABLE environment, but
-that does not prevent you from building the -CURRENT world.
-Just cd into the appropriate source directory and you are set.  Do not
-accidentally install it on your master server though!
+$B$b$7$"$J$?$,%^%9%?!<%5!<%P$r(B -STABLE $B4D6-$GF0$+$7$F$$$?$H$7$F$b!"(B
+$B$=$l$,(B -CURRENT $B@$3&$r%S%k%I$9$k$N$rK8$2$k$o$1$G$O$"$j$^$;$s!#(B
+$BE,@Z$J%=!<%9%G%#%l%/%H%j$K(B cd $B$7$F$+$i$9$l$P$h$$$@$1$G$9!#(B
+$B$7$+$7%^%9%?!<%5!<%P$K$U$H$7$?$3$H$+$i%$%s%9%H!<%k$7$?$j$7$J$$$G$/$@$5$$(B!
 .Bd -literal -offset 4n
 cd /usr/src2
 make buildworld
 .Ed
-.Sh INSTALLING THE WORLD
-You can build on your main development server and install on clients.
-The main development server must export /FreeBSD and /usr/obj via
-read-only NFS to the clients.
-.Pp
-.Em NOTE!!!
-If /usr/obj is a softlink on the master server, it must also be the EXACT
-SAME softlink on each client.
-If /usr/obj is a directory in /usr or a mount point on the master server,
-then it must be (interchangeably) a directory in /usr or a mount point on
-each client.
-This is because the
-absolute paths are expected to be the same when building the world as when
-installing it, and you generally build it on your main development box
-and install it from a client.
-If you do not setup /usr/obj properly you will not be able to build on
-machine and install on another.
+.Sh $B@$3&$r%$%s%9%H!<%k$9$k(B
+$B%a%$%s3+H/%5!<%P$G%S%k%I$7$F%/%i%$%"%s%H$K%$%s%9%H!<%k$9$k$3$H$,=PMh$^$9!#(B
+$B%a%$%s3+H/%5!<%P$OFI$_<h$j@lMQ(B NFS $B$r2p$7$F!"(B /FreeBSD $B$H(B /usr/obj $B$r(B
+$B%/%i%$%"%s%H$K%(%/%9%]!<%H$9$kI,MW$,$"$j$^$9!#(B
+.Pp
+.Em $BCm0U(B!!!
+$B$b$7(B /usr/obj $B$,%^%9%?!<%5!<%P>e$G%7%s%\%j%C%/%j%s%/$G$"$k>l9g!"(B
+$B3F%/%i%$%"%s%H$G$b!"$d$O$j87L)$KF1$8$G$"$kI,MW$,$"$j$^$9!#(B
+$B%^%9%?!<%5!<%P$K$*$$$F(B /usr/obj $B$,(B /usr $B$K$"$k%G%#%l%/%H%j!"$b$7$/$O(B
+$B%^%&%s%H%]%$%s%H$G$"$k>l9g!"3F%/%i%$%"%s%H$G$b(B ($BF1$8$h$&$K(B) /usr $B$K$"$k(B
+$B%G%#%l%/%H%j!"$b$7$/$O%^%&%s%H%]%$%s%H$G$"$kI,MW$,$"$j$^$9!#(B
+$B$3$l$O%S%k%I$N;~$H%$%s%9%H!<%k$N;~$G!"@dBP%Q%9$,F1$8$G$"$k$H4|BT$7$F$$$k(B
+$B$+$i$G$9!#$=$7$FBgBN$K$*$$$F!"%a%$%s3+H/%\%C%/%9$G%S%k%I$7$F%/%i%$%"%s%H$G(B
+$B%$%s%9%H!<%k$9$k$b$N$G$9!#(B
+$B$b$7(B /usr/obj $B$r@5$7$/@_Dj$7$F$$$J$1$l$P!"%^%7%s>e$G%S%k%I$O=PMh$J$$$7!"(B
+$B%/%i%$%"%s%H$K%$%s%9%H!<%k$b=PMh$J$$$G$7$g$&!#(B
 .Bd -literal -offset 4n
-(ON THE CLIENT)
-(remember /usr/src is pointing to the client's specific environment)
+($B%/%i%$%"%s%H$K$*$$$F(B)
+(/usr/src $B$N;X$9@h$O%/%i%$%"%s%H8GM-$N4D6-$G$"$k$3$H$rK:$l$:$K(B)
 cd /usr/src
 make installworld
 .Ed
 .Pp
-.Sy WARNING!
-If builds work on the master server but installs do not work from the
-clients, for example you try to install and the client complains that
-the install tried to write into the read-only /usr/obj, then it is likely
-that the /etc/make.conf file on the client does not match the one on the
-master server closely enough and the install is trying to install something
-that was not built.
-.Sh DOING DEVELOPMENT ON A CLIENT (NOT JUST INSTALLING)
-Developers often want to run buildkernel's or buildworld's on client
-boxes simply to life-test the box.
-You do this in the same manner that you buildkernel and buildworld on your
-master server.
-All you have to do is make sure that /usr/obj is pointing to local storage.
-If you followed my advise and made /usr/obj its own partition on the master
-server,
-then it is typically going to be an NFS mount on the client.
-Simply unmounting /usr/obj will leave you with a /usr/obj that is a
-subdirectory in /usr which is typically local to the client.
-You can then do builds to your heart's content!
-.Sh MAINTAINING A LOCAL BRANCH
-I have described how to maintain two versions of the source tree, a stable
-version in /FreeBSD/FreeBSD-4.x and a current version
-in /FreeBSD/FreeBSD-current.
-There is absolutely nothing preventing you
-from breaking out other versions of the source tree
-into /FreeBSD/XXX.
-In fact, my /FreeBSD partition also contains
-.Ox ,
-.Nx ,
-and various flavors of Linux.
-You may not necessarily be able to build non-FreeBSD operating systems on
-your master server, but being able
-to collect and manage source distributions from a central server is a very
-useful thing to be able to do and you can certainly export to machines
-which can build those other operating systems.
+.Sy $B7Y9p(B!
+$B%^%9%?!<%5!<%P$G$N%S%k%I$O=PMh$k$,%/%i%$%"%s%H$K%$%s%9%H!<%k$G$-$J$$>l9g!"(B
+$BNc$($P%$%s%9%H!<%k$r$7$h$&$H$9$k$H!"%/%i%$%"%s%H$,FI$_<h$j@lMQ$N(B /usr/obj $B$K(B
+$B%$%s%9%H!<%k$G=q$-9~$b$&$H$7$FJ86g$r8@$C$F$$$k$h$&$J>l9g$G$O!"(B
+$B$=$l$O$*$=$i$/%/%i%$%"%s%H$N(B /etc/make.conf $B$,%^%9%?!<%5!<%P$N$=$l$H(B
+$B==J,87L)$K0lCW$7$F$*$i$:!"%$%s%9%H!<%k$K$*$$$F!"%S%k%I$5$l$F$$$J$$2?$+$r(B
+$B%$%s%9%H!<%k$7$h$&$H$7$F$$$k$N$G$7$g$&!#(B
+.Sh $B%/%i%$%"%s%H$G3+H/$r$9$k(B ($B%$%s%9%H!<%k$9$k$@$1$G$O$J$/(B)
+$B3+H/<T$O$7$P$7$P!"C1$K%\%C%/%9$N%i%$%U%F%9%H$N$?$a$K!"%/%i%$%"%s%H%\%C%/%9$G(B
+buildkernel $B$"$k$$$O(B buildworld $B$r<B9T$7$?$$;~$,$"$j$^$9!#(B
+$B$3$l$O!"%^%9%?!<%5!<%P$G$N(B buildkernel $B$d(B buildworld $B$HF1$8J}K!$G9T$$$^$9!#(B
+$B$"$J$?$,$9$k$Y$-$3$H$NA4$F$O!"(B /usr/obj $B$,%m!<%+%k%9%H%l!<%8$r;X$9$h$&$K(B
+$B$9$k$3$H$G$9!#(B
+$B$"$J$?$,;d$N%"%I%P%$%9$K=>$C$F!"%^%9%?!<%5!<%P$K$*$$$F(B /usr/obj $B$r(B
+$BFH<+$N%Q!<%F%#%7%g%s$K$7$F$$$l$P!"%/%i%$%"%s%HB&$G$O0lHLE*$K(B
+$B$3$l$r(B NFS $B%^%&%s%H$7$F$$$k$O$:$G$9!#(B
+$BC1=c$K(B /usr/obj $B$r%"%s%^%&%s%H$9$l$P!"(B/usr/obj $B$O!"%/%i%$%"%s%H$G$O0lHL$K(B
+$B%m!<%+%k$J!"(B /usr $B$K$"$k%5%V%G%#%l%/%H%j$H$J$j$^$9!#(B
+$BB8J,$K%S%k%I$7$F$/$@$5$$(B!
+.Sh $B%m!<%+%k%V%i%s%A$r4IM}$9$k(B
+$B;d$O(B 2 $B$D$N%P!<%8%g%s$N%=!<%9%D%j!<!"(B /FreeBSD/FreeBSD-4.x $B$K$"$k(B
+stable $BHG!"5Z$S(B /FreeBSD/FreeBSD-current $B$K$"$k(B current $BHG$r4IM}$9$k(B
+$BJ}K!$r=R$Y$F$-$^$7$?!#(B
+$BB>$N%P!<%8%g%s$N%=!<%9%D%j!<$r!"(B /FreeBSD/XXX $B$K<h$j=P$9$3$H$rK8$2$k$b$N$O(B
+$B2?$b$"$j$^$;$s!#(B
+$B<B:]!";d$N(B /FreeBSD $B%Q!<%F%#%7%g%s$K$O!"(B
+.Ox $B!"(B
+.Nx $B!"(B
+$B5Z$S$$$m$$$m$J%U%l!<%P!<$N(B Linux $B$,4^$^$l$F$$$^$9!#(B
+$B$"$J$?$N%^%9%?!<%5!<%P>e$G(B FreeBSD $B0J30$N%*%Z%l!<%F%#%s%0%7%9%F%`$r(B
+$B%S%k%I$G$-$k$H$O8B$i$J$$$G$7$g$&$,!"Cf1{%5!<%P$G%=!<%9G[I[J*$N(B
+$B=$@5$H4IM}$,$G$-$k$N$O$H$F$bM-MQ$G$"$j!"$^$?$3$l$iB>$N(B
+$B%*%Z%l!<%F%#%s%0%7%9%F%`$r%S%k%I$G$-$k%^%7%s$K%(%/%9%]!<%H$9$k$3$H$b(B
+$B$G$-$^$9!#(B
 .Pp
-Many developers choose to maintain a local branch of
+$BB??t$N3+H/<T$,!"%+%9%?%`G[I[J*$N%S%k%I$d%Q%C%A$N%F%9%H$N$?$a$K!"(B
 .Fx
-to test patches or build a custom distribution.
-This can be done with CVS or another source code management system
-(SubVersion, Perforce, BitKeeper) with its own repository.
-Since the main 
+$B$N%m!<%+%k%V%i%s%A$r4IM}$7$F$$$^$9!#(B
+$B$3$l$O(B CVS $B$dB>$N%=!<%9%3!<%I4IM}%7%9%F%`(B
+(SubVersion, Perforce, BitKeeper) $B$N%j%]%8%H%j$K$h$C$F$J$5$l$^$9!#(B
 .Fx
-tree is based on CVS, the former is convenient.
+$B$N%a%$%s%D%j!<$O(B CVS $B$r%Y!<%9$K$7$F$*$j!"$3$l$O;H$$$d$9$$$G$9!#(B
 .Pp
-First, you need to modify your cvsup environment to avoid it modifying
-the local changes you have committed to the repository.
-It is important to remove the "delete" keyword from your supfile and to
-add the CVSROOT subdirectory to your refuse file.
-For more information, see
-.Xr cvsup 1 .
+$B$^$:!"$"$J$?$,%j%]%8%H%j$K%3%_%C%H$7$?8e$N!"%m!<%+%k$JJQ99$,(B
+$B=$@5$5$l$k$N$rHr$1$k$?$a$K!"(B cvsup $B4D6-$r=$@5$9$kI,MW$,$"$j$^$9!#(B
+$B$"$J$?$N(B supfile $B$+$i(B "delete" $B%-!<%o!<%I$r:o=|$7!"$^$?(B refuse $B%U%!%$%k$K(B
+CVSROOT $B%G%#%l%/%H%j$rDI2C$9$k$3$H$,=EMW$G$9!#(B
+$B>\:Y$J>pJs$O!"(B
+.Xr cvsup 1
+$B$r;2>H$7$F$/$@$5$$!#(B
 .Pp
-The
 .Fx
-version of CVS examines a custom environmental variable,
-CVS_LOCAL_BRANCH_NUM, which specifies an integer to use when doing a cvs
-tag/rtag.
-Set this number to something high (say 1000) to avoid colliding
-with potential future branches of the main repository.  For example,
-branching a file with version 1.4 produces 1.4.1000.
-Future commits to this branch will produce revisions 1.4.1000.1,
-1.4.1000.2, etc.
+$BHG$N(B CVS $B$O!"FH<+$N4D6-JQ?t$rD4$Y$^$9!#(B CVS_LOCAL_BRANCH_NUM $B$K$O(B
+cvs tag/rtag $B$r<B9T$9$k:]$N@0?tCM$r;XDj$7$^$9!#(B
+$B$3$N?tCM$rE,Ev$KBg$-$J$b$N(B ($BNc$($P(B 1000) $B$K$9$k$3$H$G!"(B
+$B%a%$%s%j%]%8%H%j$G@x:_$9$k>-Mh$N%V%i%s%A$H>WFM$9$k$N$rHr$1$i$l$^$9!#(B
+$BNc$($P!"%P!<%8%g%s(B 1.4 $B$N%U%!%$%k$+$i$N%V%i%s%A$O(B 1.4.1000 $B$H$J$j$^$9!#(B
+$B$3$N%V%i%s%A$K$*$1$k>-Mh$N%3%_%C%H$O!"%j%S%8%g%s(B 1.4.1000.1 $B!"(B
+1.4.1000.2 $B!"$J$I$H$J$j$^$9!#(B
 .Pp
-To fork your local branch, do:
+$B%m!<%+%k%V%i%s%A$rJ,4t$9$k$K$O!"$3$&$7$^$9!#(B
 .Bd -literal -offset 4n
 cvs rtag -r RELENG_4 -b LOCAL_RELENG_4 src
 .Ed
 .Pp
-After this, you can check out a copy from your local repository using the
-new tag and begin making changes and committing them.
-For more information on using cvs, see
-.Xr cvs 1 .
-.Pp
-.Sy WARNING!
-The cvsup utility may blow away changes made on a local branch in
-some situations.
-This has been reported to occur when the master CVS repository is
-directly manipulated or an RCS file is changed.
-At this point, cvsup notices that the client and server have entirely
-different RCS files, so it does a full replace instead of trying to
-send just deltas.
-Ideally this situation should never arise, but in the real world it
-happens all the time.
-.Pp
-While this is the only scenario where the problem should crop up,
-there have been some suspicious-sounding reports of
-CVS_LOCAL_BRANCH_NUM lossage that can't be explained by this alone.
-Bottom line is, if you value your local branch then you
-should back it up before every update.
-.Sh UPDATING VIA CVS
-The advantage of using cvsup to maintain an updated copy of the CVS
-repository instead of using it to maintain source trees directly is that you
-can then pick and choose when you bring your source tree (or pieces of your
-source tree) up to date.
-By using a cron job to maintain an updated CVS repository, you can update
-your source tree at any time without any network cost as follows:
+$B$3$N$h$&$K$7$?8e!"?7$7$$%?%0$r;H$C$F%m!<%+%k%j%]%8%H%j$+$i%A%'%C%/%"%&%H$7!"(B
+$B$=$N%3%T!<$KBP$7$FJQ99$rF~$l$F%3%_%C%H$9$k$3$H$r;O$a$k$3$H$,=PMh$^$9!#(B
+cvs $B$r;H$&:]$N$h$j>\$7$$>pJs$O!"(B
+.Xr cvs 1
+$B$r;2>H$7$F$/$@$5$$!#(B
+.Pp
+.Sy $B7Y9p(B!
+cvsup $B%f!<%F%#%j%F%#$O$$$/$D$+$N>u672<$K$*$$$F!"%m!<%+%k%V%i%s%A$X$N(B
+$BJQ99$rD">C$7$K$7$F$7$^$&$3$H$,$"$j$^$9!#(B
+$B$3$l$O%^%9%?!<(B CVS $B%j%]%8%H%j$,D>@\A`:n$5$l$?$j!"$^$?$O(B RCS $B%U%!%$%k$,(B
+$BJQ99$5$l$?;~$K5/$3$k$HJs9p$5$l$F$$$^$9!#(B
+$B$3$NE@$K$*$$$F!"(B $B%/%i%$%"%s%H$H%5!<%P$GA4$/0[$J$k(B RCS $B%U%!%$%k$r(B
+$B;}$C$F$$$k>l9g$K!"(B cvsup $B$OJs9p$r$7!":9J,$rAw$m$&$H$9$k$+$o$j$K!"(B
+$BA4BN$rCV$-49$($^$9!#(B
+$BM}A[$r8@$($P$3$N$h$&$J>u67$O5/$3$k$Y$-$G$J$$$N$G$9$,!"8=<B@$3&$G$O(B
+$B>o$K5/$3$k$b$N$G$9!#(B
+.Pp
+$B$3$l$,!"$3$NLdBj$,FMA35/$3$jF@$kM#0l$N%7%J%j%*$G$9$,!"$3$l$@$1$G$O(B
+$B@bL@$G$-$J$$!"(B CVS_LOCAL_BRANCH_NUM $B$,0z$-5/$3$9?.$8$,$?$$Js9p$b(B
+$B$$$/$D$+$5$l$F$$$^$9!#(B
+$B7kO@$H$7$F$O!"%m!<%+%k%V%i%s%A$rI>2A$7$?$i!"(B update $B$NA0$KKh2s%P%C%/%"%C%W$r(B
+$B<h$k$Y$-$@$H$$$&$3$H$G$9!#(B
+.Sh CVS $B$r2p$7$F99?7$9$k(B
+cvsup $B$r;H$C$F%=!<%9%D%j!<$rD>@\4IM}$9$k$+$o$j$K!"(B CVS $B%j%]%8%H%j$N(B
+$B99?7$5$l$?%3%T!<$r4IM}$9$kMxE@$O!"$"$J$?$N%=!<%9%D%j!<(B ($B$^$?$O%=!<%9%D%j!<$N(B
+$B0lIt(B) $B$r!"9%$-$J;~$K:G?7HG$K$G$-$k$3$H$G$9!#(B
+cron $B%8%g%V$r;H$C$F(B CVS $B%j%]%8%H%j$N99?7$r4IM}$9$k;~!"%=!<%9%D%j!<$N99?7$O!"(B
+$B%M%C%H%o!<%/$rMW$9$k$3$HL5$7$K!"<!$N$h$&$K$7$F99?7$9$k$3$H$,=PMh$^$9!#(B
 .Bd -literal -offset 4n
-(on the main development server)
+($B%a%$%s3+H/%5!<%P$K$*$$$F(B)
 cd /usr/src
 cvs -d /home/ncvs update
 cd /usr/src2
@@ -441,31 +441,29 @@
 cvs -d /home/ncvs update
 .Ed
 .Pp
-It is that simple, and since you are exporting the whole lot to your
-clients, your clients have immediately visibility into the updated
-source.
-This is a good time to also remind you that most of the cvs operations
-you do will be done as root, and that certain options are
-required for CVS to operate properly on the
+$B$3$l$O4JC1$G$"$j!"A4BN$r%/%i%$%"%s%H$KBP$7$F%(%/%9%]!<%H$7$F$$$k$N$G!"(B
+$B%/%i%$%"%s%H$O99?7$5$l$?%=!<%9$K$9$0$KCmL\$,=PMh$^$9!#(B
+cvs $BA`:n$NBgH>$O(B root $B$G<B9T$9$k$3$H!"$^$?(B
 .Fx
-repository.  For example,
+$B%j%]%8%H%j$r@5$7$/A`:n$9$k$K$O!"(B CVS $B$KBP$9$kE,@Z$J%*%W%7%g%s$,I,MW$J$3$H$r!"(B
+$B$=$m$=$m;W$$=P$7$F$bNI$$:"$G$7$g$&!#Nc$($P(B
 .Fl Pd
-is necessary when running "cvs update".
-These options are typically placed in your ~/.cvsrc (as already described)
-so you do not have to respecify them every time you run a CVS command.
-Maintaining the CVS repository also gives you far more flexibility
-in regards to breaking out multiple versions of the source tree.
-It is a good idea to give your /FreeBSD partition a lot of space (I recommend
-8-12GB) precisely for that reason.
-If you can make it 15GB I would do it.
-.Pp
-I generally do not cvs update via a cron job.
-This is because I generally want the source to not change out from under me
-when I am developing code.
-Instead I manually update the source every so often... when I feel it is
-a good time.
-My recommendation is to only keep the cvs repository synchronized via cron.
-.Sh SEE ALSO
+$B$,!"(B "cvs update" $B$r<B9T$9$k:]$K$OI,MW$G$9!#(B
+CVS $B%3%^%s%I$r<B9T$9$k$?$S$K:FL@<($9$kI,MW$rL5$/$9$?$a$K!"$3$l$i$N(B
+$B%*%W%7%g%s$O0lHLE*$K(B ~/.cvsrc $B$KCV$+$l$^$9(B ($B4{$K=R$Y$^$7$?$,(B)$B!#(B
+CVS $B%j%]%8%H%j$N4IM}$O$^$?!"J#?t$N%P!<%8%g%s$N%=!<%9%D%j!<$r<h$j=P$9$H$$$&(B
+$B$3$H$K4X$7$F!"$h$jBg$-$J=@Fp@-$rM?$($^$9!#(B
+$B$^$5$K$3$N$h$&$JM}M3$+$i!"(B /FreeBSD $B%Q!<%F%#%7%g%s$KBg$-$JNN0h(B
+(8-12GB $B$r?d>)$7$^$9(B) $B$r3d$jEv$F$k$N$ONI$$9M$($J$N$G$9!#(B
+$B2DG=$J$i$P!"(B 15GB $B$r;d$J$i3d$jEv$F$^$9!#(B
+.Pp
+$B;d$ODL>o!"(B cvs update $B$r(B cron $B%8%g%V$G$O<B9T$7$^$;$s!#(B
+$B;d$,%3!<%I$r3+H/$7$F$$$k$h$&$J;~$K$ODL>o!"%=!<%9$rJQ99$7$FM_$7$/$J$$(B
+$B$H$$$&$N$,M}M3$G$9!#(B
+$B$=$N$+$o$j!";d$O;~!9(B... $B$=$l$,NI$$;~$@$H;W$C$?$H$-$K!"<jF0$G;~!9%=!<%9$r(B
+$B99?7$7$^$9!#(B
+$B;d$,?dA&$9$k$N$O!"(B cron $B$G(B cvs $B%j%]%8%H%j$@$1$rF14|$9$k$3$H$G$9!#(B
+.Sh $B4XO"9`L\(B
 .Xr crontab 1 ,
 .Xr crontab 5 ,
 .Xr build 7 ,
@@ -473,12 +471,11 @@
 .Xr release 7 ,
 .Xr tuning 7 ,
 .Xr diskless 8
-.Sh HISTORY
-The
+.Sh $BNr;K(B
 .Nm
-manual page was originally written by
+$B%^%K%e%"%k%Z!<%8$O:G=i!"(B
 .An Matthew Dillon Aq dillon@FreeBSD.org
-and first appeared
-in
-.Fx 5.0 ,
-December 2002.
+$B$K$h$C$F=q$+$l!"(B
+2002 $BG/(B 12 $B7n$K(B
+.Fx 5.0
+$B$G$O$8$a$FEP>l$7$^$7$?!#(B
---cut here---

---
Watanabe Kazuhiro (CQG00620@nifty.ne.jp)
