]>
code.delx.au - monosys/blob - clean-dkms
4 linux_packages
="linux linux-lts"
6 declare -A module2package
7 module2package
[nvidia
]="$(pacman -Qqs nvidia dkms)"
8 module2package
[vboxhost
]=virtualbox-host-dkms
9 module2package
[broadcom-wl
]=broadcom-wl-dkms
10 module2package
[spl
]=spl-dkms
11 module2package
[zfs
]=zfs-dkms
13 echo "# Running: $(uname -r)"
14 for linux
in $linux_packages; do
15 echo "# Installed: $(pacman -Q "$linux")"
19 find /var
/lib
/dkms
/ -maxdepth 2 -type l
-name 'kernel-*' |
while read line
; do
20 module_name
="$(echo "$line" | cut -d/ -f5)"
21 package_name
="${module2package[$module_name]}"
22 if [ -z "$package_name" ]; then
23 echo "Unknown module: $module_name"
26 module_version
="$(pacman -Q "${package_name}" | cut -d' ' -f2 | cut -d'-' -f1)"
27 long_kernel_version
="$(echo "$line" | cut -d/ -f6)"
28 kernel_version
="$(echo "$long_kernel_version" | sed -e 's/^kernel-//' -e "s
/-${architecture}\$
//")"
29 if [ "$kernel_version" = "$(uname -r)" ]; then
32 echo dkms remove
-m "$module_name" -v "$module_version" -k "$kernel_version"
36 find /lib
/modules
/ -maxdepth 1 -type d
-name '[0-9]*' |
while read line
; do
37 if pacman
-Qo "$line" &> /dev
/null
; then