genkernel: Add --kconfig to set specific kernel config options
[genkernel.git] / gen_determineargs.sh
old mode 100644 (file)
new mode 100755 (executable)
index 11e94d6..afc6fe3
 #!/bin/bash
+# $Id$
 
 get_KV() {
-       if [ "${CMD_NO_KERNEL_SOURCES}" = '1' -a -e "${CMD_KERNCACHE}" ]
+       if [ "${KERNEL_SOURCES}" = '0' -a -e "${KERNCACHE}" ]
        then
-               /bin/tar -xj -C ${TEMP} -f ${CMD_KERNCACHE} kerncache.config 
+               /bin/tar -xj -C ${TEMP} -f ${KERNCACHE} kerncache.config 
                if [ -e ${TEMP}/kerncache.config ]
                then
-                       KERN_24=0
                        VER=`grep ^VERSION\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
                        PAT=`grep ^PATCHLEVEL\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
                        SUB=`grep ^SUBLEVEL\ \= ${TEMP}/kerncache.config | awk '{ print $3 };'`
                        EXV=`grep ^EXTRAVERSION\ \= ${TEMP}/kerncache.config | sed -e "s/EXTRAVERSION =//" -e "s/ //g"`
-                       if [ "${PAT}" -gt '4' -a "${VER}" -ge '2' ]
-                       then
-                               LOV=`grep ^CONFIG_LOCALVERSION\= ${TEMP}/kerncache.config | sed -e "s/CONFIG_LOCALVERSION=\"\(.*\)\"/\1/"`
-                               KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
-                       else
-                               KERN_24=1
-                               KV=${VER}.${PAT}.${SUB}${EXV}
-                       fi
-
+                       LOV=`grep ^CONFIG_LOCALVERSION\= ${TEMP}/kerncache.config | sed -e "s/CONFIG_LOCALVERSION=\"\(.*\)\"/\1/"`
+                       KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
                else
                        gen_die "Could not find kerncache.config in the kernel cache! Exiting."
                fi
-
        else
                # Configure the kernel
                # If BUILD_KERNEL=0 then assume --no-clean, menuconfig is cleared
 
+               if [ ! -f "${KERNEL_DIR}"/Makefile ]
+               then
+                       gen_die "Kernel Makefile (${KERNEL_DIR}/Makefile) missing.  Maybe re-install the kernel sources."
+               fi
+
                VER=`grep ^VERSION\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
                PAT=`grep ^PATCHLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
                SUB=`grep ^SUBLEVEL\ \= ${KERNEL_DIR}/Makefile | awk '{ print $3 };'`
                EXV=`grep ^EXTRAVERSION\ \= ${KERNEL_DIR}/Makefile | sed -e "s/EXTRAVERSION =//" -e "s/ //g" -e 's/\$([a-z]*)//gi'`
-               if [ "${PAT}" -gt '4' -a "${VER}" -ge '2' -a -e ${KERNEL_DIR}/.config ]
-               then
-                       KERN_24=0
-                       cd ${KERNEL_DIR}
-                       #compile_generic prepare kernel > /dev/null 2>&1
-                       cd - > /dev/null 2>&1
-                       if [ -f ${KERNEL_DIR}/include/linux/version.h ]
-                       then
-                               UTS_RELEASE=`grep UTS_RELEASE ${KERNEL_DIR}/include/linux/version.h | sed -e 's/#define UTS_RELEASE "\(.*\)"/\1/'`
-                               LOV=`echo ${UTS_RELEASE}|sed -e "s/${VER}.${PAT}.${SUB}${EXV}//"`
-                               KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
-                       else
-                               LCV=`grep ^CONFIG_LOCALVERSION= ${KERNEL_DIR}/.config | sed -r -e "s/.*=\"(.*)\"/\1/"`
-                               KV=${VER}.${PAT}.${SUB}${EXV}${LCV}
-                       fi
-               else
-                       KERN_24=1
-                       KV=${VER}.${PAT}.${SUB}${EXV}
-               fi
-
-       fi
-
-       if isTrue "${CMD_DISKLABEL}"
-       then
-               DISKLABEL=1
-       else
-               DISKLABEL=0
-       fi
-
-       if isTrue "${CMD_LUKS}"
-       then
-               LUKS=1
-       fi
-}
-
-determine_real_args() {
-       if [ "${CMD_DEBUGFILE}" != '' ]
-       then
-               DEBUGFILE="${CMD_DEBUGFILE}"
-       fi
-
-       if [ "${CMD_MAKEOPTS}" != '' ]
-       then
-               MAKEOPTS="${CMD_MAKEOPTS}"
-       fi
 
-       if [ "${CMD_KERNELDIR}" != '' ]
-       then
-               KERNEL_DIR=${CMD_KERNELDIR}
-       else
-               KERNEL_DIR=${DEFAULT_KERNEL_SOURCE}
-       fi
-       
-       if [ "${CMD_NO_KERNEL_SOURCES}" != "1" ]
-       then
-               if [ ! -d ${KERNEL_DIR} ]
+               if [ -z "${SUB}" ]
                then
-                       gen_die "kernel source directory \"${KERNEL_DIR}\" was not found!"
+                       # Handle O= build directories
+                       KERNEL_SOURCE_DIR=`grep ^MAKEARGS\ \:\=  ${KERNEL_DIR}/Makefile | awk '{ print $4 };'`
+                       [ -z "${KERNEL_SOURCE_DIR}" ] && gen_die "Deriving \${KERNEL_SOURCE_DIR} failed"
+                       SUB=`grep ^SUBLEVEL\ \= ${KERNEL_SOURCE_DIR}/Makefile | awk '{ print $3 };'`
+                       EXV=`grep ^EXTRAVERSION\ \= ${KERNEL_SOURCE_DIR}/Makefile | sed -e "s/EXTRAVERSION =//" -e "s/ //g" -e 's/\$([a-z]*)//gi'`
                fi
-       fi
 
-       if [ "${CMD_KERNCACHE}" != "" ]
-       then    
-               if [ "${KERNEL_DIR}" = '' -a "${CMD_NO_KERNEL_SOURCES}" != "1" ]
-               then
-                       gen_die 'No kernel source directory!'
-               fi
-               if [ ! -e "${KERNEL_DIR}" -a "${CMD_NO_KERNEL_SOURCES}" != "1" ]
+               cd ${KERNEL_DIR}
+               #compile_generic prepare kernel > /dev/null 2>&1
+               cd - > /dev/null 2>&1
+               [ -f "${KERNEL_DIR}/include/linux/version.h" ] && \
+                       VERSION_SOURCE="${KERNEL_DIR}/include/linux/version.h"
+               [ -f "${KERNEL_DIR}/include/linux/utsrelease.h" ] && \
+                       VERSION_SOURCE="${KERNEL_DIR}/include/linux/utsrelease.h"
+               # Handle new-style releases where version.h doesn't have UTS_RELEASE
+               if [ -f ${KERNEL_DIR}/include/config/kernel.release ]
                then
-                       gen_die 'No kernel source directory!'
-               fi
-       else    
-               if [ "${KERNEL_DIR}" = '' ]
+                       UTS_RELEASE=`cat ${KERNEL_DIR}/include/config/kernel.release`
+                       LOV=`echo ${UTS_RELEASE}|sed -e "s/${VER}.${PAT}.${SUB}${EXV}//"`
+                       KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
+               elif [ -n "${VERSION_SOURCE}" ]
                then
-                       gen_die 'Kernel Cache specified but no kernel tree to verify against!'
+                       UTS_RELEASE=`grep UTS_RELEASE ${VERSION_SOURCE} | sed -e 's/#define UTS_RELEASE "\(.*\)"/\1/'`
+                       LOV=`echo ${UTS_RELEASE}|sed -e "s/${VER}.${PAT}.${SUB}${EXV}//"`
+                       KV=${VER}.${PAT}.${SUB}${EXV}${LOV}
+               else
+                       determine_config_file
+                       LCV=`grep ^CONFIG_LOCALVERSION= "${KERNEL_CONFIG}" | sed -r -e "s/.*=\"(.*)\"/\1/"`
+                       KV=${VER}.${PAT}.${SUB}${EXV}${LCV}
                fi
        fi
-       
-       if [ "${CMD_KERNNAME}" != "" ]
-       then
-               KNAME=${CMD_KERNNAME}
-       else
-               KNAME="genkernel"
-       fi
-       
-       if [ "${CMD_KERNEL_MAKE}" != '' ]
-       then
-               KERNEL_MAKE="${CMD_KERNEL_MAKE}"
-       fi
-
-       if [ "${KERNEL_MAKE}" = '' ]
-       then
-               KERNEL_MAKE='make'
-       fi
-
-       if [ "${CMD_UTILS_MAKE}" != '' ]
-       then
-               UTILS_MAKE="${CMD_UTILS_MAKE}"
-       fi
-
-       if [ "${UTILS_MAKE}" = '' ]
-       then
-               UTILS_MAKE='make'
-       fi
-
-       if [ "${CMD_KERNEL_CC}" != '' ]
-       then
-               KERNEL_CC="${CMD_KERNEL_CC}"
-       fi
-
-       if [ "${CMD_KERNEL_LD}" != '' ]
-       then
-               KERNEL_LD="${CMD_KERNEL_LD}"
-       fi
-
-       if [ "${CMD_KERNEL_AS}" != '' ]
-       then
-               KERNEL_AS="${CMD_KERNEL_AS}"
-       fi
-       
-       if [ "${CMD_KERNEL_CROSS_COMPILE}" != '' ]
-       then
-               KERNEL_CROSS_COMPILE="${CMD_KERNEL_CROSS_COMPILE}"
-       fi
-
-       if [ "${CMD_UTILS_CC}" != '' ]
-       then
-               UTILS_CC="${CMD_UTILS_CC}"
-       fi
-
-       if [ "${CMD_UTILS_LD}" != '' ]
-       then
-               UTILS_LD="${CMD_UTILS_LD}"
-       fi
-
-       if [ "${CMD_UTILS_AS}" != '' ]
-       then
-               UTILS_AS="${CMD_UTILS_AS}"
-       fi
-       
-       if [ "${CMD_UTILS_CROSS_COMPILE}" != '' ]
-       then
-               UTILS_CROSS_COMPILE="${CMD_UTILS_CROSS_COMPILE}"
-       fi
+}
 
-       if [ "${BOOTDIR}" != '' ]
-       then
-               BOOTDIR=`arch_replace "${BOOTDIR}"`
-               BOOTDIR=${BOOTDIR%/}    # Remove any trailing slash
-       else
-               BOOTDIR="/boot"
-       fi
+determine_real_args() {
+       print_info 4 "Resolving config file, command line, and arch default settings."
+
+       #                               Dest / Config File   Command Line             Arch Default
+       #                               ------------------   ------------             ------------
+       set_config_with_override STRING LOGFILE              CMD_LOGFILE
+       set_config_with_override STRING KERNEL_DIR           CMD_KERNEL_DIR           "${DEFAULT_KERNEL_SOURCE}"
+       set_config_with_override BOOL   KERNEL_SOURCES       CMD_KERNEL_SOURCES       "yes"
+       set_config_with_override STRING KNAME                CMD_KERNNAME             "genkernel"
+
+       set_config_with_override STRING COMPRESS_INITRD      CMD_COMPRESS_INITRD      "$DEFAULT_COMPRESS_INITRD"
+       set_config_with_override STRING COMPRESS_INITRD_TYPE CMD_COMPRESS_INITRD_TYPE "$DEFAULT_COMPRESS_INITRD_TYPE"
+       set_config_with_override STRING MAKEOPTS             CMD_MAKEOPTS             "$DEFAULT_MAKEOPTS"
+       set_config_with_override STRING KERNEL_MAKE          CMD_KERNEL_MAKE          "$DEFAULT_KERNEL_MAKE"
+       set_config_with_override STRING UTILS_MAKE           CMD_UTILS_MAKE           "$DEFAULT_UTILS_MAKE"
+       set_config_with_override STRING KERNEL_CC            CMD_KERNEL_CC            "$DEFAULT_KERNEL_CC"
+       set_config_with_override STRING KERNEL_LD            CMD_KERNEL_LD            "$DEFAULT_KERNEL_LD"
+       set_config_with_override STRING KERNEL_AS            CMD_KERNEL_AS            "$DEFAULT_KERNEL_AS"
+       set_config_with_override STRING UTILS_CC             CMD_UTILS_CC             "$DEFAULT_UTILS_CC"
+       set_config_with_override STRING UTILS_LD             CMD_UTILS_LD             "$DEFAULT_UTILS_LD"
+       set_config_with_override STRING UTILS_AS             CMD_UTILS_AS             "$DEFAULT_UTILS_AS"
+
+       set_config_with_override STRING KERNEL_CROSS_COMPILE CMD_KERNEL_CROSS_COMPILE
+       set_config_with_override STRING UTILS_CROSS_COMPILE  CMD_UTILS_CROSS_COMPILE
+       set_config_with_override STRING BOOTDIR              CMD_BOOTDIR              "/boot"
+       set_config_with_override STRING KERNEL_OUTPUTDIR     CMD_KERNEL_OUTPUTDIR     "${KERNEL_DIR}"
+       set_config_with_override STRING MODPROBEDIR          CMD_MODPROBEDIR          "/etc/modprobe.d"
+
+       set_config_with_override BOOL   SPLASH               CMD_SPLASH
+       set_config_with_override BOOL   POSTCLEAR            CMD_POSTCLEAR
+       set_config_with_override BOOL   MRPROPER             CMD_MRPROPER
+       set_config_with_override BOOL   MENUCONFIG           CMD_MENUCONFIG
+       set_config_with_override BOOL   CLEAN                CMD_CLEAN
+
+       set_config_with_override STRING MINKERNPACKAGE       CMD_MINKERNPACKAGE
+       set_config_with_override STRING MODULESPACKAGE       CMD_MODULESPACKAGE
+       set_config_with_override STRING KERNCACHE            CMD_KERNCACHE
+       set_config_with_override BOOL   RAMDISKMODULES       CMD_RAMDISKMODULES        "yes"
+       set_config_with_override BOOL   ALLRAMDISKMODULES    CMD_ALLRAMDISKMODULES
+       set_config_with_override STRING INITRAMFS_OVERLAY    CMD_INITRAMFS_OVERLAY
+       set_config_with_override BOOL   MOUNTBOOT            CMD_MOUNTBOOT
+       set_config_with_override BOOL   BUILD_STATIC         CMD_STATIC
+       set_config_with_override BOOL   SAVE_CONFIG          CMD_SAVE_CONFIG
+       set_config_with_override BOOL   SYMLINK              CMD_SYMLINK
+       set_config_with_override STRING INSTALL_MOD_PATH     CMD_INSTALL_MOD_PATH
+       set_config_with_override BOOL   OLDCONFIG            CMD_OLDCONFIG
+       set_config_with_override BOOL   LVM                  CMD_LVM
+       set_config_with_override BOOL   DMRAID               CMD_DMRAID
+       set_config_with_override BOOL   ISCSI                CMD_ISCSI
+       set_config_with_override BOOL   BUSYBOX              CMD_BUSYBOX              "yes"
+       set_config_with_override BOOL   UNIONFS              CMD_UNIONFS
+       set_config_with_override BOOL   NETBOOT              CMD_NETBOOT
+       set_config_with_override STRING REAL_ROOT            CMD_REAL_ROOT
+       set_config_with_override BOOL   DISKLABEL            CMD_DISKLABEL
+       set_config_with_override BOOL   LUKS                 CMD_LUKS
+       set_config_with_override BOOL   GPG                  CMD_GPG
+       set_config_with_override BOOL   MDADM                CMD_MDADM
+       set_config_with_override STRING MDADM_CONFIG         CMD_MDADM_CONFIG
+       set_config_with_override BOOL   E2FSPROGS            CMD_E2FSPROGS            "no"
+       set_config_with_override BOOL   ZFS                  CMD_ZFS
+       set_config_with_override BOOL   VIRTIO               CMD_VIRTIO                           "no"
+       set_config_with_override BOOL   MULTIPATH            CMD_MULTIPATH
+       set_config_with_override BOOL   FIRMWARE             CMD_FIRMWARE
+       set_config_with_override STRING FIRMWARE_DIR         CMD_FIRMWARE_DIR         "/lib/firmware"
+       set_config_with_override STRING FIRMWARE_FILES       CMD_FIRMWARE_FILES
+       set_config_with_override BOOL   INTEGRATED_INITRAMFS CMD_INTEGRATED_INITRAMFS
+       set_config_with_override BOOL   GENZIMAGE            CMD_GENZIMAGE
+       set_config_with_override BOOL   KEYMAP               CMD_KEYMAP               "yes"
+       set_config_with_override BOOL   DOKEYMAPAUTO         CMD_DOKEYMAPAUTO
+       set_config_with_override STRING BUSYBOX_CONFIG       CMD_BUSYBOX_CONFIG
+       set_config_with_override BOOL   INSTALL              CMD_INSTALL              "yes"
+
+       BOOTDIR=`arch_replace "${BOOTDIR}"`
+       BOOTDIR=${BOOTDIR%/}    # Remove any trailing slash
+       MODPROBEDIR=${MODPROBEDIR%/}    # Remove any trailing slash
 
        CACHE_DIR=`arch_replace "${CACHE_DIR}"`
-       CACHE_CPIO_DIR="${CACHE_DIR}/cpio"
        BUSYBOX_BINCACHE=`cache_replace "${BUSYBOX_BINCACHE}"`
-       MODULE_INIT_TOOLS_BINCACHE=`cache_replace "${MODULE_INIT_TOOLS_BINCACHE}"`
-       MODUTILS_BINCACHE=`cache_replace "${MODUTILS_BINCACHE}"`
-       DIETLIBC_BINCACHE=`cache_replace "${DIETLIBC_BINCACHE}"`
-       DIETLIBC_BINCACHE_TEMP=`cache_replace "${DIETLIBC_BINCACHE_TEMP}"`
-       DEVFSD_BINCACHE=`cache_replace "${DEVFSD_BINCACHE}"`
-       DEVFSD_CONF_BINCACHE=`cache_replace "${DEVFSD_CONF_BINCACHE}"`
-       UDEV_BINCACHE=`cache_replace "${UDEV_BINCACHE}"`
-       KLIBC_BINCACHE=`cache_replace "${KLIBC_BINCACHE}"`
-       DEVICE_MAPPER_BINCACHE=`cache_replace "${DEVICE_MAPPER_BINCACHE}"`
-       LVM2_BINCACHE=`cache_replace "${LVM2_BINCACHE}"`
+       LVM_BINCACHE=`cache_replace "${LVM_BINCACHE}"`
+       MDADM_BINCACHE=`cache_replace "${MDADM_BINCACHE}"`
        DMRAID_BINCACHE=`cache_replace "${DMRAID_BINCACHE}"`
-       UNIONFS_BINCACHE=`cache_replace "${UNIONFS_BINCACHE}"`
-       UNIONFS_MODULES_BINCACHE=`cache_replace "${UNIONFS_MODULES_BINCACHE}"`
+       ISCSI_BINCACHE=`cache_replace "${ISCSI_BINCACHE}"`
        BLKID_BINCACHE=`cache_replace "${BLKID_BINCACHE}"`
-  
+       FUSE_BINCACHE=`cache_replace "${FUSE_BINCACHE}"`
+       UNIONFS_FUSE_BINCACHE=`cache_replace "${UNIONFS_FUSE_BINCACHE}"`
+       GPG_BINCACHE=`cache_replace "${GPG_BINCACHE}"`
+
        DEFAULT_KERNEL_CONFIG=`arch_replace "${DEFAULT_KERNEL_CONFIG}"`
        BUSYBOX_CONFIG=`arch_replace "${BUSYBOX_CONFIG}"`
        BUSYBOX_BINCACHE=`arch_replace "${BUSYBOX_BINCACHE}"`
-       MODULE_INIT_TOOLS_BINCACHE=`arch_replace "${MODULE_INIT_TOOLS_BINCACHE}"`
-       MODUTILS_BINCACHE=`arch_replace "${MODUTILS_BINCACHE}"`
-       DIETLIBC_BINCACHE=`arch_replace "${DIETLIBC_BINCACHE}"`
-       DIETLIBC_BINCACHE_TEMP=`arch_replace "${DIETLIBC_BINCACHE_TEMP}"`
-       DEVFSD_BINCACHE=`arch_replace "${DEVFSD_BINCACHE}"`
-       DEVFSD_CONF_BINCACHE=`arch_replace "${DEVFSD_CONF_BINCACHE}"`
-       UDEV_BINCACHE=`arch_replace "${UDEV_BINCACHE}"`
-       KLIBC_BINCACHE=`arch_replace "${KLIBC_BINCACHE}"`
-       DEVICE_MAPPER_BINCACHE=`arch_replace "${DEVICE_MAPPER_BINCACHE}"`
-       LVM2_BINCACHE=`arch_replace "${LVM2_BINCACHE}"`
+       LVM_BINCACHE=`arch_replace "${LVM_BINCACHE}"`
+       MDADM_BINCACHE=`arch_replace "${MDADM_BINCACHE}"`
        DMRAID_BINCACHE=`arch_replace "${DMRAID_BINCACHE}"`
-       UNIONFS_BINCACHE=`arch_replace "${UNIONFS_BINCACHE}"`
-       UNIONFS_MODULES_BINCACHE=`arch_replace "${UNIONFS_MODULES_BINCACHE}"`
+       ISCSI_BINCACHE=`arch_replace "${ISCSI_BINCACHE}"`
        BLKID_BINCACHE=`arch_replace "${BLKID_BINCACHE}"`
-       
-       if [ "${CMD_BOOTSPLASH}" != '' ]
-       then
-               BOOTSPLASH=${CMD_BOOTSPLASH}
-       fi
+       FUSE_BINCACHE=`arch_replace "${FUSE_BINCACHE}"`
+       UNIONFS_FUSE_BINCACHE=`arch_replace "${UNIONFS_FUSE_BINCACHE}"`
+       GPG_BINCACHE=`arch_replace "${GPG_BINCACHE}"`
 
-       if isTrue ${BOOTSPLASH}
+       if [ -n "${CMD_BOOTLOADER}" ]
        then
-               BOOTSPLASH=1
-       else
-               BOOTSPLASH=0
-       fi
-
-       if [ "${CMD_GENSPLASH}" != '' ]
-       then
-               GENSPLASH=${CMD_GENSPLASH}
+               BOOTLOADER="${CMD_BOOTLOADER}"
+               if [ "${CMD_BOOTLOADER}" != "${CMD_BOOTLOADER/:/}" ]
+               then
+                       BOOTFS=`echo "${CMD_BOOTLOADER}" | cut -f2- -d:`
+                       BOOTLOADER=`echo "${CMD_BOOTLOADER}" | cut -f1 -d:`
+               fi
        fi
 
-       if isTrue ${GENSPLASH}
+       if [ "${KERNEL_SOURCES}" != "0" ]
        then
-               GENSPLASH=1
-       else
-               GENSPLASH=0
+               if [ ! -d ${KERNEL_DIR} ]
+               then
+                       gen_die "kernel source directory \"${KERNEL_DIR}\" was not found!"
+               fi
        fi
 
-       if isTrue ${COMPRESS_INITRD}
+       if [ -z "${KERNCACHE}" ]
        then
-               COMPRESS_INITRD=1
+               if [ "${KERNEL_DIR}" = '' -a "${KERNEL_SOURCES}" != "0" ]
+               then
+                       gen_die 'No kernel source directory!'
+               fi
+               if [ ! -e "${KERNEL_DIR}" -a "${KERNEL_SOURCES}" != "0" ]
+               then
+                       gen_die 'No kernel source directory!'
+               fi
        else
-               COMPRESS_INITRD=0
+               if [ "${KERNEL_DIR}" = '' ]
+               then
+                       gen_die 'Kernel Cache specified but no kernel tree to verify against!'
+               fi
        fi
 
-       if isTrue ${CMD_POSTCLEAR}
-       then
-               POSTCLEAR=1
-       else
-               POSTCLEAR=0
-       fi
-       
-       if [ "${CMD_MRPROPER}" != '' ]
-       then
-               MRPROPER="${CMD_MRPROPER}"
-       fi
-       if [ "${CMD_MENUCONFIG}" != '' ]
-       then
-               MENUCONFIG="${CMD_MENUCONFIG}"
-       fi
+       # Special case:  If --no-clean is specified on the command line,
+       # imply --no-mrproper.
        if [ "${CMD_CLEAN}" != '' ]
        then
-               CLEAN="${CMD_CLEAN}"
                if ! isTrue ${CLEAN}
                then
                        MRPROPER=0
                fi
        fi
 
-       if [ "${CMD_MINKERNPACKAGE}" != '' ]
+       if [ -n "${MINKERNPACKAGE}" ]
        then
-               MINKERNPACKAGE="${CMD_MINKERNPACKAGE}"
                mkdir -p `dirname ${MINKERNPACKAGE}`
        fi
-       
-       if [ "${CMD_MODULESPACKAGE}" != '' ]
+
+       if [ -n "${MODULESPACKAGE}" ]
        then
-               MODULESPACKAGE="${CMD_MODULESPACKAGE}"
                mkdir -p `dirname ${MODULESPACKAGE}`
        fi
 
-       if [ "${CMD_KERNCACHE}" != '' ]
+       if [ -n "${KERNCACHE}" ]
        then
-               KERNCACHE="${CMD_KERNCACHE}"
                mkdir -p `dirname ${KERNCACHE}`
        fi
-       
-       if [ "${CMD_NOINITRDMODULES}" != '' ]
-       then
-               NOINITRDMODULES="${CMD_NOINITRDMODULES}"
-       fi
-       
-       if [ "${CMD_INITRAMFS_OVERLAY}" != '' ]
-       then
-               INITRAMFS_OVERLAY="${CMD_INITRAMFS_OVERLAY}"
-       fi
-
-       if [ "${CMD_MOUNTBOOT}" != '' ]
-       then
-               MOUNTBOOT="${CMD_MOUNTBOOT}"
-       fi
-
-       if isTrue ${MOUNTBOOT}
-       then
-               MOUNTBOOT=1
-       else
-               MOUNTBOOT=0
-       fi
-
-       if [ "${CMD_STATIC}" != '' ]
-       then
-               BUILD_STATIC=${CMD_STATIC}
-       fi
-
-       if isTrue ${BUILD_STATIC}
-       then
-               BUILD_STATIC=1
-       else
-               BUILD_STATIC=0
-       fi
-
-       if [ "${CMD_INITRAMFS}" != '' ]
-       then
-               BUILD_INITRAMFS=${CMD_INITRAMFS}
-       fi
 
-       if isTrue ${BUILD_INITRAMFS}
+       if ! isTrue "${BUILD_RAMDISK}"
        then
-               BUILD_INITRAMFS=1
-       else
-               BUILD_INITRAMFS=0
-       fi
-
-       if [ "${CMD_SAVE_CONFIG}" != '' ]
-       then
-               SAVE_CONFIG="${CMD_SAVE_CONFIG}"
+               INTEGRATED_INITRAMFS=0
        fi
 
-       if isTrue "${SAVE_CONFIG}"
-       then
-               SAVE_CONFIG=1
-       else
-               SAVE_CONFIG=0
-       fi
-  
-       if isTrue "${CMD_SYMLINK}"
-       then
-               SYMLINK=1
-       else
-               SYMLINK=0
-       fi
-       
-       if [ "${CMD_INSTALL_MOD_PATH}" != '' ]
-       then
-               INSTALL_MOD_PATH="${CMD_INSTALL_MOD_PATH}"
-       fi
-
-       if [ "${CMD_BOOTLOADER}" != '' ]
-       then
-               BOOTLOADER="${CMD_BOOTLOADER}"
-                
-               if [ "${CMD_BOOTLOADER}" != "${CMD_BOOTLOADER/:/}" ]
-               then
-                       BOOTFS=`echo "${CMD_BOOTLOADER}" | cut -f2- -d:`
-                       BOOTLOADER=`echo "${CMD_BOOTLOADER}" | cut -f1 -d:`
-               fi
-       fi
-
-       if isTrue "${CMD_OLDCONFIG}"
-       then
-               OLDCONFIG=1
-       else
-               OLDCONFIG=0
-       fi
-
-       if isTrue "${CMD_NO_UDEV}"
-       then
-               UDEV=0
-               if isTrue "${CMD_NO_DEVFS}"
-               then
-                   DEVFS=0
-               else
-                   DEVFS=1
-               fi
-       else
-               UDEV=1
-               DEVFS=0
-       fi
-       
-       if isTrue "${CMD_NO_DEVFS}"
-       then
-               DEVFS=0
-       fi
-       
-       if isTrue "${CMD_DEVFS}"
-       then
-               DEVFS=1
-               UDEV=0
-       fi
-
-       if isTrue "${CMD_LVM2}"
-       then
-               LVM2=1
-       else
-               LVM2=0
-       fi
-       
-       if isTrue "${CMD_EVMS2}"
-       then
-               EVMS2=1
-       else
-               EVMS2=0
-       fi
-       
-       if isTrue "${CMD_UNIONFS}"
-       then
-               UNIONFS=1
-       else
-               UNIONFS=0
-       fi
-       
-       if isTrue "${CMD_NO_BUSYBOX}"
-       then
-               BUSYBOX=0
-       else
-               BUSYBOX=1
-       fi
-
-       if isTrue "${CMD_DMRAID}"
-       then
-               DMRAID=1
-       else
-               DMRAID=0
-       fi
-       
        get_KV
-       UNIONFS_MODULES_BINCACHE=`kv_replace "${UNIONFS_MODULES_BINCACHE}"`
 }