[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