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 の場合は xx
Qy
head
です。後者は、
パッケージが定期的に更新されるものである場合にのみ使います。
そうでない場合は、たとえば head_20071015
のように、
pkgsrc のチェックアウト日を付け加えた形にします。
このような方式となっている理由は、pkgsrc の利用者がバイナリーパッケージを探すときに、 サーバー上のディレクトリーを辿って、 自分のマシンに最適なバイナリーパッケージを簡単に見つけられるからです。 利用者はたいてい、オペレーティングシステムとハードウェアアーキテクチャーを知っているので、 OPSYS と ARCH を最初にしています。これらを選べば、 OSVERSION と TAG の最適な組合せを選ぶことができます。 通常の場合、オペレーティングシステムのバージョンが違っても、 パッケージには互換性があるからです。
これらの各ディレクトリーには、
当該プラットフォーム用のバイナリーパッケージ全体が置かれています。
All
というディレクトリーがあり、
ここにすべてのバイナリーパッケージを含んでいます。
このほか、カテゴリー別のディレクトリーがあり、
バイナリーパッケージの実体へのシンボリックリンクを含んでいます。
ここには、構築できないプラットフォームがあるパッケージを修正したい方向けに、
バルクビルドの結果の報告が置いてあります。
サブディレクトリーの構造はSection C.3, “packages
: バイナリーパッケージ”と同じです。
このディレクトリーは pkgsrc “そのもの”、つまり、 ソースアーカイブからバイナリーパッケージを作る方法を定義したファイル一式を含んでいます。
pkgsrc
ディレクトリーは、
CVS リポジトリーのスナップショットを含んでおり、定期的に更新されます。
pkgsrc.tar.gz
ファイルは、
このディレクトリーと同じ内容を含んでおり、
全体をダウンロードできるようになっています。
四半期ごとの枝用のディレクトリーには、
さらに
pkgsrc-20
というファイルがあります。
これは、枝が分岐した時点の状態の pkgsrc を含んでいます。xx
Qy
.tar.gz