Hide install/erase statistics collection inside psm
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 26 Feb 2010 07:17:03 +0000 (09:17 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 26 Feb 2010 07:17:03 +0000 (09:17 +0200)
lib/psm.c
lib/transaction.c

index 85c64e8..384ed27 100644 (file)
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -1137,17 +1137,23 @@ rpmRC rpmpsmRun(rpmpsm psm, pkgGoal goal)
     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:
index dda5133..500edf9 100644 (file)
@@ -1393,17 +1393,13 @@ static int rpmtsProcess(rpmts ts)
     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);
        }