From: Panu Matilainen Date: Sun, 30 Nov 2008 15:36:46 +0000 (+0200) Subject: Set/clear rpmte db instance on RPMDB_ADD / REMOVE from psm X-Git-Tag: tznext/4.11.0.1.tizen20130304~3303 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c99197616491693fa0fec5ff39ac4c2cd336f65b;p=tools%2Flibrpm-tizen.git Set/clear rpmte db instance on RPMDB_ADD / REMOVE from psm - transaction elements now know their real status all the time now --- diff --git a/lib/psm.c b/lib/psm.c index 6164b66..c34304a 100644 --- a/lib/psm.c +++ b/lib/psm.c @@ -1615,8 +1615,10 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) else rc = rpmdbAdd(rpmtsGetRdb(ts), rpmtsGetTid(ts), h, NULL, NULL); - (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBADD), 0); + + if (rc == RPMRC_OK) + rpmteSetDBInstance(psm->te, headerGetInstance(h)); headerFree(h); } break; @@ -1626,6 +1628,8 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage) rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), rpmteDBInstance(psm->te), NULL, NULL); (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBREMOVE), 0); + if (rc == RPMRC_OK) + rpmteSetDBInstance(psm->te, 0); break; default: