post_install() { dkms install -m douane -v ${1%%-*} } pre_upgrade() { local curver=${2%%-*} # $2 is unset due to a bug. Query current version using pacman as fallback [ -n "$curver" ] || curver=$(pacman -Qi douane-dkms | awk '/^Version/{print $3}') pre_remove $curver } post_upgrade() { post_install ${1%%-*} } pre_remove() { dkms remove -m douane -v ${1%%-*} --all }