rpm/rpm-5.4.5-do-not-merge-script-dependencies-with-non-script-dependencies.patch
2012-03-08 04:55:15 +04:00

36 lines
2.1 KiB
Diff

--- 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),