aboutsummaryrefslogtreecommitdiffstats
path: root/rpm/generic
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2015-09-30 09:26:21 -0700
committerBrian Behlendorf <[email protected]>2015-10-02 11:17:22 -0700
commit3e1e4c735c4452c137443d7e7dfbe75447dc8e00 (patch)
tree297c4665574f2ebbccf5463921dc646e009b8954 /rpm/generic
parent2ebe396046c99ea191a51f24658273fd860b88c4 (diff)
Fix spl-dkms uninstall/update
Modern versions of dkms cleanup the build directory after installing. This resulted in 'dkms uninstall' never running because the check added by commit 4cdcdbf which verifies the existence of the spl.release build product would never be true. This patch resolves the issue by updating the conditional to check in the explicitly installed spl_config.h file for the version. Signed-off-by: Brian Behlendorf <[email protected]> Closes #478
Diffstat (limited to 'rpm/generic')
-rw-r--r--rpm/generic/spl-dkms.spec.in11
1 files changed, 6 insertions, 5 deletions
diff --git a/rpm/generic/spl-dkms.spec.in b/rpm/generic/spl-dkms.spec.in
index 6d8e058cb..ac0ddd369 100644
--- a/rpm/generic/spl-dkms.spec.in
+++ b/rpm/generic/spl-dkms.spec.in
@@ -62,12 +62,13 @@ echo -e "support or upgrade DKMS to a more current version."
exit 1
%preun
-# Only remove the modules if they are for this %{version}-%{release}. A
-# package upgrade can replace them if only the %{release} is changed.
-RELEASE="/var/lib/dkms/%{module}/%{version}/build/%{module}.release"
-if [ -f $RELEASE ] && [ `cat $RELEASE`%{?dist} = "%{version}-%{release}" ]; then
+CONFIG_H="/var/lib/dkms/%{module}/%{version}/*/*/%{module}_config.h"
+SPEC_META_ALIAS="@PACKAGE@-@VERSION@-@RELEASE@"
+DKMS_META_ALIAS=`cat $CONFIG_H 2>/dev/null |
+ awk -F'"' '/META_ALIAS/ { print $2; exit 0 }'`
+if [ "$SPEC_META_ALIAS" = "$DKMS_META_ALIAS" ]; then
echo -e
- echo -e "Uninstall of %{module} module (version %{version}) beginning:"
+ echo -e "Uninstall of %{module} module ($SPEC_META_ALIAS) beginning:"
dkms remove -m %{module} -v %{version} --all --rpm_safe_upgrade
fi
exit 0