--- rpm-5.4.5/build/reqprov.c.script_overlap~ 2012-03-06 21:09:05.867560098 +0100 +++ rpm-5.4.5/build/reqprov.c 2012-03-06 21:10:49.962670768 +0100 @@ -125,9 +125,14 @@ int addReqProv(/*@unused@*/ Spec spec, H /* do not consider dependency ranges like R: foo > 1, R: foo < 3 * as overlapping (mdvbz#65269) */ +#define RPMSENSE_SCRIPTS (RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN|RPMSENSE_SCRIPT_VERIFY) if (!((Flags & RPMSENSE_GREATER && flags[len] & RPMSENSE_LESS) || - (Flags & RPMSENSE_LESS && flags[len] & RPMSENSE_GREATER))) + (Flags & RPMSENSE_LESS && flags[len] & RPMSENSE_GREATER)) && + /* do not merge script dependencies with non-script dependencies */ + !(((Flags & RPMSENSE_SCRIPTS) && !(flags[len] & RPMSENSE_SCRIPTS)) || + ((flags[len] & RPMSENSE_SCRIPTS) && !(Flags & RPMSENSE_SCRIPTS)))) overlap = rpmdsCompare(new, old); +#undef RPMSENSE_SCRIPTS if (overlap) { EVR_t lEVR = rpmEVRnew(RPMSENSE_ANY, 0), --- rpm-5.4.5/lib/rpmfc.c.script_overlap~ 2012-03-06 21:09:05.870560101 +0100 +++ rpm-5.4.5/lib/rpmfc.c 2012-03-06 21:09:29.342585059 +0100 @@ -524,9 +524,14 @@ assert(EVR != NULL); /* do not consider dependency ranges like R: foo > 1, R: foo < 3 * as overlapping (mdvbz#65269) */ +#define RPMSENSE_SCRIPTS (RPMSENSE_SCRIPT_PRE|RPMSENSE_SCRIPT_POST|RPMSENSE_SCRIPT_PREUN|RPMSENSE_SCRIPT_POSTUN|RPMSENSE_SCRIPT_VERIFY) if (!((Flags & RPMSENSE_GREATER && (*depsp)->Flags[(*depsp)->i] & RPMSENSE_LESS) || - (Flags & RPMSENSE_LESS &&(*depsp)->Flags[(*depsp)->i] & RPMSENSE_GREATER))) + (Flags & RPMSENSE_LESS && (*depsp)->Flags[(*depsp)->i] & RPMSENSE_GREATER)) && + /* do not merge script dependencies with non-script dependencies */ + !(((Flags & RPMSENSE_SCRIPTS) && !((*depsp)->Flags[(*depsp)->i] & RPMSENSE_SCRIPTS)) || + (((*depsp)->Flags[(*depsp)->i] & RPMSENSE_SCRIPTS) && !(Flags & RPMSENSE_SCRIPTS)))) overlap = rpmdsCompare(*depsp, ds); +#undef RPMSENSE_SCRIPTS if (overlap) { EVR_t lEVR = rpmEVRnew(RPMSENSE_ANY, 0),