Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > e5f4880dd4fb4bb2a0c92ea012333474 > files > 1

dkms-2.0.17-13mdv2008.0.src.rpm

--- dkms-2.0.13/dkms.mdkize	2006-08-11 05:19:21.000000000 -0400
+++ dkms-2.0.13/dkms	2006-08-11 05:19:21.000000000 -0400
@@ -811,6 +811,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..."
@@ -827,14 +828,19 @@ 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 [ -z "$kernel_config" ] && [ -d "$kernel_source_dir/configs" ]; then
+    if [ -e /etc/mandriva-release ]; then
+	if [ -z "$kernel_config" ] && [ -d "$kernel_source_dir/arch" ]; then
 	    local kernel_trunc=`echo $1 | sed 's/-.*//'`
-	    for config_type in debug summit smp enterprise bigmem hugemem BOOT; do
-		[ `echo "$1" | grep "$config_type"` ] && kernel_config="$kernel_source_dir/configs/kernel-$kernel_trunc-$2-$config_type.config"
+            if [ "$2" == "i586" ] || [ "$2" == "i686" ]; then
+                config_arch="i386"
+            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/configs/kernel-$kernel_trunc-$2.config"
+	    [ -z "$kernel_config" ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig"
 	    [ ! -e "$kernel_config" ] && kernel_config=""
 	fi
     elif [ -e /etc/SuSE-release ] || [ -d /etc/SuSEconfig ]; then
@@ -852,8 +858,18 @@ function prepare_kernel()
 	    [ -z "$kernel_config" ] && kernel_config="$kernel_source_dir/arch/$config_arch/defconfig.default"
 	    [ ! -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
+		[ `echo "$1" | grep "$config_type"` ] && kernel_config="$kernel_source_dir/configs/kernel-$kernel_trunc-$2-$config_type.config"
+		[ ! -e $kernel_config ] && kernel_config=""
+	    done
+	    [ -z "$kernel_config" ] && kernel_config="$kernel_source_dir/configs/kernel-$kernel_trunc-$2.config"
+	    [ ! -e $kernel_config ] && kernel_config=""
+	fi
     fi
-  
+
     # Do preparation
     if [ -e /boot/vmlinuz.version.h ]; then
 	echo $"Running UnitedLinux preparation routine"
@@ -865,7 +881,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/mandriva-release ]; then
+ 	    echo $"Running Mandriva Linux 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
 
--- dkms-2.0.13/dkms_mkkerneldoth.mdkize	2006-06-29 10:31:25.000000000 -0400
+++ dkms-2.0.13/dkms_mkkerneldoth	2006-08-11 05:19:36.000000000 -0400
@@ -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\|laptop\|server\|BOOT\|smp\|xen0\|legacy\|enterprise\|i586-up-1GB\|i686-up-4GB\|p3-smp-64GB\|secure\|bigmem\|hugemem\|debug\|vmnix\)$_-\1_;t;s_.*__;'`
+KERNEL_RELEASE=`echo ${kernel_version} | sed 's|desktop586\|desktop\|laptop\|server\|BOOT\|smp\|xen0\|legacy\|enterprise\|i586-up-1GB\|i686-up-4GB\|p3-smp-64GB\|secure\|bigmem\|hugemem\|debug||g'`
 
 if [ -n "${target_arch}" ]; then
     KERNEL_ARCH="${target_arch}"
@@ -60,8 +60,15 @@ if [ -n "$KERNEL_ARCH" ]; then
   BIGMEM='0'
   HUGEMEM='0'
   BOOT='0'
+  I586_UP_1GB='0'
+  I686_UP_4GB='0'
+  P3_SMP_64GB='0'
+  SECURE='0'
   DEBUG='0'
   VMNIX='0'
+  XEN0='0'
+  LEGACY='0'
+  DEFAULT='0'
   case "$KERNEL_TYPE" in
   -BOOT)
 	  BOOT='1'
@@ -70,13 +77,86 @@ if [ -n "$KERNEL_ARCH" ]; then
 	  fi
 	  ;;
   -smp) SMP='1';;
+  -xen0) XEN0='1';;
+  -legacy) LEGACY='1';;
   -enterprise) ENTERPRISE='1';;
+  -i586-up-1GB) I586_UP_1GB='1';;
+  -i686-up-4GB) I686_UP_4GB='1';;
+  -p3-smp-64GB) P3_UP_64GB='1';;
+  -secure) SECURE='1';;
   -bigmem) BIGMEM='1';;
   -hugemem) HUGEMEM='1';;
   -vmnix) VMNIX='1';;
   *) UP='1';;
   esac
-  cat > ${output_file} << EOF
+
+  # since 2.6.17-2mdv, default kernels can be SMP enabled by
+  # default, hence a new name
+  mdk="md[kv]"
+  echo "$UP:${kernel_version}" | grep -q "^1:.*$mdk" && {
+    case ${kernel_version} in
+      # XXX simpler to maintain a skip list
+      [01].*|2.[0-5].*|2.6.[0-9]-*|2.6.1[0-6]-*|2.6.17-1mdk);;
+      *) UP=0; DEFAULT=1;;
+    esac
+  }
+
+  if [ -e /etc/mandriva-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_ENTERPRISE
+#define __BOOT_KERNEL_ENTERPRISE $ENTERPRISE
+#endif
+
+#ifndef __BOOT_KERNEL_SECURE
+#define __BOOT_KERNEL_SECURE $SECURE
+#endif
+ 
+#ifndef __BOOT_KERNEL_I586_UP_1GB
+#define __BOOT_KERNEL_I586_UP_1GB $I586_UP_1GB
+#endif
+ 
+#ifndef __BOOT_KERNEL_I686_UP_4GB
+#define __BOOT_KERNEL_I686_UP_4GB $I686_UP_4GB
+#endif
+ 
+#ifndef __BOOT_KERNEL_P3_SMP_4GB
+#define __BOOT_KERNEL_P3_SMP_4GB $P3_SMP_4GB
+#endif
+ 
+#ifndef __BOOT_KERNEL_SMP
+#define __BOOT_KERNEL_SMP $SMP
+#endif
+ 
+#ifndef __BOOT_KERNEL_UP
+#define __BOOT_KERNEL_UP $UP
+#endif
+ 
+#ifndef __BOOT_KERNEL_BOOT
+#define __BOOT_KERNEL_BOOT $BOOT
+#endif
+ 
+#ifndef __BOOT_KERNEL_LEGACY
+#define __BOOT_KERNEL_LEGACY $LEGACY
+#endif
+ 
+#ifndef __BOOT_KERNEL_DEFAULT
+#define __BOOT_KERNEL_DEFAULT $DEFAULT
+#endif
+ 
+#ifndef __BOOT_KERNEL_XEN0
+#define __BOOT_KERNEL_XEN0 $XEN0
+#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 +200,5 @@ if [ -n "$KERNEL_ARCH" ]; then
 #endif 
 #endif
 EOF
+  fi
 fi