when %{!?FOO:} macro is in spec file, rpm causes SIGSEGV. %{!?FOO: bar} ->OK %{!?FOO:} ->NG #{!?FOO:} ->NG (even in comment) this patch applied, rpm may work correctly. --- rpm-3.0.4/lib/macro.c.orig Sat Feb 19 12:16:29 2000 +++ rpm-3.0.4/lib/macro.c Sat Feb 19 02:39:08 2000 @@ -1116,7 +1116,7 @@ if (g && g < ge) { /* Expand X in %{?f:X} */ rc = expandT(mb, g, gn); } else - if (me->body && *me->body) { /* Expand %{?f}/%{?f*} */ + if (me != NULL && me->body && *me->body) { /* Expand %{?f}/%{?f*} */ rc = expandT(mb, me->body, strlen(me->body)); } s = se;
Checked in, will be in rpm-3.0.4-0.44. Thanks for the patch.