err, backed up wrong file :)
[genkernel.git] / gen_configkernel.sh
1 #!/bin/bash
2
3 determine_config_file() {
4         if [ "${CMD_KERNEL_CONFIG}" != "" ]
5         then
6                 KERNEL_CONFIG="${CMD_KERNEL_CONFIG}"
7         elif [ -f "/etc/kernels/kernel-config-${ARCH}-${KV}" ]
8         then
9                 KERNEL_CONFIG="/etc/kernels/kernel-config-${ARCH}-${KV}"
10         elif [ -f "${GK_SHARE}/${ARCH}/kernel-config-${KV}" ]
11         then
12                 KERNEL_CONFIG="${GK_SHARE}/${ARCH}/kernel-config-${KV}"
13         elif [ "${DEFAULT_KERNEL_CONFIG}" != "" -a -f "${DEFAULT_KERNEL_CONFIG}" ]
14         then
15                 KERNEL_CONFIG="${DEFAULT_KERNEL_CONFIG}"
16         elif [ -f "${GK_SHARE}/${ARCH}/kernel-config-${VER}.${PAT}" ]
17         then
18                 KERNEL_CONFIG="${GK_SHARE}/${ARCH}/kernel-config-${VER}.${PAT}"
19         elif [ -f "${GK_SHARE}/${ARCH}/kernel-config" ]
20         then
21                 KERNEL_CONFIG="${GK_SHARE}/${ARCH}/kernel-config"
22         else
23                 gen_die "no kernel config specified, or file not found"
24         fi
25 }
26
27 config_kernel() {
28         print_info 1 "kernel: configuring source"
29
30         determine_config_file
31
32         cd "${KERNEL_DIR}" || gen_die "could not switch to kernel directory"
33
34         if isTrue ${MRPROPER}
35         then
36                 print_info 1 "kernel: running mrproper"
37                 compile_generic "mrproper" kernel
38         fi
39
40         # If we're not cleaning, then we don't want to try to overwrite the configs there
41         # or we might screw up something someone is trying to test.
42         if isTrue ${CLEAN}
43         then
44                 print_info 1 "kernel: using config from ${KERNEL_CONFIG} -- prev backed up to .config.bak"
45                 cp "${KERNEL_DIR}/.config" "${KERNEL_DIR}/.config.bak" > /dev/null 2>&1
46                 cp "${KERNEL_CONFIG}" "${KERNEL_DIR}/.config" || gen_die "could not copy config file"
47
48                 print_info 1 "kernel: running oldconfig"
49                 yes "" | compile_generic "oldconfig" kernel
50
51                 print_info 1 "kernel: running clean"
52                 compile_generic "clean" kernel
53         else
54                 print_info 1 "kernel: skipping copy of config. CLEAN is OFF"
55         fi
56         
57         if isTrue ${MENUCONFIG}
58         then
59                 print_info 1 "kernel: running menuconfig"
60                 make menuconfig
61                 [ "$?" != "0" ] && gen_die "menuconfig failed"
62         fi
63
64 }