%postun execution order within transaction
Matt Grimm
mgrimm at gci.com
Thu Jul 22 00:10:10 UTC 2010
Thanks Jeff, the output of "rpm -vv -e" was very useful. It showed that the actual execution sequence was how I had initially expected (%postun executed for each package immediately after that package's files are erased).
-----Original Message-----
From: Jeff Johnson [mailto:n3npq at mac.com]
Sent: Wednesday, July 21, 2010 3:51 PM
To: Matt Grimm
Subject: Re: %postun execution order within transaction
On Jul 21, 2010, at 6:46 PM, Matt Grimm wrote:
> Hello,
>
> I'm trying to determine exactly when the %postun scripts are executed for a group of packages being removed in a single transaction. Does each package's postun script run immediately after it is uninstalled, or do they all run at once after every package in the transaction has been removed?
>
> To illustrate, say I have a primary package called "program" and another package that depends on it called "program-module". The postun script in "program-module" requires a certain executable from "program", so if both package's files are erased first, then their postun scripts are executed, the postun script for "program-module" will always fail!
>
> I would have expected the order of operations to look like this:
>
> Erase package "program-module"
> Run %postun for "program-module"
> Erase package "program"
> Run %postun for "program"
>
> But it looks like this might be closer to what is happening:
>
> Erase package "program-module"
> Erase package "program"
> Run %postun for "program-module"
> Run %postun for "program"
>
> Thanks for any insight,
There are 2 ways to determine what RPM does:
1) add -vv and examine the spewage for a real world test case.
2) see /usr/share/doc/rpm-x.y/triggers (where the complete
state machine ordering is documented at the bottom).
hth
73 de Jeff
More information about the Rpm-list
mailing list