VineSeed ML アーカイブ



[VineSeed:18138] Re: upload: geeqie

  • From: KATO Masashi <mkato@xxxxxxxxxxxxx>
  • Subject: [VineSeed:18138] Re: upload: geeqie
  • Date: Mon, 20 Jul 2009 17:01:43 +0900
加藤(大阪)です。
今野さん、レスありがとうございます。

(以下、引用前後します)

Mon, 20 Jul 2009 15:06:40 +0900 付
Shu KONNOさんのメールより:

> ただ %files でスクリプト位置の記述が %{_libdir}/%{name}/* になってました。
> この %{_libdir} は x86_64 環境だと /usr/lib64 と定義されていますので、...

これ、%_arch が x86_64 の時は %_prefix → /usr、
%_exec_prefix → %{_prefix}、% _lib → lib64、で、
%_libdir → %{_exec_prefix}/%{_lib} =→ /usr/lib64 という事ですよね?

で、%_arch が i386 の時は % _lib → lib なので、%_libdir = /usr/lib にな
ると。

なので、

> と云う分けで %files の記述を %{_prefix}/lib/%{name}/* に書き換えた次第です。

で、どちらの環境でも /usr/lib/geeqie に統一した、という理解でいいです
ね?

そこまでは(多分)わかったんですが...

> スクリプトの位置が /usr/lib64/geeqie/* と展開されてしまい、ファイルが見つか
> らないと怒られます。

これに、ふと思ったんですが、x86_64 環境でのライブラリの位置は /usr/lib64
であるのが自然なら、"怒る" 方が間違ってるという事 にはならないでしょう
か?
つまり、

> 普通にビルドするとスクリプトの類が /usr/lib/geeqie/* にインストールされる
> ようになってます。これは i386, x86_64 に関わらず、これで良いのだと思います。

これが、実は不自然なのでは?という事なんですが...

で、少し調べたんですが、geeqie の configure でスクリプトの位置が、

  eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"

で決められ、Makefile に反映されてるようなんですが、例えばこれ(configure)
に、

  -eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
  +eval "eval gq_bindir=${libdir}/${PACKAGE}"

のような patch をあてる (当然 %files の方は %{_libdir}/%{name}/* に戻し
て) と、x86_64 環境でも怒られないという事にはならないんでしょうか?
もしこれでうまく行くなら、こちら(configure)を修正する方が自然かなぁ、と
いう気がするんですが...

どちらでも「動けばええやん」とも思うんですが、ちょっと気になりましたの
で。

-- 
加藤 雅 <mkato@xxxxxxxxxxxxx>
	http://add10.hp.infoseek.co.jp/rox/
	http://www2.odn.ne.jp/add10/fluxbox/