qt: ensure that target dir exists before installing there
[buildroot-gz.git] / package / rpm / rpm-5.2.0_ordering-fix.patch
bloba618e1f2c9e32df7678e02da57861d4470134136
1 Included upstream
2 --- x/lib/depends.c 2009/05/15 13:40:58 1.445
3 +++ y/lib/depends.c 2009/08/22 22:12:02 1.446
4 @@ -2216,9 +2216,6 @@
6 rpmte q, qprev;
8 - /* Mark the package as queued. */
9 - rpmteTSI(p)->tsi_queued = 1;
11 if ((*rp) == NULL) { /* 1st element */
12 /*@-dependenttrans@*/ /* FIX: double indirection */
13 (*rp) = (*qp) = p;
14 @@ -2238,6 +2235,12 @@
15 /* XXX Insure removed after added. */
16 if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q))
17 continue;
19 + /* XXX Follow all previous generations in the queue. */
20 + if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued)
21 + continue;
23 + /* XXX Within a generation, queue behind more "important". */
24 if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt)
25 break;
27 @@ -2521,6 +2524,9 @@
29 if (rpmteTSI(p)->tsi_count != 0)
30 continue;
32 + /* Mark the package as queued. */
33 + rpmteTSI(p)->tsi_queued = orderingCount + 1;
34 rpmteTSI(p)->tsi_suc = NULL;
35 addQ(p, &q, &r, prefcolor);
36 qlen++;
37 @@ -2584,6 +2590,8 @@
38 (void) rpmteSetParent(p, q);
39 (void) rpmteSetDegree(q, rpmteDegree(q)+1);
41 + /* Mark the package as queued. */
42 + rpmteTSI(p)->tsi_queued = orderingCount + 1;
43 /* XXX TODO: add control bit. */
44 rpmteTSI(p)->tsi_suc = NULL;
45 /*@-nullstate@*/ /* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */