(In reply to Stefan Dirsch from comment #53) > Hmm. I believe the behaviour is correct. You need to look for %triggerpostun > script, not the %postun script. My bad, this was probably my first time seriously looking into triggers/scripts of an RPM. But yes, this looks correct, I just wanted to find out for myself how it happens and to confirm that. > # rpm --triggers -q nvidia-gfxG05-kmp-default > triggerpostun scriptlet (using /bin/sh) -- kernel-default > for dir in $(find /lib/modules -mindepth 1 -maxdepth 1 -type d); do > if [ ! -d $dir/kernel ]; then > test -d $dir/updates && rm -f $dir/updates/nvidia*.ko > fi > done > > modules in updates/ are only removed if there is no kernel/ subdir any > longer, i.e. no modules are longer installed. >Also during an update %triggerpostun is the last which is being executed. > >https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#ordering > >At that time there should exist a /lib/modules/<kernel-version>/kernel/ directory. Now this is where I think the problem is. In this particular situation - a minor kernel version bump seems to be handled neither like a regular kernel update and neither like a normal package update. This "update" is basically a normal uninstall of the old version, there's no /lib/modules/$kernel/kernel/ directory anymore because it belongs to kernel-default package, the triggerpostun then deletes those Nvidia modules, a normal installation of the new kernel-default begins. So I think were back to the same solutions where something should be done from the kernel packaging side. I think potentially it's not just a problem with Nvidia drivers but other packages that handle modules in a similar fashion could be affected.