[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