a couple dkms fixes

Matt Domsch Matt_Domsch at dell.com
Wed Oct 10 16:18:33 CDT 2007


Here are a couple fixes I've applied to DKMS today.  If either of
these problems affected you, please apply this on top of dkms-2.0.17.4
and let me know if they work for you.

commit 820fa2937f4f77042f61ac25bea06beb14adcd0b
Author: Matt Domsch <Matt_Domsch at dell.com>
Date:   Wed Oct 10 15:55:49 2007 -0500

    uninstall from /extra before DEST_MODULE_LOCATION
    
    https://bugzilla.redhat.com/show_bug.cgi?id=264981
    
    It only fails when uninstalling something for which there's already
    one elsewhere in the tree - e.g. in both kernel/fs/fuse and extras/.
    Turns out, this function here was returning the lookup in the wrong
    order, so it would delete the one in kernel/fs/fuse rather than
    deleting the one in extras/ like it should.  It needs to delete from
    extras/ first.

commit feced0867b17bfe7a358b9cadf4f78d992558c40
Author: Matt Domsch <Matt_Domsch at dell.com>
Date:   Wed Oct 10 15:18:37 2007 -0500

    call udevtrigger if we install a module for the currently running kernel


diff --git a/dkms b/dkms
index 13dbc54..d199893 100755
--- a/dkms
+++ b/dkms
@@ -1247,6 +1247,11 @@ function install_module()
 	fi
     fi
 
+    # Notify udev if we installed something for the currently running kernel
+    if [ -x /sbin/udevtrigger -a "${kernelver_array[0]}" == "$(uname -r)" -a "${arch_array[0]}" == "$(uname -m)" ]; then
+	/sbin/udevtrigger
+    fi
+
     echo $""
     echo $"DKMS: install Completed."
 }
@@ -1451,9 +1456,9 @@ function possible_dest_module_locations()
     # override_dest_module_location() is what controls whether or not they're the same.
 
     local location
-    location[0]="${DEST_MODULE_LOCATION[$count]}"
-    [ "${location[0]}" != "${dest_module_location[$count]}" ] && \
-	location[1]="${dest_module_location[$count]}"
+    location[0]="${dest_module_location[$count]}"
+    [ "${DEST_MODULE_LOCATION[$count]}" != "${dest_module_location[$count]}" ] && \
+	location[1]="${DEST_MODULE_LOCATION[$count]}"
 
     echo "${location[0]} ${location[1]}"
 }
diff --git a/dkms_autoinstaller b/dkms_autoinstaller
index e06c7c1..b204e72 100755
--- a/dkms_autoinstaller
+++ b/dkms_autoinstaller
@@ -148,3 +148,5 @@ case "$1" in
   *)
 	echo $"Usage: $0 {start|stop}"
 esac
+
+exit 0



-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux



More information about the DKMS-devel mailing list