Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 2b8a341bff6ec3421e0dba4e70d0184a > files > 14

dkms-2.0.19-30.mga3.src.rpm


 dkms                 |   30 ++++++++++++++++-
 dkms.bash-completion |    2 -
 dkms_mkkerneldoth    |   87 +++++++++++++++++++++++++++++++++++++--------------
 3 files changed, 93 insertions(+), 26 deletions(-)

diff -Nurp dkms-2.0.19.orig/dkms dkms-2.0.19/dkms
--- dkms-2.0.19.orig/dkms	2011-12-25 16:13:56.000000000 +0200
+++ dkms-2.0.19/dkms	2011-12-25 16:52:20.446673129 +0200
@@ -870,6 +870,7 @@ function prepare_kernel()
 
     if [[ (! ( $(VER $1) < $(VER 2.6.5) ) || (-d /etc/SuSEconfig)) && \
        -d "$kernel_source_dir" && \
+       ! -L "$kernel_source_dir" && \
        -z "$ksourcedir_fromcli" ]]; then
 	echo $""
 	echo $"Kernel preparation unnecessary for this kernel.  Skipping..."
@@ -886,7 +887,28 @@ function prepare_kernel()
     [ -n "$config_contents" ] && echo $"Storing current .config to be restored when complete"
 
     # Set kernel_config
-    if [ -e /etc/redhat-release ] || [ -e /etc/fedora-release ]; then
+    if [ -e /etc/mageia-release ]; then
+	if [ -z "$kernel_config" ] && [ -d "$kernel_source_dir/arch" ]; then
+	    local kernel_trunc=`echo $1 | sed 's/-.*//'`
+            if [ "$2" == "i586" ] || [ "$2" == "i686" ]; then
+                config_arch="i386"
+            else
+                config_arch=$2
+            fi
+	    # x86
+	    for config_type in desktop586 desktop netbook server xen-pvops; do
+		[ `echo "$1" | grep "$config_type"` ] && kernel_config="$kernel_source_dir/arch/x86/configs/$config_arch_defconfig-$config_type"
+		[ ! -e "$kernel_config" ] && kernel_config=""
+	    done
+	    # arm
+	    for config_type in iop32x kirkwood versatile; 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/configs/defconfig"
+	    [ ! -e "$kernel_config" ] && kernel_config=""
+	fi
+    elif [ -e /etc/redhat-release ] || [ -e /etc/fedora-release ]; then
 	if [ -z "$kernel_config" ] && [ -d "$kernel_source_dir/configs" ]; then
 	    local kernel_trunc=`echo $1 | sed 's/-.*//'`
 	    for config_type in debug summit smp enterprise bigmem hugemem BOOT; do
@@ -924,7 +946,11 @@ function prepare_kernel()
 	invoke_command "make KERNELRELEASE=$1 cloneconfig" "make cloneconfig" background
 	invoke_command "make CONFIG_MODVERSIONS=1 KERNELRELEASE=$1 dep" "make CONFIG_MODVERSIONS=1 dep" background
     elif grep -q rhconfig.h $kernel_source_dir/include/linux/{modversions,version}.h 2>/dev/null; then
-	echo $"Running Red Hat style preparation routine"
+ 	if [ -e /etc/mageia-release ]; then
+ 	    echo $"Running Mageia style preparation routine"
+ 	else
+ 	    echo $"Running Red Hat style preparation routine"
+ 	fi
 	invoke_command "make clean" "make clean" background
 	[ -n "$config_contents" ] && echo "$config_contents" > .config
 
diff -Nurp dkms-2.0.19.orig/dkms.bash-completion dkms-2.0.19/dkms.bash-completion
--- dkms-2.0.19.orig/dkms.bash-completion	2007-06-21 22:51:48.000000000 +0300
+++ dkms-2.0.19/dkms.bash-completion	2011-12-25 16:14:37.988403333 +0200
@@ -1,5 +1,5 @@
 # bash completion for dkms
-# Copied from the Mandriva dkms package
+# Copied from the Mageia dkms package
 
 # This function complete on available kernels
 #
diff -Nurp dkms-2.0.19.orig/dkms_mkkerneldoth dkms-2.0.19/dkms_mkkerneldoth
--- dkms-2.0.19.orig/dkms_mkkerneldoth	2007-08-31 22:54:16.000000000 +0300
+++ dkms-2.0.19/dkms_mkkerneldoth	2011-12-25 16:26:20.513721439 +0200
@@ -44,8 +44,8 @@ while [ $# -gt 0 ]; do
 done
 
 
-KERNEL_TYPE=`echo ${kernel_version} | sed 's_^.*\(BOOT\|smp\|enterprise\|bigmem\|hugemem\|debug\|vmnix\)$_-\1_;t;s_.*__;'`
-KERNEL_RELEASE=`echo ${kernel_version} | sed 's|BOOT\|smp\|enterprise\|bigmem\|hugemem\|debug||g'`
+KERNEL_TYPE=`echo ${kernel_version} | sed 's_^.*\(desktop586\|desktop\|netbook\|server\|xen-pvops\|iop32x\|kirkwood\|versatile\)$_-\1_;t;s_.*__;'`
+KERNEL_RELEASE=`echo ${kernel_version} | sed 's|desktop586\|desktop\|netbook\|server\|xen-pvops\|iop32x\|kirkwood\|versatile\|debug||g'`
 
 if [ -n "${target_arch}" ]; then
     KERNEL_ARCH="${target_arch}"
@@ -54,29 +54,69 @@ else
 fi
 
 if [ -n "$KERNEL_ARCH" ]; then
-  ENTERPRISE='0'
-  SMP='0'
-  UP='0'
-  BIGMEM='0'
-  HUGEMEM='0'
-  BOOT='0'
-  DEBUG='0'
-  VMNIX='0'
+  DESKTOP586='0'
+  DESKTOP='0'
+  NETBOOK='0'
+  SERVER='0'
+  XEN_PVOPS='0'
+  IOP32X='0'
+  KIRKWOOD='0'
+  VERSATILE='0'
   case "$KERNEL_TYPE" in
-  -BOOT)
-	  BOOT='1'
-	  if [ "${KERNEL_ARCH}" = "i686" ] || [ "${KERNEL_ARCH}" = "i586" ] || [ "${KERNEL_ARCH}" = "athlon" ]; then
-	      KERNEL_ARCH="i386"
-	  fi
-	  ;;
-  -smp) SMP='1';;
-  -enterprise) ENTERPRISE='1';;
-  -bigmem) BIGMEM='1';;
-  -hugemem) HUGEMEM='1';;
-  -vmnix) VMNIX='1';;
-  *) UP='1';;
+  -desktop586) DESKTOP586='1';;
+  -desktop) DESKTOP='1';;
+  -netbook) NETBOOK='1';;
+  -server) SERVER='1';;
+  -xen-pvops) XEN_PVOPS='1';;
+  -iop32x) IOP32X='1';;
+  -kirkwood) KIRKWOOD='1';;
+  -versatile) VERSATILE='1';;
   esac
-  cat > ${output_file} << EOF
+
+  if [ -e /etc/mageia-release ]; then
+    cat > ${output_file} << EOF
+/* This file is automatically generated at boot time. */
+#ifndef __BOOT_KERNEL_H_
+#define __BOOT_KERNEL_H_
+
+/* Kernel type $KERNEL_TYPE */
+
+#ifndef __BOOT_KERNEL_DESKTOP586
+#define __BOOT_KERNEL_DESKTOP586 $DESKTOP586
+#endif
+
+#ifndef __BOOT_KERNEL_DESKTOP
+#define __BOOT_KERNEL_DESKTOP $DESKTOP
+#endif
+
+#ifndef __BOOT_KERNEL_NETBOOK
+#define __BOOT_KERNEL_NETBOOK $NETBOOK
+#endif
+
+#ifndef __BOOT_KERNEL_SERVER
+#define __BOOT_KERNEL_SERVER $SERVER
+#endif
+
+#ifndef __BOOT_KERNEL_XEN_PVOPS
+#define __BOOT_KERNEL_XEN_PVOPS $XEN_PVOPS
+#endif
+
+#ifndef __BOOT_IOP32X
+#define __BOOT_IOP32X $IOP32X
+#endif
+
+#ifndef __BOOT_KERNEL_KIRKWOOD
+#define __BOOT_KERNEL_KIRKWOOD $KIRKWOOD
+#endif
+
+#ifndef __BOOT_KERNEL_VERSATILE
+#define __BOOT_KERNEL_VERSATILE $VERSATILE
+#endif
+
+#endif
+EOF
+  elif [ -e /etc/redhat-release ] || [ -e /etc/fedora-release ]; then
+    cat > ${output_file} << EOF
 /* This file is automatically generated at boot time. */
 #ifndef __BOOT_KERNEL_H_
 #define __BOOT_KERNEL_H_
@@ -120,4 +160,5 @@ if [ -n "$KERNEL_ARCH" ]; then
 #endif
 #endif
 EOF
+  fi
 fi