--- 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);