Blob Blame History Raw
--- 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;