misc fixes in relation to kernel configs
authorBrad House <brad_mssw@gentoo.org>
Wed, 28 Jan 2004 02:36:39 +0000 (02:36 +0000)
committerBrad House <brad_mssw@gentoo.org>
Wed, 28 Jan 2004 02:36:39 +0000 (02:36 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@59 67a159dc-881f-0410-a524-ba9dfbe2cb84

gen_configkernel.sh
genkernel

index bcaff5a8652e995510469074a742ee88589bfbff..69307ef30e1153e110c3cd318c4accbc4f78ab0e 100644 (file)
@@ -4,6 +4,12 @@ determine_config_file() {
        if [ "${CMD_KERNEL_CONFIG}" != "" ]
        then
                KERNEL_CONFIG="${CMD_KERNEL_CONFIG}"
+       elif [ -f "/etc/kernels/kernel-config-${ARCH}-${KV}" ]
+       then
+               KERNEL_CONFIG="/etc/kernels/kernel-config-${ARCH}-${KV}"
+       elif [ -f "${GK_SHARE}/${ARCH}/kernel-config-${KV}" ]
+       then
+               KERNEL_CONFIG="${GK_SHARE}/${ARCH}/kernel-config-${KV}"
        elif [ "${DEFAULT_KERNEL_CONFIG}" != "" -a -f "${DEFAULT_KERNEL_CONFIG}" ]
        then
                KERNEL_CONFIG="${DEFAULT_KERNEL_CONFIG}"
@@ -35,22 +41,24 @@ config_kernel() {
        # or we might screw up something someone is trying to test.
        if isTrue ${CLEAN}
        then
-               print_info 1 "kernel: using config from ${KERNEL_CONFIG}"
+               print_info 1 "kernel: using config from ${KERNEL_CONFIG} -- prev backed up to .config.bak"
                cp "${KERNEL_CONFIG}" "${KERNEL_DIR}/.config" || gen_die "could not copy config file"
+               cp "${KERNEL_DIR}/.config" "${KERNEL_DIR}/.config.bak" > /dev/null 2>&1
 
                print_info 1 "kernel: running oldconfig"
                yes "" | compile_generic "oldconfig" kernel
 
-               if isTrue ${MENUCONFIG}
-               then
-                       print_info 1 "kernel: running menuconfig"
-                       make menuconfig
-               fi
-
                print_info 1 "kernel: running clean"
                compile_generic "clean" kernel
        else
                print_info 1 "kernel: skipping copy of config. CLEAN is OFF"
        fi
+       
+       if isTrue ${MENUCONFIG}
+       then
+               print_info 1 "kernel: running menuconfig"
+               make menuconfig
+               [ "$?" != "0" ] && gen_die "menuconfig failed"
+       fi
 
 }
index 5df0da328aa0a8dc5cbed6b4abd69b5fd9318045..6c63098a08f4d631daee7cc8e93a0ea96ff71a3b 100755 (executable)
--- a/genkernel
+++ b/genkernel
@@ -69,6 +69,10 @@ compile_kernel
 # Compile modules
 compile_modules
 
+print_info 1 "Copying config for successful build to /etc/kernels/kernel-config-${ARCH}-${KV}"
+[ ! -e "/etc/kernels" ] && mkdir -p /etc/kernels
+cp "${KERNEL_DIR}/.config" "/etc/kernels/kernel-config-${ARCH}-${KV}"
+
 # Compile dietlibc
 if [ "${USE_DIETLIBC}" = "1" ]
 then