Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > 11f8811dd099108b9b085aa5e87a458e > files > 18

dkms-2.0.19-24.mga1.src.rpm

--- dkms-2.0.19/dkms.procconfig	2009-03-11 11:36:32.000000000 +0100
+++ dkms-2.0.19/dkms	2009-03-11 11:37:19.000000000 +0100
@@ -899,12 +899,18 @@ function prepare_kernel()
             else
                 config_arch=$2
             fi
-	    for config_type in BOOT smp enterprise secure i586-up-1GB i686-up-4GB p3-smp-64GB desktop586 desktop laptop server; do
-		[ `echo "$1" | grep "$config_type"` ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig-$config_type"
-		[ ! -e "$kernel_config" ] && kernel_config=""
-	    done
-	    [ -z "$kernel_config" ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig"
-	    [ ! -e "$kernel_config" ] && kernel_config=""
+	    if [ "$1" == `uname -r` ] && [ -e "/proc/config.gz" ]; then
+		kernel_config="/proc/config.gz"
+   	    elif [ -e "/boot/config-$1" ]; then 
+	        kernel_config="/boot/config-$1"
+            else
+	        for config_type in BOOT smp enterprise secure i586-up-1GB i686-up-4GB p3-smp-64GB desktop586 desktop laptop server; do
+		    [ `echo "$1" | grep "$config_type"` ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig-$config_type"
+		    [ ! -e "$kernel_config" ] && kernel_config=""
+	        done
+	        [ -z "$kernel_config" ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig"
+	        [ ! -e "$kernel_config" ] && kernel_config=""
+	    fi
 	fi
     elif [ -e /etc/redhat-release ] || [ -e /etc/fedora-release ]; then
 	if [ -z "$kernel_config" ] && [ -d "$kernel_source_dir/configs" ]; then
@@ -954,7 +960,11 @@ function prepare_kernel()
 
 	if [ -n "$kernel_config" ]; then
 	    echo $"using $kernel_config"
-	    cp -f "$kernel_config" .config
+	    if file -b -i "$kernel_config" | grep -q "application/x-gzip"; then
+		    zcat "$kernel_config" > .config
+	    else
+		    cp -f "$kernel_config" .config
+	    fi
 	elif [ -e .config ]; then
 	    echo $"using $kernel_source_dir/.config"
 	    echo $"(I hope this is the correct config for this kernel)"
@@ -981,7 +991,11 @@ function prepare_kernel()
 
 	if [ -n "$kernel_config" ]; then
 	    echo $"using $kernel_config"
-	    cp -f "$kernel_config" .config
+	    if file -b -i "$kernel_config" | grep -q "application/x-gzip"; then
+		    zcat "$kernel_config" > .config
+	    else
+		    cp -f "$kernel_config" .config
+	    fi
 	elif [ -e .config ]; then
 	    echo $"using $kernel_source_dir/.config"
 	    echo $"(I hope this is the correct config for this kernel)"