NetBSD 開発者ドキュメンテーション: リリースおよびスナップショットの構築とパッケージング
ここからの説明は、NetBSD バージョン 1.5 およびそれ以降のリリースおよび スナップショットの構築に関するものです。ソースツリーからリリースを含む.tgz ファイルのセットを作成するまでに踏む段階をカバーしています。 もちろんスナップショットであることを明確に記すべきですが、この方法でスナップショットも作成できます。
Note
スナップショットをアップロードするとき、 機能一覧 をアップデートし忘れないでください。
NetBSD のリリース方式は
release(7)
マニュアルページで説明されています。
また、 /usr/share/mk/bsd.README
ファイルも有用な資料です。
.tgzファイルは二つの段階を踏んで構築されます。まず初めに、 基本配布物を構築します。次の段階で X Window System の配布ファイルを構築します。 アーキテクチャーによっては、さらに段階を踏んで、インストール用のもの (ブートローダーやブートフロッピーイメージなど)構築する必要があります。 次に挙げる段階は全て、NetBSDソースツリーのルートへたどり着くためには、 `src'に移動するものと仮定しています。
昔のバージョンでは、NetBSD には (合衆国) 国内専用の部分がありました。 これは、合衆国とカナダ以外へは合法的に持ち出すことができなかった DES に基づくコードを含んだ部分です。詳細は NetBSD の暗号コードの輸出についてのページをご覧ください。
リリースを構築し、パッケージ化するステップは以下の通りです。
I. 基本システムの構築 (トップ)
- 構築に必要な変数を設定します。以下に挙げる変数を、
環境変数 (優先度最低)、
/etc/mk.conf
、または make のコマンドライン (優先度最高) で設定可能です。 以下は、/etc/mk.conf
ファイルの例です。# ソースツリーの場所。 BSDSRCDIR=/home/cjs/netbsd/src # 構築で作られるオブジェクトファイルの場所。 BSDOBJDIR=/home/cjs/netbsd/obj # これら二つは実際には必要ありません; あとで再構築する際に # 楽になります。厳密な定義については /usr/share/mk/bsd.README # を参照してください。 src 最上層の Makefile もあわせて参照してください。 BUILD=1 UPDATE=1 # バイナリーのインストール先 DESTDIR=/usr/home/cjs/netbsd/destdir # 実際のリリースファイルが置かれる場所 RELEASEDIR=/usr/home/cjs/netbsd/release
Note
src ディレクトリー内のスクリプトのなかには、DESTDIR
を環境変数で設定しておかなければならないものがあります (たとえばcheckflist
、後述) また、DESTDIR
を/etc/mk.conf
で設定すると、pkgsrc のパッケージ構築で問題が起きる可能性もあります。DESTDIR
とRELEASEDIR
は、環境変数か make のコマンドラインで設定するのが簡単かつ安全でしょう。 - ソースのあるディレクトリーに移動して、リリースを構築します。
cd src make obj make release
ここで、いくつかの変数を make のコマンドラインで指定するのもよいかもしれません。 たとえば以下のようにします。make DESTDIR=/home/destdir RELEASEDIR=/home/releasedir release
II. X の構築 (トップ)
Xのセットを構築しパッケージングする情報は、 上記主要セットと同じです。 X のソースがあるディレクトリーに移動して、以下のようにします。
make release
または、make のコマンドラインで変数を指定する場合は以下のようにします。
make DESTDIR=/home/destdir RELEASEDIR=/home/release
Note
I および II では、セットリストが最新のものであると仮定することに注意して下さい。 セットリストが最新であるかチェックしたいかもしれません。それぞれ、 `make release' するかわりに以下のようにします。cd src make obj # オブジェクトコードを構築し、インストールする。 make build # 配布物のうち最後のものをインストールします。 cd src/etc && make distribution # xsrc のオブジェクトコードを構築し、インストールする。 cd xsrc && make build
セットリストが正確であるかチェックし、適切にアップデートして、 セット用のtarファイルを作るために、以下のようにします。
cd src/distrib/sets sh ./checkflist -both
必要ならば、ここで src/distrib/sets/lists/*/* ファイルを編集します。
cd src/etc make INSTALL_DONE=1 release cd xsrc make INSTALL_DONE=1 release
III. インストール用のものの構築 (トップ)
ほとんどのアーキテクチャーでは、インストール用の基本的なものは
上述の I において `make release' で処理されます。ただし、これらの一部には、
src/distrib/
以下でアーキテクチャー依存の手順が必要なものがあります。
そのような手順のなかには、この説明でまだ記してないものもあります。
ここでできた成果物は、 (arch
release(7)
マニュアルページに列挙されている慣習に従って)
$RELEASEDIR
以下に手動で置く必要があります。
CD-ROM 作成用に、リリースの ISO9660 イメージを作るには、
上述の I と II の手順を踏み、また、mkisofs (
sysutils/cdrtools
パッケージにあります) をパスの通ったところにインストールしておきます。
それから、
cd src/etc make iso-image
とすると、ISO9660 イメージが作られ、
$RELEASEDIR/installation/cdrom
に保存されます。
このページには、手を入れる余地がまだ大いにありえます。
このページへのコメントやアップデートは、
<cjs@NetBSD.org>
へ送ってください。