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