RPM installation order

Jerry James loganjerry at gmail.com
Mon Nov 30 17:29:31 UTC 2009


I'm looking into a gcl bug (I maintain gcl):
https://bugzilla.redhat.com/show_bug.cgi?id=541050.

The problem appears to be that the order of RPM installation is
unpredictable.  There is a subpackage, gcl-selinux, which provides
policy files for use by other packages that build executables with
gcl.  That package installs a policy, gcl.pp, and then does this in
%post:

/usr/sbin/semodule -i %{_datadir}/selinux/packages/gcl/gcl.pp || :
/sbin/fixfiles -R gcl restore || :

This works great when the main gcl package is installed first,
followed by the gcl-selinux package.  However, sometimes RPM installs
them in the other order.  When that happens, the fixfiles invocation
fails because the main package hasn't been installed yet.  Then, once
the main package is installed, the saved gcl image has the wrong
SELinux type, leading to the symptoms described in that bug.

Is there a canonical way of dealing with such issues?  I need to run
fixfiles after BOTH gcl and gcl-selinux have been installed.  How can
I ensure that?  (I suppose I could invoke fixfiles in %post scripts
for both gcl and gcl-selinux, so that whichever one runs last does the
right thing, but that seems unclean.)  Thank you,
-- 
Jerry James
http://www.jamezone.org/




More information about the fedora-devel-list mailing list