summaryrefslogtreecommitdiff
path: root/lib/psm.c
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2008-11-25 12:17:47 +0200
committerPanu Matilainen <pmatilai@redhat.com>2008-11-26 17:35:13 +0200
commit801a36d69beffc383b5cf4fbb63534ead9dfe84a (patch)
tree72faa88de2272275e7fc71a31c58e3849fdec366 /lib/psm.c
parent8690479c3c4a1434624341db8b5a1f3914b26911 (diff)
downloadrpm-801a36d69beffc383b5cf4fbb63534ead9dfe84a.tar.gz
rpm-801a36d69beffc383b5cf4fbb63534ead9dfe84a.tar.bz2
rpm-801a36d69beffc383b5cf4fbb63534ead9dfe84a.zip
Rework rpmtsProcess() to use rpmteOpen+Close for both install and erase
- both cases behave fairly symmetrically now - helps streamlining the process, we get the transaction element and file info for it before creating the package state machine so we dont' need to fuss around with updated file info etc
Diffstat (limited to 'lib/psm.c')
-rw-r--r--lib/psm.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/psm.c b/lib/psm.c
index 05679b3c4..43d1dccf7 100644
--- a/lib/psm.c
+++ b/lib/psm.c
@@ -1260,11 +1260,8 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage stage)
}
if (psm->goal == PSM_PKGERASE) {
psm->scriptArg = psm->npkgs_installed - 1;
-
- /* Retrieve installed header. */
- rc = rpmpsmNext(psm, PSM_RPMDB_LOAD);
- if (rc == RPMRC_OK && psm->te)
- rpmteSetHeader(psm->te, fi->h);
+ /* XXX preserve RPMDB_LOAD behavior for now */
+ fi->h = rpmteHeader(psm->te);
}
break;
case PSM_PRE: