[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PocketBSD packages
竹村です。
NetBSD の package について、generic な改良を考えてみました。
単に思いつきの、ラフな案なので、tech-pkg に提案する前に、
port-hpcmips-ja でもうすこし叩いて頂きたいと思います。
ユーザ/開発者からみた互換性を重視し、現実的に移行できる
ことを目標に思いついてみました。
package 改良案:
- PLIST にあるファイル一覧をいくつかに分割する。たとえば、
PLIST-a, PLIST-b, PLIST-c のようにするとか。
あるファイルが 2 つ以上の PLIST に含まれることはない。
それぞれの PLIST は対応するサブパッケージ名を持つ
これを仮にアトミックパッケージを呼びます
- パッケージはサブパッケージのエントリを含む
サブパッケージはパッケージ内の他のサブパッケージやアトミック
パッケージを複数含むことができる。
- インストールはパッケージまたはサブパッケージを指定して行ない、
インストールされたパッケージの管理は アトミックパッケージ単位で
参照カウントも管理される。
- パッケージの配布ファイルにはパッケージに含まれる全てのアトミック
パッケージのファイルが含まれる。
例:hoge というパッケージがあるとします。バージョンは 1.0 です。
PLIST は
PLIST-core(hoge という実行バイナリ)
PLIST-ext(hoge の機能拡張プラグインとか)
PLIST-dev(*.h と *.a)
PLIST-man(マニュアル)
PLIST-doc(ドキュメント)
のようになっていて、それぞれに対応した
hoge-1.0-core, hoge-1.0-ext, hoge-1.0-dev, hoge-1.0-man, hoge-1.0-doc
というサブパッケージがあります。
パッケージ内の別名定義は
: core, ext, dev, man, doc
mini: core
light: mini, man
のようになっています。1 行めの「:」で始まるのは、「hoge-1.0」という
パッケージの定義です。(明らかなので省略可能かも)
あと、emacs のように、X windows あり/なしみたいなのは全く
別のパッケージにします。
Takemura