Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 2003/11/07 -> 2003/11/08 update gets no Warning
寺西です。
knok@xxxxxxxxxxxxx wrote:
>
> 私も色々と考えなおしてみました。
>
> At Tue, 18 Nov 2003 19:12:49 +0900,
> Tadamasa Teranishi wrote:
> > なぜなら、namazu.cgi をパスなしで起動した時はカレントディレクトリ
> > の .namazurc を読むがパス付きで namazu.cgi を起動すると、
> > namazu.cgi のあるディレクトリの .namazurc を読むからです。
> >
> > # これってバグでは? ちょっと不自然な振る舞いかと思います。
>
> バグとするかどうかは微妙なところですが、これまで動作していたのは偶然
> だったんだなあ、とは思います。
カレントディレクトリの .namazurc を読むのはやっぱりバグでしょ。
# 1.4 はそのおかげで偶然動いていただけですし。
> 考えてみると、ltmain.sh が生成する wrapper の問題のようにも思います。
> そもそもこれは .libs 以下に実体が生成されるような状況でもそのまま動作
> できるようにするためのものですが、微妙に動作状況が異なってしまうのはあ
> まりよろしくないかなと。
>
> wrapper 側で argv[0] を original のまま保存しつつ実体を exec する、
> というのが本来あるべき姿ではないのかな、と自分は思いました。
はい。wapper なのですから、そうあるべきですね。
カレントディレクトリの .namazurc を読むのがとっても気持ち悪いので、
2 以外に 3 の src/.libs/ に .namazurc をコピーという話をしましたが、
きちんと wrapper 側で argv[0] に設定する方がまともな対策です。
(もちろん、2 の対策よりも)
この対策を 4 としておくと、
4. wrapper 側で argv[0] を original のまま保存しつつ実体を exec する
これを支持します。
ただし、この場合でも
> パス指定なしで起動した際に、きちんと namazu.cgi のあるディレクトリを
> 取り出せるようにデバッグすることも必要かと。
のデバッグは必要だと思います。
このデバッグを行わなくても 4 の対策をすれば、make check は
通りますが、このデバッグによりカレントディレクトリの .namazurc は
読まなくなります。
> exec 系 syscall を使えば実現可能だとは思うのですが、shell scirpt で
> はできるものなんでしょうかね? exec -a name は bash 以外にもあるのかな...
/bin/sh (実態が bash ではないもの) にあれば問題ないんですよね?
調べてみます。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E