| 1 | [wiki:docs Vine Linux ドキュメント] / [wiki:../../ RPM パッケージの作成方法] / [wiki:../ パッケージ固有の作法等について] / |
| 2 | GConf2 を利用するパッケージ |
| 3 | |
| 4 | = GConf2 を利用するパッケージ = |
| 5 | |
| 6 | GConf2 を設定の保存に利用しているアプリケーションの場合、通常、make install の途中でデフォルトの設定値が記述されたファイルを GConf2 に登録しようとします。 |
| 7 | |
| 8 | しかし、このタイミングで GConf2 への登録を行うと RPM パッケージ化の際にエラーを吐きますし、RPM パッケージをインストールしても GConf2 には何も登録されません。 |
| 9 | |
| 10 | この様なアプリケーションをパッケージ化する場合は、以下のように SPEC ファイルを記述して GConf2 への登録のタイミングを制御する必要があります。 |
| 11 | |
| 12 | * %install セクションの make install の前後を以下のように記述します。 |
| 13 | {{{ |
| 14 | #!sh |
| 15 | export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 |
| 16 | make install |
| 17 | unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL |
| 18 | }}} |
| 19 | これで make install 時に GConf2 への登録が省略されます。 |
| 20 | * %post セクションに以下の記述を追加します。 |
| 21 | {{{ |
| 22 | #!sh |
| 23 | export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` |
| 24 | gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/package.schemas > /dev/null |
| 25 | }}} |
| 26 | package の部分は、適切な名前(ワイルドカード使用可)に置き換えてください。 |
| 27 | * %preun セクションに以下の記述を追加します。 |
| 28 | {{{ |
| 29 | #!sh |
| 30 | if [ $1 = 0 ]; then |
| 31 | export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` |
| 32 | gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/package.schemas > /dev/null |
| 33 | fi |
| 34 | }}} |
| 35 | これは、削除される前の .schemas ファイルを利用しますので %postun セクションでは駄目です。 |