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@xxxxxxx] 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 _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxxxxx http://lists.rpm.org/mailman/listinfo/rpm-list