Hmm, in this case only deleting the cache file helped :-/ I know it's hard to find out in hindsight, but do you remember if the cache file you deleted had a newer timestamp than the profile in the apparmor-profiles rpm installed during zypper up? Anyway, I think there are two things I need to fix: 1. The timestamp of the precompiled cache (/usr/share/apparmor/cache/) is older than the profiles. cp -r instead of cp -a for copying the cache in %install will fix that, and should prevent generation of cache files in /var/cache/apparmor (you might need to delete the content of /var/cache/apparmor to see this effect - nevertheless I'm not sure if I should do that in %post. Note that this is just about getting rid of some files in /var/cache/apparmor, but together with 2 the cache file shouldn't hurt.) 2. Reloading the profiles (which also means updating the cache) is done in %post of apparmor-profiles _and_ apparmor-abstractions. Unfortunately the first reload happens when only one of the packages got updated, therefore the cache is based on a half-updated state. When the second package gets updated, the cache is new enough (newer than the packaged profiles) and won't get updated again. The change for 1 makes it less likely that this happens, but to be sure, I'll move reloading the profiles from %post to %posttrans. I just submitted a package with these fixes to home:cboltz/apparmor. Can you please test if you still can reproduce the issue with these packages? (Please do NOT delete any cache files manually before installing the packages to get a real-world result. You should get updated cache files in /var/cache/apparmor/, probably with the same content/checksum as in /usr/share/apparmor/cache/.)