加藤(大阪)です。
今野さん、レスありがとうございます。
(以下、引用前後します)
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/