- コンパクトで軽量な日本語ディストリビューション -
GConf2を設定の保存に利用しているアプリケーションの場合、通常、make installの途中でデフォルトの設定値が記述されたファイルをGConf2に登録しようとします。
しかし、このタイミングでGConf2への登録を行うとRPMパッケージ化の際にエラーを吐きますし、RPMパッケージをインストールしてもGConf2には何も登録されません。
この様なアプリケーションをパッケージ化する場合は、以下のようにSPECファイルを記述してGConf2への登録のタイミングを制御する必要があります。
%installセクションのmake installの前後を以下のように記述します。
export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
これでmake install時にGConf2への登録が省略されます。
%postセクションに以下の記述を追加します。
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/package.schemas > /dev/null
packageの部分は、適切な名前(ワイルドカード使用可)に置き換えてください。
%preunセクションに以下の記述を追加します。
if [ $1 = 0 ]; then
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/package.schemas > /dev/null
fi
これは、削除される前の .schemas ファイルを利用しますので%postunセクションでは駄目です。