dbconfig-common パケジについて
redmine なソースパケジを掘りはじめて随分経ってるんですが進捗が大変微妙。これではマズい、ということで自分で自分の尻をタタイておる訳です。
で、基本的には debconf な template を中心に掘削していたのですが、よくよく見てみると dbc_* みたいな変数とか手続きがあることが判明。これは何でしょ、と調べてみたら標題の dbconfig-common というパケジに関する何か、であることが分かった訳です。
基本的には以下なドキュメントを読めば分かる、ということなのかどうか。
ローカルで色々確認しようとしたらパケジが入ってませんでした。あらら? って思って debian/control 見てみたら Depends な設定エントリにパケジの記述がありました。
現時点での認識としては Rails だったり php だったり Django だったりな Web アプリをパケジにする場合、バックエンドなデータベースをどのエンジンで、ってあたりの依存関係な設定をある程度抽象化している、という理解で良いのかな。
基本的にデータベース本体が格納されるのは /var/lib/dbconfig-common 配下にしておいて、というあたりもでびあん的で実に興味深い。
基本的には
#!/bin/sh # config maintainer script for foo-mysql # source debconf stuff . /usr/share/debconf/confmodule if [ -f /usr/share/dbconfig-common/dpkg/config ]; then # we support mysql and pgsql dbc_dbtypes="mysql, pgsql, sqlite3" # source dbconfig-common stuff . /usr/share/dbconfig-common/dpkg/config dbc_go foo-mysql $@ fi # ... rest of your code ...
みたいに書いときゃみたいなことが書いてあります。でもこれって、パケジの upgrade に伴なって DB エンジンなバージョンが上がった時にデータを云々するあたりのナニは特に心配しなくて良いのかな。
や、あまり余計なことは考えまい。