13.4. GConf2を利用するパッケージ

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セクションでは駄目です。