Comment # 55 on bug 1182666 from
(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.


You are receiving this mail because: