diff -urN rpm-4_0-4.0.4-orig/build/parseSpec.c rpm-4_0-4.0.4/build/parseSpec.c --- rpm-4_0-4.0.4-orig/build/parseSpec.c 2005-10-13 03:55:57 +0400 +++ rpm-4_0-4.0.4/build/parseSpec.c 2005-10-25 13:51:34 +0400 @@ -676,7 +676,7 @@ /*@-infloops@*/ /* LCL: parsePart is modified @*/ while (parsePart < PART_LAST && parsePart != PART_NONE) { rpmBuiltinMacroLookup saved_lookup = rpmSetBuiltinMacroLookup(NULL); - int saved_lookup_failed = rpmSetBuiltinMacroLookupFailedOK(rpmExpandNumeric("%{?_allow_undefined_macros}")); + int saved_lookup_failed = rpmSetBuiltinMacroLookupFailedOK(rpmExpandNumeric("%{?_allow_undefined_macros}") || preprocess); switch (parsePart) { case PART_PREAMBLE: rpmSetBuiltinMacroLookup(is_builtin_preamble_tag);