File rpm-4.4.2.3-no-order-rescan-limit.patch of Package rpm
--- lib/depends.c.orig 2009-11-05 08:48:22.282436000 +0100
+++ lib/depends.c 2009-11-05 08:51:09.968656000 +0100
@@ -1227,7 +1227,7 @@
int numOrderList;
int npeer = 128; /* XXX more than deep enough for now. */
int * peer = memset(alloca(npeer*sizeof(*peer)), 0, (npeer*sizeof(*peer)));
- int nrescans = 10;
+ int nrescans = 0;
int _printed = 0;
char deptypechar;
size_t tsbytes;
@@ -1561,8 +1561,10 @@
/* If a relation was eliminated, then continue sorting. */
/* XXX TODO: add control bit. */
- if (nzaps && nrescans-- > 0) {
- rpmMessage(RPMMESS_DEBUG, _("========== continuing tsort ...\n"));
+ if (nzaps > 0) {
+ rpmMessage(RPMMESS_DEBUG,
+ _("========== continuing tsort ...(rescan %d)\n"),
+ ++nrescans);
goto rescan;
}