VineSeed ML アーカイブ



[VineSeed:17882] Re: 【コメント募 集】gtk icon-theme.cache の更新 方法

  • From: HARADA Kazutaka <kazutaka@xxxxxxxxxxxxxxxx>
  • Subject: [VineSeed:17882] Re: 【コメント募 集】gtk icon-theme.cache の更新 方法
  • Date: Fri, 19 Jun 2009 11:11:29 +0900
ハラダです。

(2009年06月19日 03:13), Daisuke SUZUKI さんは書きました:
> 出遅れましたが、Mandriva では filetriggers をつかってこれらの
> 処理をしているようです。(patchが必要なのでちょっと。。)
> http://wiki.mandriva.com/en/Rpm_filetriggers
> パターンにマッチしたファイルが更新された場合に、処理を実行する
> という感じらしいです。オーバーヘッドが大きそうなので、微妙かも
> しれません。

機能的には良さそうですが、この時期に patch を当ててまで
機能追加するのはちょっと…という感じですね。

>>     if [ ! -e "$d/index.theme" ] ; then
>>     elif [ `find "$d" -type f -newer "$d/index.theme" > /dev/null` ] ; then
> cache は index.theme じゃなくて、icon-theme.cache ではないですか?

おっと。そうですね。

> それから、タイムスタンプだけだとダメかもしれません。アイコンファイルは
> 元のタイムスタンプが保存されているので、古いタイムスタンプのファイルが
> 追加されても更新されなくなってしまいます。
> # %post とかで実行しているときに touch しているのはそのためです

あー、確かに。
そう考えると find は使えなくて、やっぱり gtk-update-icon-cache を回さないと
ならないので、ちょっと負荷が高くなりますね。

> 結構微妙な問題というか、、%post に trigger 用のファイルかなんかをtouch
> させるように仕込んで、apt にまとめて処理させるというのがいいかもしれま
> せん。(既存のテーマに新たについかされるケースは hicolor がほとんどなの
> で、全部のテーマをチェックしなくてもhicolorだけキャッシュつくりなせば
> 十分という気もしなくもないです)

ちゃんと対応しようとすると結構手間が掛かりそうですが、
今から手を入れることを考えると手間の割にメリットが少なそうですねぇ。

>> 後、/usr/share/themes にも同様に cache を作っておくと良い
>> らしいので、実際のスクリプトではこちらも cache を作るように
>> しようと考えています。
> 
> themes には cache いらんのではないでしょうか。

Web 上でそういった記述を見かけたのですが、他を調べてみると
あまり意味が無いという意見もあるようですし、他の distribution でも
基本 icons しか対応してないようなので、要らなそうです。

自分から提案しておいてなんですが、とりあえず現状のままとしておいて、
Vine 6 以降の検討課題ということにしておくくらいが良さそうですね。

-- 
--------------------------------------
Kazutaka HARADA
  e-mail:kazutaka@xxxxxxxxxxxxxxxx
--------------------------------------