[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Problem in rollback of failed transactions...



On Tue, Jun 03, 2003 at 06:15:02PM -0400, James Olin Oden wrote:
> > 
> OK, so what is the flow of an upgrade of an rpm?  I think this is what
> I am stumbling over.  Does PSM_PKGERASE not get called automatically, at
> the end of stages for a PSM_PKGINSTALL when rpm is running an upgrade?

The traditional flow is install (i.e. PKGINSTALL) before erase (i.e. PKGERASE).

This requires all file dispositions to be precomputed so rpm doesn't
erase files that were just installed.

Repackaging (i.e. PKGSAVE) happens before PKGINSTALL.

Rollbacks, at least conceptually, are entirely deterministic, all the
elements are known, there are no surprises, no dependency checks, no
(at least hard fail) ordering constraints, because rollbacks retrace
a path that has already been travelled.

Yes, there are side effects like ENOSPC or missing files or failing
scriptlets, basically what you are trying to implement.

But a rollback transaction is just a mixed transaction, reinstalling
what was removed, erasing what was installed, in the order (for a single
package name)
	PKGINSTALL
	PKGERASE
depending on the partial ordering of the packages in the transaction set.

(no PKGSAVE because repackaging reinstalled packages ain't been attempted
yet).

73 de Jeff

-- 
Jeff Johnson	ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []