I'm working on a bug in our rpm scriptlets which is probably originating from order in which our scriptlets are executed during package install/removal/upgrade. We are using yum on Redhat Enterprise.
Obviously I first need a good understanding of the order of the rpm scriptlets - and interestingly enough I have not found a good summary of this anywhere.
From what I gather this is the scriptlet ordering for upgrades:
%pretrans
of new package%pre
of new packageprein
- package install
%post
of new packagepostin
%preun
of old package- removal of old package
%postun
of old package%posttrans
of new package
However it doesn't list the scriptlet orderings for installing a new package not previously on the system (i.e. not an upgrade) and for removing one? From the above ordering I am able to guess how these orderings might look, but I'd like to get some educated opinion on this as well...
Package order for installing a single package for the first time:
%pretrans
of new package%pre
of new package%post
of new package%posttrans
of new packagePackage order for removing a single package:
%preun
of old package%postun
of old packageIf you are installing two different packages at once (e.g.
primary
,secondary
), where one depends on the other (secondary
requiresprimary
), the order is:%pretrans
ofprimary
%pretrans
ofsecondary
%pre
ofprimary
primary
%post
ofprimary
%pre
ofsecondary
secondary
%post
ofsecondary
%posttrans
ofprimary
%posttrans
ofsecondary
When removing these packages at once, the order is:
%preun
ofsecondary
secondary
%postun
ofsecondary
%preun
ofprimary
primary
$postun
ofprimary
Your educated guess is correct - only the steps that are relevant.