diff --git a/ja_JP.eucJP/man/man7/Makefile b/ja_JP.eucJP/man/man7/Makefile index dd0fa9ef9c..9dda226ec7 100644 --- a/ja_JP.eucJP/man/man7/Makefile +++ b/ja_JP.eucJP/man/man7/Makefile @@ -1,40 +1,41 @@ -# $FreeBSD: doc/ja_JP.eucJP/man/man7/Makefile,v 1.11 2001/09/23 03:41:53 horikawa Exp $ +# $FreeBSD$ MAN7 = ascii.7\ clocks.7\ environ.7\ firewall.7\ groff.7\ groff_char.7\ groff_man.7\ groff_mdoc.7\ groff_me.7\ groff_mm.7\ groff_mmse.7\ groff_ms.7\ groff_mwww.7\ hier.7\ hostname.7\ intro.7\ mailaddr.7\ mmroff.7\ operator.7\ ports.7\ re_format.7\ + release.7\ roff.7\ security.7\ style.perl.7\ symlink.7\ term.7\ tuning.7 MLINKS=groff_man.7 man.7 MLINKS+=groff_mdoc.7 mdoc.7 MLINKS+=groff_mdoc.7 mdoc.samples.7 MLINKS+=groff_me.7 me.7 MLINKS+=groff_mm.7 mm.7 MLINKS+=groff_mmse.7 mmse.7 MLINKS+=groff_ms.7 ms.7 MLINKS+=groff_mwww.7 mwww.7 MLINKS+=intro.7 miscellaneous.7 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man7/release.7 b/ja_JP.eucJP/man/man7/release.7 new file mode 100644 index 0000000000..409b90d6dc --- /dev/null +++ b/ja_JP.eucJP/man/man7/release.7 @@ -0,0 +1,371 @@ +.\" Copyright (c) 2002 Murray Stokely +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" %FreeBSD: src/share/man/man7/release.7,v 1.3.2.3 2002/04/02 09:22:27 murray Exp % +.\" $FreeBSD$ +.\" +.\" WORD: clean system まっさらのシステム[release.7] +.\" +.Dd March 12, 2002 +.Dt RELEASE 7 +.Os +.Sh 名称 +.Nm release +.Nd "リリース構築基盤" +.Sh 解説 +.Fx +は、ユーザが +.Fx +オペレーティングシステムのリリース全てを作成できるような完全な構築環境を +提供しています。 +リリースを構築するために必要なツールの全ては、 CVS リポジトリ中の +.Pa src/release +に揃っています。 +実のところ、 +CD-ROM を焼く際に使える ISO イメージ、インストール用フロッピ、 +FTP インストール用ディレクトリの生成をはじめとして、完全なリリースを +コマンド一発で構築できます。 +このコマンドは、 +.Dq Li "make release" +と、うまい名前が付けられています。 +.Pp +リリースを構築する前に、 +.Xr build 7 +の内容によく馴染んでおいてください。 +また、 +.Dq Li "make world" +によるソースからのシステムアップグレードの経験も必須です。 +リリース構築プロセスは、 +.Dq Li "make buildworld" +の結果を +.Pa /usr/obj +に置いておくことを要求します。 +完全なシステムのためのオブジェクトファイルを、まっさらの +.Xr chroot 8 +環境にインストールできるようにするために、これが必要となります。 +リリースを進めるには、 +.Xr vn 4 +(vnode ディスク) デバイスドライバがカーネルに存在する +(コンパイル済み、またはモジュールとしてロードのいずれも可) +ことも必要です。 +.Pp +この文書は、ソースコード管理、品質管理など、 +リリースエンジニアリングプロセスに関するその他の側面は扱いません。 +.Sh ターゲット +リリース用 makefile +.Pq Pa src/release/Makefile +は、かなり難解です。 +ほとんどの場合、 +.Cm release +ターゲットのことを考えるだけで済むと思います。 +.\" XXX: Some sort of introduction to this list? All the others have one. +.Bl -tag -width ".Cm rerelease" +.It Cm release +.Dq Li "make installworld" +を用いて、ファイルシステムの +.Xr chroot 8 +環境にまっさらのシステムをインストールします。 +指定したバージョンのソースコードをチェックアウトし、 +.Dq Li "make world" +を用いて、まっさらの環境に完全なシステムを再構築します。 +そのあとに、ディストリビューション別のパッケージング(まとめ上げ)、 +インストール用フロッピディスクの構築、リリース文書の構築などの +細かいステップが続きます。 +.It Cm rerelease +このターゲットは、リリース構築作業の結果を手で修正し、前の +.Dq Li "make release" +の中間結果を使い、最小のステップ数でリリースを再構築することを +想定したものです。 +.It Cm floppies +新規のブートフロッピの組を作成します。 +.Cm release.4 , +.Cm release.8 , +.Cm release.9 +ターゲットを呼び、直前の +.Dq Li "make release" +のフロッピイメージを再作成します。 +このターゲットは、カスタムブートフロッピの作成にもっとも良く使用されます。 +.El +.Pp +.Dq Li "make release" +により呼び出されるターゲットは次のとおりです。 +.Bl -tag -width ".Cm release.9" +.It Cm release.1 +ディレクトリ +.Pa ${CHROOTDIR}/R +をまっさらにし、 +.Xr mtree 8 +を用いてシステム用のディレクトリ階層を構築します。 +.It Cm release.2 +システムをディストリビューション用ディレクトリにインストールします。 +.It Cm release.3 +.\" XXX: We build more than one kernel. We build a stripped down +.\" kernel for the boot media in addition to a full GENERIC kernel. +.Pa GENERIC +カーネルを作り、インストールします。 +.It Cm release.4 +.Xr crunchgen 1 +を用いて、インストール用フロッピに収容する +.Dq crunched +バイナリを構築します。 +.It Cm release.5 +合成ディストリビューションを構築し、 +また、作成されたディストリビューションツリーを掃除しきれいにします。 +.It Cm release.6 +組み立てられたディストリビューションツリーの tarball を +生成します。 +.It Cm release.7 +ソースディストリビューションを作成します。 +.It Cm release.8 +boot フロッピ、MFS root フロッピを生成します。 +.It Cm release.9 +fixit フロッピを生成します。 +.It Cm ftp.1 +FTP インストールに適切な領域を +.Pa ${CHROOTDIR}/R/ftp +に整えます。 +.It Cm cdrom.1 +CD-ROM イメージ構築に適切な領域を +.Pa ${CHROOTDIR}/R/cdrom +に整えます。 +.It Cm iso.1 +CD-ROM リリース領域から ISO イメージを 2 つ構築します (インストール用と +.Dq live +ファイルシステムの 2 つ)。 +デフォルトでは無効になっています。 +以下の +.Va MAKE_ISOS +を参照してください。 +.It Cm doc.1 +.Fx +ドキュメンテーションプロジェクトのソースドキュメント (SGML, XML) を +リリースに含める HTML / テキストドキュメントに変換するために +必要なツール全てを構築します。 +また、現在存在するユーザドキュメントも構築、インストールします。 +これには、Handbook, FAQ, article などが含まれます。 +.It Cm doc.2 +リリースドキュメントを構築します。 +これには、リリースノート、ハードウエアガイド、インストール作業説明書 +(installation instructions) が含まれます。 +.El +.Sh 環境変数 +指定しなければならない環境変数は以下のとおりです。 +.Bl -tag -width ".Va RELEASETAG" +.It Va CHROOTDIR +.Xr chroot 8 +環境として、全リリース構築に使用するディレクトリ。 +.\" XXX: I recommend against hardcoding specific numbers like "2.3" here; +.\" XXX: perhaps it should be replaced with something to the effect of +.\" XXX: "we don't know how much space you'll need, but make sure you have +.\" XXX: at least 3 GB to be safe" (I know i'm still hardcoding a number, +.\" XXX: but at least it looks less like a decree and more like an estimate. +i386 アーキテクチャの場合、これが存在するファイルシステムには +少なくとも 2.3GB の空き領域が必要です。 +.It Va BUILDNAME +構築するリリースの名前。 +この名前は、 +.Pa sys/conf/newvers.sh +の中で +.Va RELEASE +の値を設定するのに使用します。 +この値は +.Xr uname 1 +の出力を変更します。 +.It Va CVSROOT +.Fx +CVS リポジトリの位置です。 +このパス名は、実システムルートから参照され、 +.Xr chroot 8 +されたディレクトリツリーのルートからの参照では +.Em ありません。 +.It Ev RELEASETAG +構築するリリースに相当する CVS タグ。 +未定義の場合、CVS ツリーの +.Dv HEAD +( +.Dq "-CURRENT スナップショット" +) から構築されます。 +.El +.Pp +オプションの変数は次のとおりです。 +.Bl -tag -width ".Va RELEASEDISTFILES" +.It Va LOCAL_PATCHES +.Pa /usr/src +に対するパッチファイル。 +このパッチは、リリース構築を開始する前に、 +.Xr chroot 8 +環境で適用されます。 +.It Va PATCH_FLAGS +パッチファイル +.Va LOCAL_PATCHES +を適用する際に用いる +.Xr patch 1 +コマンドに渡す引数。 +.It Va LOCAL_SCRIPT +.Xr chroot 8 +環境で、ローカルパッチ適用直後に実行されるスクリプト。 +.It Va MAKE_ISOS +これを定義した場合、CD-ROM ステージのディレクトリの内容から、 +ブータブル ISO CD-ROM イメージを生成します。 +.It Va NODOC +.Dq Li YES +と設定した場合、 +.Fx +ドキュメンテーションプロジェクトの SGML ベースのドキュメントを生成しません。 +しかしながら、 +.Pa src/share/doc +にある最小のドキュメンテーションセットから +.Dq doc +ディストリビューションが依然として作成されます。 +.It Va NOPORTS +.Dq Li YES +と設定した場合、Ports Collection はリリースから省略されます。 +.It Va NOPORTREADMES +これを定義した場合、 +Ports Collection の各 port に対する readme ファイルを作成しません。 +デフォルトの動作は、 +.Dq Li "make release" +が +.Dq Li "make readmes" +を +.Pa ${CHROOTDIR}/usr/ports +から実行するというものであり、莫大な時間を費すことになります。 +.It Va RELEASEDISTFILES +ports 用として、リリース構築に必要となる +ディストリビューションファイルが存在するディレクトリです。 +これにより、低速なリンク経由で +distfiles をダウンロードする際に費やされる莫大な時間を +節約することができます。 +.It Va RELEASENOUPDATE +.Dq Li "make rerelease" +の際にこの変数の値を設定した場合、 +.Dq Li "cvs update" +によるソースコード更新を行ないません。 +.El +.Sh 関連ファイル +.Bl -tag -compact +.It Pa /etc/make.conf +.It Pa /usr/doc/Makefile +.It Pa /usr/doc/share/mk/doc.project.mk +.It Pa /usr/ports/Mk/bsd.port.mk +.It Pa /usr/ports/Mk/bsd.sites.mk +.It Pa /usr/share/examples/etc/make.conf +.It Pa /usr/src/Makefile +.It Pa /usr/src/Makefile.inc1 +.It Pa /usr/src/release/Makefile +.It Pa /usr/src/release/${arch}/drivers.conf +.It Pa /usr/src/release/${arch}/boot_crunch.conf +.It Pa /usr/src/release/${arch}/fixit_crunch.conf +.El +.Sh 使用例 +以下のコマンド列は +.Fx 4.5 +release を構築する際に使用したものです。 +.Bd -literal -offset indent +cd /usr +cvs co -rRELENG_4_5_0_RELEASE src +cd src +make buildworld +cd release +make release CHROOTDIR=/local3/release BUILDNAME=4.5-RELEASE \\ + CVSROOT=/host/cvs/usr/home/ncvs RELEASETAG=RELENG_4_5_0_RELEASE +.Ed +.Pp +これらのコマンドを実行すると、FTP ディストリビューション用と、 +CD-ROM ディストリビューション用として使える完全なシステムが +ディレクトリ +.Pa /local3/release/R +にできます。 +.Pp +次のコマンド列は、ローカルで修正したソースツリーの +.Dq "-CURRENT スナップショット" +を構築するために使用できます。 +.Bd -literal -offset indent +cd /usr/src +cvs diff -u > /path/to/local.patch +make buildworld +cd release +make release CHROOTDIR=/local3/release BUILDNAME=5.0-CURRENT \\ + CVSROOT=/host/cvs/usr/home/ncvs LOCAL_PATCHES=/path/to/local.patch +.Ed +.Sh 関連項目 +.Xr cc 1 , +.Xr crunchgen 1 , +.Xr cvs 1 , +.Xr install 1 , +.Xr make 1 , +.Xr patch 1 , +.Xr uname 1 , +.Xr vn 4 , +.Xr drivers.conf 5 , +.Xr make.conf 5 , +.Xr build 7 , +.Xr ports 7 , +.Xr chroot 8 , +.Xr mtree 8 +.Rs +.%T "FreeBSD Release Engineering" +.%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ +.Re +.Rs +.%T "FreeBSD Release Engineering of Third Party Packages" +.%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/ +.Re +.Rs +.%T "FreeBSD Developers' Handbook" +.%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/ +.Re +.Sh 歴史 +.Fx +1.x +では、チェックリストを手でチェックしながら、 +.An Rod Grimes +によりコンパイルされ、リリースが作成されました。 +不完全さはさておくにしても、このチェックリストには、 +ファイルシステムを使えるようにするためのこまごまとした要求が大量に +含まれており、その実行は拷問としかいいようがないものでした。 +.Pp +.Fx 2.0 +リリースエンジニアリングを続ける中で、 +.Pa src/release/Makefile +を直して、隔離された無菌環境でリリースを構築する際の退屈な作業の +ほとんどを自動的に行なえるようにすることに、顕著な努力が払われました。 +.Pp +複数のブランチにまたがる 1000 回近くの改版を経て、 +.Pa src/release/Makefile +の +.Xr cvs 1 +ログには、リリースエンジニアたちが経験した苦難のいくばくかを示す +生々しい歴史の記録が刻み込まれています。 +.Sh 作者 +.Pa src/release/Makefile +は、もともとは +.An -nosplit +.An Rod Grimes , +.An Jordan Hubbard , +.An Poul-Henning Kamp +が書きました。 +このマニュアルページは、 +.An Murray Stokely Aq murray@FreeBSD.org +が書きました。