rpmRC rc = RPMRC_FAIL;
if (psm) {
+ rpmtsOpX op;
psm->goal = goal;
psm->goalName = pkgGoalString(goal);
switch (goal) {
case PKG_INSTALL:
case PKG_ERASE:
+ op = (goal == PKG_INSTALL) ? RPMTS_OP_INSTALL : RPMTS_OP_ERASE;
+ rpmswEnter(rpmtsOp(psm->ts, op), 0);
+
rc = rpmpsmNext(psm, PSM_INIT);
if (!rc) rc = rpmpsmNext(psm, PSM_PRE);
if (!rc) rc = rpmpsmNext(psm, PSM_PROCESS);
if (!rc) rc = rpmpsmNext(psm, PSM_POST);
(void) rpmpsmNext(psm, PSM_FINI);
+
+ rpmswExit(rpmtsOp(psm->ts, op), 0);
break;
case PKG_PRETRANS:
case PKG_POSTTRANS:
pi = rpmtsiInit(ts);
while ((p = rpmtsiNext(pi, 0)) != NULL) {
int failed = 1;
- rpmElementType tetype = rpmteType(p);
- rpmtsOpX op = (tetype == TR_ADDED) ? RPMTS_OP_INSTALL : RPMTS_OP_ERASE;
rpmlog(RPMLOG_DEBUG, "========== +++ %s %s-%s 0x%x\n",
rpmteNEVR(p), rpmteA(p), rpmteO(p), rpmteColor(p));
if (rpmteOpen(p, ts, 1)) {
rpmpsm psm = rpmpsmNew(ts, p);
- (void) rpmswEnter(rpmtsOp(ts, op), 0);
failed = rpmpsmRun(psm, rpmteType(p));
- (void) rpmswExit(rpmtsOp(ts, op), 0);
psm = rpmpsmFree(psm);
rpmteClose(p, ts, 1);
}