Table of Contents
他の大規模プロジェクトと同様に、初心者の方にとって
pkgsrc のディレクトリー配置は非常に複雑なものです。
ftp.NetBSD.org での基点ディレクトリーは /pub/pkgsrc/ です。
他のサーバーでは、基点ディレクトリーの場所は異なるかもしれませんが、
基点ディレクトリー以下の内容はどのサーバーでもすべて同じはずです。
このディレクトリーには、以下で説明するような、
いくつかのサブディレクトリーがあります。
distfiles ディレクトリーは、
pkgsrc の各パッケージのアーカイブファイルのうち、
このサーバーにミラーされているものを多数含んでいます。
配布ファイルのファイル名にバージョン番号が明示的に含まれていなかったり、
一般的すぎる名前 (たとえば release.tar.gz)
だったりする場合には、パッケージ名を冠したサブディレクトリーが使われます。
このディレクトリーは、
pkgsrc が対応している各種プラットフォーム用のバイナリーパッケージを含んでいます。
各プラットフォーム用のサブディレクトリーは OPSYS/ARCH/OSVERSION_TAG のような形式になっています。これらの意味は以下のとおりです。
OPSYS は、
当該パッケージが構築された対象のオペレーティングシステム名です。
この名前は uname コマンドの出力に合わせているので、
ふだん聞き慣れた名前とは違う名前になっていることがあります。
ARCH は、
当該パッケージが構築された対象のプラットフォームのハードウェアアーキテクチャー名です。
ABI (Application
Binary Interface) が複数あるプラットフォームでは、
ABI も含めた名称になっています。
OSVERSION は、
オペレーティングシステムのバージョンです。バージョン番号が頻繁に変わる場合
(たとえば NetBSD-current) は、たとえば
4.99.x のように、頻繁に変わる部分を
x に置き換えています。
TAG は、安定版の枝の場合は
20、
HEAD の場合は xxQyhead です。後者は、
パッケージが定期的に更新されるものである場合にのみ使います。
そうでない場合は、たとえば head_20071015 のように、
pkgsrc のチェックアウト日を付け加えた形にします。
このような方式となっている理由は、pkgsrc の利用者がバイナリーパッケージを探すときに、 サーバー上のディレクトリーを辿って、 自分のマシンに最適なバイナリーパッケージを簡単に見つけられるからです。 利用者はたいてい、オペレーティングシステムとハードウェアアーキテクチャーを知っているので、 OPSYS と ARCH を最初にしています。これらを選べば、 OSVERSION と TAG の最適な組合せを選ぶことができます。 通常の場合、オペレーティングシステムのバージョンが違っても、 パッケージには互換性があるからです。
これらの各ディレクトリーには、
当該プラットフォーム用のバイナリーパッケージ全体が置かれています。
All というディレクトリーがあり、
ここにすべてのバイナリーパッケージを含んでいます。
このほか、カテゴリー別のディレクトリーがあり、
バイナリーパッケージの実体へのシンボリックリンクを含んでいます。
ここには、構築できないプラットフォームがあるパッケージを修正したい方向けに、
バルクビルドの結果の報告が置いてあります。
サブディレクトリーの構造はSection C.3, “packages: バイナリーパッケージ”と同じです。
このディレクトリーは pkgsrc “そのもの”、つまり、 ソースアーカイブからバイナリーパッケージを作る方法を定義したファイル一式を含んでいます。
pkgsrc ディレクトリーは、
CVS リポジトリーのスナップショットを含んでおり、定期的に更新されます。
pkgsrc.tar.gz ファイルは、
このディレクトリーと同じ内容を含んでおり、
全体をダウンロードできるようになっています。
四半期ごとの枝用のディレクトリーには、
さらに
pkgsrc-20
というファイルがあります。
これは、枝が分岐した時点の状態の pkgsrc を含んでいます。xxQy.tar.gz