[Drbd-dev] fix %preun script in drbd-km.spec from 8.3 package

Lars Ellenberg lars.ellenberg at linbit.com
Mon Oct 29 11:22:33 CET 2012


On Fri, Oct 26, 2012 at 01:03:01PM +0000, Alessandro Bono wrote:
> Hi
> 
> %preun script in drbd-km.spec try to unload drbd.ko if present without check kernel version running
> without this patch it's not possible to remove drbd-km package of old kernel

... unless you first unload the current DRBD module as well,
or use rpm -e --noscript.

Which in fact is intentional, to prevent people from "accidentally"
uninstall a module package while the provided module is still in use
(it may have been symlinked in place into some other kernel version
 by some weak-module magic, or explicitly).

But yes, it may be annoying at times.

So maybe
filename=$(modinfo -F filename drbd)
filename=$(readlink "$filename")
rpm -qf $filename
and check if that is in fact the current package?

> --- drbd-8.3.13/drbd-km.spec    2012-10-26 13:43:43.163366400 +0200
> +++ drbd-8.3.13.my/drbd-km.spec 2012-10-26 13:44:33.368384889 +0200
> @@ -80,10 +80,12 @@
>  rm -rf %{buildroot}
> 
>  %preun %{krelver}
> +if [ 'uname -r' = %{kernelversion} ]; then
>  lsmod | grep drbd > /dev/null 2>&1
>  if [ $? -eq 0 ]; then
>      rmmod drbd
>  fi
> +fi
> 
>  %post %{krelver}
>  # hack for distribution kernel packages,                                  

-- 
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com


More information about the drbd-dev mailing list