[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PocketBSD packages



 > > > > package 改良案:
 > > > >  - PLIST にあるファイル一覧をいくつかに分割する。たとえば、
 > > > >    PLIST-a, PLIST-b, PLIST-c のようにするとか。
 > > > >    あるファイルが 2 つ以上の PLIST に含まれることはない。
 > > > >    それぞれの PLIST は対応するサブパッケージ名を持つ
 > > > >    これを仮にアトミックパッケージを呼びます
 > 
 > 	確認ですが、
 > 	- pkgsrc使ってmake;make installすると全ファイルがinstallされる

そうです。(そこまで考えていませんでしたが...)

 > 	- make packageすると細かいtar.gzが複数できる

互換性や使い勝手を考えると、tar.gz も 1 個だけの方が
よいと思います。pkg_add の段階でばらしてコピーします。

PLIST を以下のようなかんじで書いて、あとは pkg_* のコマンドが頑張る。

PLIST:
  @subpackage mini=core man
  @subset core
  bin/hoge
  @subset dev
  include/hoge.h
  lib/hoge.a
  @subset man
  man/man1/hoge.1

pkg_add hoge-1.0.tar.gz mini すると、@subpackage mini=core man を
展開して core と man を得て、bin/hoge と man/man1/hoge.1 を
インストールしする。
データベースには hoge-1.0-core, hoge-1.0-man をインストールしたと記録。

---
新しい pkg_add で古い package をインストールした場合、
pkg_add hoge-1.0.tar.gz mini とすると mini は知らないといわれる。
pkg_add hoge-1.0.tar.gz とすると hoge-1.0 をインストールしたと記録。

古い pkg_add で新しい package をインストールした場合、
pkg_add hoge-1.0.tar.gz とすると @subpackage がエラー。
→新しい pkg_* にバージョンアップする必要あり

データベースの互換性についてははまだ考えていません。

Takemura