From 7cc486719fc1e1088de3d1b195d6f4bfe97d3803 Mon Sep 17 00:00:00 2001 From: Eugene Shatokhin Date: Wed, 22 Apr 2015 10:35:53 +0300 Subject: [PATCH 1/2] Always regenerate initrd Even if it already exists. This may happen if kernel-<...>-devel is installed first, triggers rebuild of DKMS modules and some of these request remaking of initrd. The initrd that is created then will be non-functional. But when the user installs kernel-<...> package, that defunct initrd will be replaced with a working one here. --- kernel.spec | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kernel.spec b/kernel.spec index 6de57a7..7291a48 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1487,14 +1487,16 @@ EOF %endif ### Create kernel Post script +# We always regenerate initrd here, even if it already exists. This may +# happen if kernel-<...>-devel is installed first, triggers rebuild of +# DKMS modules and some of these request remaking of initrd. The initrd +# that is created then will be non-functional. But when the user installs +# kernel-<...> package, that defunct initrd will be replaced with a working +# one here. cat > $kernel_files-post < /dev/null From b3ad450eba0c5e0476715e86d233d2835276f60d Mon Sep 17 00:00:00 2001 From: Eugene Shatokhin Date: Wed, 22 Apr 2015 10:42:42 +0300 Subject: [PATCH 2/2] Try harder to clean up after package uninstallation --- kernel.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel.spec b/kernel.spec index 7291a48..a2a233e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1426,6 +1426,9 @@ EOF ### Create -devel Postun script on the fly cat > $kernel_devel_files-postun </dev/null +# depmod (called when removing DKMS modules) might have created files in +# /lib/modules/.../. Remove these first. +rm -rf /lib/modules/$KernelVer/modules* # Remove the dir if it is already empty. find /lib/modules/$KernelVer -maxdepth 0 -empty -exec rm -rf {} \; || true EOF @@ -1533,6 +1536,9 @@ EOF cat > $kernel_files-postun </ if it is empty (-devel uses it too). find /lib/modules/$KernelVer -maxdepth 0 -empty -exec rm -rf {} \; || true EOF