diff options
Diffstat (limited to 'kernel_prerm.d_dkms')
-rwxr-xr-x | kernel_prerm.d_dkms | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel_prerm.d_dkms b/kernel_prerm.d_dkms new file mode 100755 index 0000000..aeb8e3a --- /dev/null +++ b/kernel_prerm.d_dkms @@ -0,0 +1,18 @@ +#!/bin/sh + +# We're passed the version of the kernel being removed +inst_kern=$1 + +if command -v dkms > /dev/null; then + dkms status -k "$inst_kern" 2>/dev/null | while IFS=",:/ " read -r name vers _ arch status; do + [ "$status" = "installed" ] || continue + echo "dkms: removing: $name $vers ($inst_kern) ($arch)" >&2 + dkms remove -m "$name" -v "$vers" -k "$inst_kern" -a "$arch" + done +fi + +rmdir --ignore-fail-on-non-empty \ + "/lib/modules/$inst_kern/updates/dkms" \ + "/lib/modules/$inst_kern/updates" 2>/dev/null + +exit 0 |