2011-05-16 18:07:44 +02:00
|
|
|
Don't complain about a bad md5 sum for repackaged rpms.
|
|
|
|
|
|
|
|
--- ./lib/psm.c.orig 2011-05-11 14:27:32.000000000 +0000
|
|
|
|
+++ ./lib/psm.c 2011-05-11 16:32:11.000000000 +0000
|
|
|
|
@@ -811,6 +811,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
|
|
case PSM_PROCESS:
|
|
|
|
if (psm->goal == PKG_INSTALL) {
|
2010-03-26 16:30:18 +01:00
|
|
|
FD_t payload = NULL;
|
|
|
|
+ rpmtransFlags oldtsflags;
|
|
|
|
|
|
|
|
if (rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB) break;
|
|
|
|
|
2011-05-16 18:07:44 +02:00
|
|
|
@@ -828,6 +829,9 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
2010-03-26 16:30:18 +01:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ oldtsflags = rpmtsFlags(ts);
|
|
|
|
+ if (headerIsEntry(fi->h, RPMTAG_REMOVETID))
|
|
|
|
+ (void) rpmtsSetFlags(ts, oldtsflags | RPMTRANS_FLAG_NOMD5);
|
|
|
|
rc = fsmSetup(rpmfiFSM(fi), FSM_PKGINSTALL, ts, psm->te, fi,
|
|
|
|
payload, NULL, &psm->failedFile);
|
|
|
|
(void) rpmswAdd(rpmtsOp(ts, RPMTS_OP_UNCOMPRESS),
|
2011-05-16 18:07:44 +02:00
|
|
|
@@ -835,6 +839,8 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
2010-03-26 16:30:18 +01:00
|
|
|
(void) rpmswAdd(rpmtsOp(ts, RPMTS_OP_DIGEST),
|
|
|
|
fdOp(payload, FDSTAT_DIGEST));
|
|
|
|
xx = fsmTeardown(rpmfiFSM(fi));
|
|
|
|
+ if (headerIsEntry(fi->h, RPMTAG_REMOVETID))
|
|
|
|
+ (void) rpmtsSetFlags(ts, oldtsflags);
|
|
|
|
|
|
|
|
saveerrno = errno; /* XXX FIXME: Fclose with libio destroys errno */
|
|
|
|
xx = Fclose(payload);
|