rpm/rpm-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch
2012-08-01 14:59:23 +04:00

22 lines
836 B
Diff

--- rpm-5.4.4/lib/transaction.c.epoch_cmp~ 2011-11-30 22:25:26.646155379 +0100
+++ rpm-5.4.4/lib/transaction.c 2011-11-30 23:15:28.252768345 +0100
@@ -1187,12 +1187,15 @@ rpmlog(RPMLOG_DEBUG, D_("sanity checking
const char *val = NULL;
he->tag = tags[t];
xx = headerGet(h, he, 0);
- if (he->tag == RPMTAG_EPOCH)
+ if (he->tag == RPMTAG_EPOCH) {
val = rpmteE(p);
- else if (he->tag == RPMTAG_DISTEPOCH)
+ if (val ? atoi(val) : 0 != he->p.ui32p ? *(he->p.ui32p) : 0)
+ nkeys--;
+ } else if (he->tag == RPMTAG_DISTEPOCH) {
val = rpmteD(p);
- if (strcmp(he->p.str ? he->p.str : "", val ? val : ""))
- nkeys--;
+ if (strcmp(he->p.str ? he->p.str : "", val ? val : ""))
+ nkeys--;
+ }
he->p.ptr = _free(he->p.ptr);
}
mi = rpmmiFree(mi);