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 package prein
%post
of new package postin
%preun
of old package%postun
of old package%posttrans
of new packageHowever 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...
RPM spec files have several sections which allow packages to run code on installation and removal. These bits of code are called scriptlets and are mostly used to update the running system with information from the package.
%pre of new package. (package install) %post of new package. %preun of old package. (removal of old package)
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
requires primary
), the order is:
%pretrans
of primary
%pretrans
of secondary
%pre
of primary
primary
%post
of primary
%pre
of secondary
secondary
%post
of secondary
%posttrans
of primary
%posttrans
of secondary
When removing these packages at once, the order is:
%preun
of secondary
secondary
%postun
of secondary
%preun
of primary
primary
$postun
of primary
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With