Don't complain about a bad md5 sum for repackaged rpms. --- ./lib/psm.c.orig 2012-06-01 13:18:24.000000000 +0000 +++ ./lib/psm.c 2012-06-01 13:22:48.000000000 +0000 @@ -813,12 +813,17 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg rpmpsmNotify(psm, RPMCALLBACK_INST_PROGRESS, 0); if (rpmfiFC(fi) > 0 && !(rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB)) { + rpmtransFlags oldtsflags; FD_t payload = rpmtePayload(psm->te); if (payload == NULL) { rc = RPMRC_FAIL; break; } + oldtsflags = rpmtsFlags(ts); + if (headerIsEntry(fi->h, RPMTAG_REMOVETID)) + (void) rpmtsSetFlags(ts, oldtsflags | RPMTRANS_FLAG_NOMD5); + fsmrc = rpmfsmRun(FSM_PKGINSTALL, psm->ts, psm->te, psm->fi, payload, psm, NULL, &psm->failedFile); @@ -827,6 +832,9 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg rpmswAdd(rpmtsOp(psm->ts, RPMTS_OP_DIGEST), fdOp(payload, FDSTAT_DIGEST)); + if (headerIsEntry(fi->h, RPMTAG_REMOVETID)) + (void) rpmtsSetFlags(ts, oldtsflags); + Fclose(payload); }