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