[Momonga-devel.ja:02202] OmoiKondara のマクロ展開時の挙動について
- From: Mitsunori Yoshida <gcf00561@xxxxxxxxxxx>
- Date: Wed, 22 Oct 2003 11:06:40 +0900
吉田です。
alpha cpu マシンで OmoiKondara を動かしています。
うちの環境だけで起こることかもしれませんが、OmoiKondara の問題では
ないかと思いますので報告致します。
OmoiKondara でビルド実行中に、ruby がループに入っているような挙動
(CPU を 100% 使ってしまう)が起こって、ビルドが進まなくなることが
ありました。特定のパッケージによって起こり、計50パッケージほどで
起こります。ver.1.121 以前の OmoiKondaraでは発生せず、ver.1.122 以降
で発生します。
止まってしまうパッケージの spec ファイルを見ると、タグ名と同じ名前の
マクロがありました。例えばこんな感じです。
%define name hoge <== タグ名(Name)と同じ名前のマクロ(name)
%define version 1.0
%define release 1m
Name: %{name}
Version: %{version}
Release: %{release}
これを、
%define myname hoge
%define myversion 1.0
%define myrelease 1m
Name: %{myname}
Version: %{myversion}
Release: %{myrelease}
とマクロ名を変更したり、または直接、
Name: hoge
Version: 1.0
Release: 1m
としたりすると正常にビルドできました。
OmoiKondara の strip_spec() の2行目くらいの所で spec.scan して macro[]
にマクロを読み込んでいますが、マクロ名がタグ名と同じだった場合、これを
16行目くらいの所で上書きしてしまっているのではないでしょうか。
ruby を読むのは初めてですので、間違えていましたら申し訳ありません。
以上、よろしくお願い致します。