28 lines
791 B
Diff
28 lines
791 B
Diff
--- rpm-4.4.2/lib/depends.c.order 2006-11-20 11:17:13.000000000 +0000
|
|
+++ rpm-4.4.2/lib/depends.c 2006-11-20 11:19:19.000000000 +0000
|
|
@@ -1421,7 +1421,14 @@
|
|
(void) rpmteSetDegree(q, 0);
|
|
tsbytes += rpmtePkgFileSize(q);
|
|
|
|
- ordering[orderingCount] = rpmteAddedKey(q);
|
|
+ switch (rpmteType(q)) {
|
|
+ case TR_ADDED:
|
|
+ ordering[orderingCount] = rpmteAddedKey(q);
|
|
+ /*@switchbreak@*/ break;
|
|
+ case TR_REMOVED:
|
|
+ ordering[orderingCount] = RPMAL_NOMATCH;
|
|
+ /*@switchbreak@*/ break;
|
|
+ }
|
|
orderingCount++;
|
|
qlen--;
|
|
loopcheck--;
|
|
@@ -1618,7 +1625,7 @@
|
|
continue;
|
|
|
|
j = needle->orIndex;
|
|
- if ((q = ts->order[j]) == NULL)
|
|
+ if ((q = ts->order[j]) == NULL || needle->pkgKey == RPMAL_NOMATCH)
|
|
continue;
|
|
|
|
newOrder[newOrderCount++] = q;
|