Improve option handling.
authorRobin H. Johnson <robbat2@gentoo.org>
Wed, 4 Jan 2012 03:27:20 +0000 (03:27 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Wed, 4 Jan 2012 03:28:00 +0000 (03:28 +0000)
Provide real boolean commandline options for options that were
previously only available as booleans in the config, so that they can be
enable in configuration and overridden to disable on the commandline.
Remove negation on options: NOINSTALL, NORAMDISKMODULES,
NO_KERNEL_SOURCES.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
ChangeLog
arch/mips/config.sh
doc/genkernel.8.txt
gen_cmdline.sh
gen_compile.sh
gen_determineargs.sh
gen_funcs.sh
gen_initramfs.sh
genkernel
genkernel.conf

index b56941cd14a80b211b30da707a4241dfeddba1cb..90798069a3559d844129467964ed9576d000a590 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,14 @@
 # Distributed under the GPL v2
 # $Id$
 
+  04 Jan 2012; Robin H. Johnson <robbat2@gentoo.org> arch/mips/config.sh,
+  doc/genkernel.8.txt, gen_cmdline.sh, gen_compile.sh, gen_determineargs.sh,
+  gen_funcs.sh, gen_initramfs.sh, genkernel, genkernel.conf:
+  Provide real boolean commandline options for options that were previously
+  only available as booleans in the config, so that they can be enable in
+  configuration and overridden to disable on the commandline. Remove negation
+  on options: NOINSTALL, NORAMDISKMODULES, NO_KERNEL_SOURCES.
+
   08 Nov 2011; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.20
 
index 05b3c8200f2bb19f28fb9e963bafd4793e56f2f5..9d49c09bc534f7fd11ee7264b1c482f40485e042 100755 (executable)
@@ -16,7 +16,7 @@ DISKLABEL=0
 
 # genkernel on mips is only used for LiveCDs && netboots.  Catalyst
 # will know where to get the kernels at.
-CMD_NOINSTALL=1
+CMD_INSTALL=0
 
 #
 # Arch-specific defaults that can be overridden in the config file or on the
index bf621ce953d9b95ba4e0886041755415fed28846..35c7ff3f575b0af92210320a1394e450214ceac3 100644 (file)
@@ -95,11 +95,11 @@ KERNEL CONFIGURATION
     Saves, or does not save the kernel configuration to '/etc/kernels'
     if the kernel is successfully compiled.
 
-*--gconfig*::
-    Run "make gconfig" after "make oldconfig".
+*--*[*no-*]*gconfig*::
+    Runs, or does not run "make gconfig" after "make oldconfig".
 
-*--xconfig*::
-    Run "make xconfig" after "make oldconfig".
+*--*[*no-*]*xconfig*::
+    Runs, or does not run "make xconfig" after "make oldconfig".
 
 
 KERNEL COMPILATION
@@ -140,19 +140,19 @@ KERNEL COMPILATION
 *--*[*no-*]*splash*::
     Installs, or not, framebuffer splash support into initramfs.
 
-*--no-ramdisk-modules*::
-    Don't copy any modules to the ramdisk.
+*--*[*no-*]*ramdisk-modules*::
+    Copies or does not copy configured modules to the ramdisk.
 
-*--all-ramdisk-modules*::
-    Copy all kernel modules to the initrd.
+*--*[*no-*]*all-ramdisk-modules*::
+    Copies or does not copy all kernel modules to the initrd.
 
 *--callback*=<...>::
     Run the specified arguments in the current environment after the
     kernel and modules have been compiled.
 
-*--static*::
-    This builds a monolithic kernel without any modules on any
-    initial ramdisks.
+*--*[*no-*]*static*::
+       Builds, or does not build a monolithic kernel without any modules on any
+       initial ramdisks.
 
 
 KERNEL LOCATIONS
@@ -241,16 +241,15 @@ INITIALIZATION
 *--do-keymap-auto*::
     Force keymap selection at boot.
 
-*--no-keymap*::
-    Disables keymap selection at boot.
+*--*[*no-*]*keymap*::
+    Enables or disables keymap selection at boot.
 
-*--lvm*::
-    Add in LVM support from static binaries if they exist on the
-    system,  or compile static LVM binaries if static ones do not
-    exist.
+*--*[*no-*]*lvm*::
+       Adds or skips in LVM support from static binaries if they exist on the
+       system,  or compile static LVM binaries if static ones do not exist.
 
-*--mdadm*::
-    Include mdadm/mdmon support.
+*--*[*no-*]*mdadm*::
+    Includes or excludes mdadm/mdmon support.
     Without sys-fs/mdadm[static] installed, this will compile mdadm for you.
 
 *--mdadm-config*=<file>::
@@ -258,14 +257,14 @@ INITIALIZATION
     By default the ramdisk will be built *without* an mdadm.conf and
     will auto-detect arrays during boot-up.
 
-*--dmraid*::
-    Include DMRAID support.
+*--*[*no-*]*dmraid*::
+    Includes or excludes DMRAID support.
 
-*--multipath*::
-    Include Multipath support
+*--*[*no-*]*multipath*::
+    Includes or excludes Multipath support
 
-*--iscsi*::
-    Include iSCSI support
+*--*[*no-*]*iscsi*::
+    Includes or excludes iSCSI support
 
 *--bootloader*=*grub*::
     Add new kernel to GRUB configuration.
@@ -279,27 +278,27 @@ INITIALIZATION
 *--genzimage*::
        Make and install kernelz image from 'arch/powerpc/boot/zImage.initrd'.
 
-*--disklabel*::
-    Include disk label and uuid support in your initrd.
+*--*[*no-*]*disklabel*::
+    Includes or excludes disk label and uuid support in your initrd.
 
-*--luks*::
-    Add in Luks support from static binaries if they exist on the
-    system.
+*--*[*no-*]*luks*::
+       Includes or excludes Luks support from static binaries if they exist on
+       the system.
 
-*--gpg*::
-    Add support for GnuPG 1.x, the portable standalone branch of GnuPG.
-    A key can be made from
+*--*[*no-*]*gpg*::
+       Includes or excludes support for GnuPG 1.x, the portable standalone branch
+       of GnuPG. A key can be made from
     `gpg --symmetric -o /path/to/LUKS-key.gpg /path/to/LUKS-key` .
     After that, re-point the *root_key* argument to the new .gpg file.
 
-*--no-busybox*::
-    Do not include busybox in the initrd or initramfs.
+*--*[*no-*]*busybox*::
+    Includes or excludes busybox in the initrd or initramfs.
 
-*--unionfs*::
-    Include support for unionfs
+*--*[*no-*]*unionfs*::
+    Includes or excludes support for unionfs
 
-*--netboot*::
-    Create a self-contained env in the initramfs
+*--*[*no-*]*netboot*::
+    Creates or does not create a self-contained env in the initramfs
 
 *--real-root*=<foo>::
     Specify a default for *real_root*= kernel option.
@@ -317,8 +316,8 @@ INTERNALS
 *--tempdir*=<dir>::
     Sets genkernel's temporary working directory to <dir>.
 
-*--postclear*::
-    Clear all tmp files and caches after genkernel has run.
+*--*[*no-*]*postclear*::
+       Clears or skips clearing all tmp files and caches after genkernel has run.
 
 
 OUTPUT SETTINGS
@@ -339,7 +338,7 @@ OUTPUT SETTINGS
     and the kernel config.  NOTE: This is created before the callbacks
     are run.
 
-*--no-kernel-sources*=<tbz2>::
+*--*[*no-*]*kernel-sources*::
     This option is only valid if kerncache is defined If there is a
     valid kerncache no checks will be made against a kernel source
     tree.
@@ -348,8 +347,8 @@ OUTPUT SETTINGS
     Directory structure to include in the initramfs, only available
     on >=2.6 kernels
 
-*--firmware*::
-    Enable copying of firmware into initramfs.
+*--*[*no-*]*firmware*::
+    Enable or disables copying of firmware into initramfs.
 
 *--firmware-dir*=<dir>::
     Specify directory to copy firmware from (defaults to '/lib/firmware').
@@ -358,8 +357,9 @@ OUTPUT SETTINGS
     Specifies specific firmware files to copy. This overrides *--firmware-dir*.
     For multiple files, separate the filenames with a comma.
 
-*--integrated-initramfs*::
-    Build the generated initramfs into the kernel instead of keeping it as a separate file.
+*--*[*no-*]*integrated-initramfs*::
+       Builds or does not build the generated initramfs into the kernel instead
+       of keeping it as a separate file.
 
 
 RAMDISK OPTIONS
@@ -573,6 +573,8 @@ AUTHORS
 -------
 - Tim Yamin <plasmaroo@gentoo.org>
 - Eric Edgar <rocket@gentoo.org>
+- Chris Gianelloni <wolf31o2@gentoo.org>
+- Sebastian Pipping <sebastian@pipping.org>
 - NFS Support by Thomas Seiler <thseiler@gmail.com>
 - GnuPG 1.x integration by dacook <schism@subverted.org>
 - MDADM integration by Matthias Dahl <ua_bugz_gentoo@mortal-soul.de>
index f048b28218f26c20537d8b38bb546b5dd6c77361..a89636cc9c2e9113cc5e7ce11b20c16ec14d8243 100755 (executable)
@@ -25,27 +25,31 @@ longusage() {
   echo "  Kernel Configuration settings"
   echo "       --menuconfig            Run menuconfig after oldconfig"
   echo "       --no-menuconfig         Do not run menuconfig after oldconfig"
-  echo "       --gconfig               Run gconfig after oldconfig"
-  echo "       --xconfig               Run xconfig after oldconfig"
+  echo "       --gconfig                       Run gconfig after oldconfig"
+  echo "       --no-gconfig            Don't run gconfig after oldconfig"
+  echo "       --xconfig                       Run xconfig after oldconfig"
+  echo "       --no-xconfig            Don't run xconfig after oldconfig"
   echo "       --save-config           Save the configuration to /etc/kernels"
   echo "       --no-save-config        Don't save the configuration to /etc/kernels"
   echo "  Kernel Compile settings"
+  echo "       --oldconfig             Implies --no-clean and runs a 'make oldconfig'"
   echo "       --clean                 Run make clean before compilation"
-  echo "       --mrproper              Run make mrproper before compilation"
   echo "       --no-clean              Do not run make clean before compilation"
-  echo "       --no-mrproper           Do not run make mrproper before compilation"
-  echo "       --oldconfig             Implies --no-clean and runs a 'make oldconfig'"
+  echo "       --mrproper              Run make mrproper before compilation"
+  echo "       --no-mrproper   Do not run make mrproper before compilation"
   echo "       --splash                Install framebuffer splash support into initramfs"
   echo "       --no-splash             Do not install framebuffer splash"
   echo "       --install               Install the kernel after building"
   echo "       --no-install            Do not install the kernel after building"
   echo "       --symlink               Manage symlinks in /boot for installed images"
   echo "       --no-symlink            Do not manage symlinks"
+  echo "       --ramdisk-modules       Copy required modules to the ramdisk"
   echo "       --no-ramdisk-modules    Don't copy any modules to the ramdisk"
   echo "       --all-ramdisk-modules   Copy all kernel modules to the ramdisk"
   echo "       --callback=<...>        Run the specified arguments after the"
   echo "                               kernel and modules have been compiled"
   echo "       --static                Build a static (monolithic kernel)."
+  echo "       --no-static             Do not build a static (monolithic kernel)."
   echo "  Kernel settings"
   echo "       --kerneldir=<dir>       Location of the kernel sources"
   echo "       --kernel-config=<file>  Kernel configuration file to use for compilation"
@@ -77,31 +81,43 @@ longusage() {
   echo "       --splash=<theme>        Enable framebuffer splash using <theme>"
   echo "       --splash-res=<res>      Select splash theme resolutions to install"
   echo "       --do-keymap-auto        Forces keymap selection at boot"
+  echo "       --keymap                Enables keymap selection support"
   echo "       --no-keymap             Disables keymap selection support"
   echo "       --lvm                   Include LVM support"
+  echo "       --no-lvm                Exclude LVM support"
   echo "       --mdadm                 Include MDADM/MDMON support"
+  echo "       --no-mdadm              Exclude MDADM/MDMON support"
   echo "       --mdadm-config=<file>   Use file as mdadm.conf in initramfs"
   echo "       --dmraid                Include DMRAID support"
+  echo "       --no-dmraid             Exclude DMRAID support"
   echo "       --multipath             Include Multipath support"
+  echo "       --no-multipath  Exclude Multipath support"
   echo "       --iscsi                 Include iSCSI support"
+  echo "       --no-iscsi              Exclude iSCSI support"
   echo "       --bootloader=grub       Add new kernel to GRUB configuration"
   echo "       --linuxrc=<file>        Specifies a user created linuxrc"
   echo "       --busybox-config=<file> Specifies a user created busybox config"
   echo "       --genzimage             Make and install kernelz image (PowerPC)"
-  echo "       --disklabel             Include disk label and uuid support in your"
-  echo "                               ramdisk"
+  echo "       --disklabel             Include disk label and uuid support in your ramdisk"
+  echo "       --no-disklabel  Exclude disk label and uuid support in your ramdisk"
   echo "       --luks                  Include LUKS support"
   echo "                               --> 'emerge cryptsetup-luks' with USE=-dynamic"
+  echo "       --no-luks               Exclude LUKS support"
   echo "       --gpg                   Include GPG-armored LUKS key support"
-  echo "       --no-busybox            Do not include busybox in the initramfs."
+  echo "       --no-gpg                Exclude GPG-armored LUKS key support"
+  echo "       --busybox               Include busybox"
+  echo "       --no-busybox    Exclude busybox"
   echo "       --unionfs               Include support for unionfs"
+  echo "       --no-unionfs    Exclude support for unionfs"
   echo "       --netboot               Create a self-contained env in the initramfs"
+  echo "       --no-netboot    Exclude --netboot env"
   echo "       --real-root=<foo>       Specify a default for real_root="
   echo "  Internals"
   echo "       --arch-override=<arch>  Force to arch instead of autodetect"
   echo "       --cachedir=<dir>        Override the default cache location"
   echo "       --tempdir=<dir>         Location of Genkernel's temporary directory"
-  echo "       --postclear             Clear all tmp files and caches after genkernel has run"
+  echo "       --postclear                     Clear all tmp files and caches after genkernel has run"
+  echo "       --no-postclear          Do not clean up after genkernel has run"
   echo "  Output Settings"
   echo "       --kernname=<...>        Tag the kernel and ramdisk with a name:"
   echo "                               If not defined the option defaults to"
@@ -130,9 +146,9 @@ longusage() {
   echo "                               Specifies specific firmware files to copy. This"
   echo "                               overrides --firmware-dir. For multiple files,"
   echo "                               separate the filenames with a comma"
-  echo "       --integrated-initramfs"
-  echo "                               Build the generated initramfs into the kernel instead of"
-  echo "                               keeping it as a separate file"
+  echo "       --integrated-initramfs, --no-integrated-initramfs"
+  echo "                               Include/exclude the generated initramfs in the kernel"
+  echo "                               instead of keeping it as a separate file"
 }
 
 usage() {
@@ -151,6 +167,12 @@ usage() {
   echo '       genkernel --help'
 }
 
+parse_optbool() {
+       local opt=${1/--no-*/0} # false
+       opt=${opt/--*/1} # true
+       echo $opt
+}
+
 parse_cmdline() {
        case "$*" in
                --kernel-cc=*)
@@ -211,12 +233,8 @@ parse_cmdline() {
                        CMD_MAKEOPTS=`parse_opt "$*"`
                        print_info 2 "CMD_MAKEOPTS: ${CMD_MAKEOPTS}"
                        ;;
-               --mountboot)
-                       CMD_MOUNTBOOT=1
-                       print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}"
-                       ;;
-               --no-mountboot)
-                       CMD_MOUNTBOOT=0
+               --mountboot|--no-mountboot)
+                       CMD_MOUNTBOOT=`parse_optbool "$*"`
                        print_info 2 "CMD_MOUNTBOOT: ${CMD_MOUNTBOOT}"
                        ;;
                --bootdir=*)
@@ -228,70 +246,70 @@ parse_cmdline() {
                        CMD_KEYMAP=1
                        print_info 2 "CMD_DOKEYMAPAUTO: ${CMD_DOKEYMAPAUTO}"
                        ;;
-               --no-keymap)
-                       CMD_KEYMAP=0
+               --keymap|--no-keymap)
+                       CMD_KEYMAP=`parse_optbool "$*"`
                        print_info 2 "CMD_KEYMAP: ${CMD_KEYMAP}"
                        ;;
-               --lvm)
-                       CMD_LVM=1
+               --lvm|--no-lvm)
+                       CMD_LVM=`parse_optbool "$*"`
                        print_info 2 "CMD_LVM: ${CMD_LVM}"
                        ;;
-               --lvm2)
-                       CMD_LVM=1
+               --lvm2|--no-lvm2)
+                       CMD_LVM=`parse_optbool "$*"`
                        print_info 2 "CMD_LVM: ${CMD_LVM}"
                        echo
                        print_warning 1 "Please use --lvm, as --lvm2 is deprecated."
                        ;;
-               --mdadm)
-                       CMD_MDADM=1
+               --mdadm|--no-mdadm)
+                       CMD_MDADM=`parse_optbool "$*"`
                        print_info 2 "CMD_MDADM: $CMD_MDADM"
                        ;;
                --mdadm-config=*)
                        CMD_MDADM_CONFIG=`parse_opt "$*"`
                        print_info 2 "CMD_MDADM_CONFIG: $CMD_MDADM_CONFIG"
                        ;;
-               --no-busybox)
-                       CMD_BUSYBOX=0
+               --busybox|--no-busybox)
+                       CMD_BUSYBOX=`parse_optbool "$*"`
                        print_info 2 "CMD_BUSYBOX: ${CMD_BUSYBOX}"
                        ;;
-               --unionfs)
-                       CMD_UNIONFS=1
+               --unionfs|--no-unionfs)
+                       CMD_UNIONFS=`parse_optbool "$*"`
                        print_info 2 "CMD_UNIONFS: ${CMD_UNIONFS}"
                        ;;
-               --netboot)
-                       CMD_NETBOOT=1
+               --netboot|--no-netboot)
+                       CMD_NETBOOT=`parse_optbool "$*"`
                        print_info 2 "CMD_NETBOOT: ${CMD_NETBOOT}"
                        ;;
                --real-root=*)
                        CMD_REAL_ROOT=`parse_opt "$*"`
                        print_info 2 "CMD_REAL_ROOT: ${CMD_REAL_ROOT}"
                        ;;
-               --dmraid)
-                       if [ ! -e /usr/include/libdevmapper.h ]
+               --dmraid|--no-dmraid)
+                       CMD_DMRAID=`parse_optbool "$*"`
+                       if [ "$CMD_DMRAID" = "1" -a ! -e /usr/include/libdevmapper.h ]
                        then
                                echo 'Error: --dmraid requires device-mapper to be installed'
                                echo '           on the host system; try "emerge device-mapper".'
                                exit 1
                        fi
-                       CMD_DMRAID=1
                        print_info 2 "CMD_DMRAID: ${CMD_DMRAID}"
                        ;;
-               --multipath)
-                       if [ ! -e /usr/include/libdevmapper.h ]
+               --multipath|--no-multipath)
+                       CMD_MULTIPATH=`parse_optbool "$*"`
+                       if [ "$CMD_MULTIPATH" = "1" -a ! -e /usr/include/libdevmapper.h ]
                        then
                                echo 'Error: --multipath requires device-mapper to be installed'
                                echo '           on the host;system; try "emerge device-mapper".'
                                exit 1
                        fi
-                       CMD_MULTIPATH=1
                        print_info 2 "CMD_MULTIPATH: ${CMD_MULTIPATH}"
                        ;;
                --bootloader=*)
                        CMD_BOOTLOADER=`parse_opt "$*"`
                        print_info 2 "CMD_BOOTLOADER: ${CMD_BOOTLOADER}"
                        ;;
-               --iscsi)
-                       CMD_ISCSI=1
+               --iscsi|--no-iscsi)
+                       CMD_ISCSI=`parse_optbool "$*"`
                        print_info 2 "CMD_ISCSI: ${CMD_ISCSI}"
                        ;;
                --loglevel=*)
@@ -315,41 +333,29 @@ parse_cmdline() {
                        CMD_MENUCONFIG=0
                        print_info 2 "CMD_MENUCONFIG: ${CMD_MENUCONFIG}"
                        ;;
-               --gconfig)
-                       CMD_GCONFIG=1
+               --gconfig|--no-gconfig)
+                       CMD_GCONFIG=`parse_optbool "$*"`
                        print_info 2 "CMD_GCONFIG: ${CMD_GCONFIG}"
                        ;;
-               --xconfig)
-                       CMD_XCONFIG=1
+               --xconfig|--no-xconfig)
+                       CMD_XCONFIG=`parse_optbool "$*"`
                        print_info 2 "CMD_XCONFIG: ${CMD_XCONFIG}"
                        ;;
-               --save-config)
-                       CMD_SAVE_CONFIG=1
-                       print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}"
-                       ;;
-               --no-save-config)
-                       CMD_SAVE_CONFIG=0
+               --save-config|--no-save-config)
+                       CMD_SAVE_CONFIG=`parse_optbool "$*"`
                        print_info 2 "CMD_SAVE_CONFIG: ${CMD_SAVE_CONFIG}"
                        ;;
-               --mrproper)
-                       CMD_MRPROPER=1
+               --mrproper|--no-mrproper)
+                       CMD_MRPROPER=`parse_optbool "$*"`
                        print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}"
                        ;;
-               --no-mrproper)
-                       CMD_MRPROPER=0
-                       print_info 2 "CMD_MRPROPER: ${CMD_MRPROPER}"
-                       ;;
-               --clean)
-                       CMD_CLEAN=1
+               --clean|--no-clean)
+                       CMD_CLEAN=`parse_optbool "$*"`
                        print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
                        ;;
-               --no-clean)
-                       CMD_CLEAN=0
-                       print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
-                       ;;
-               --oldconfig)
-                       CMD_CLEAN=0
-                       CMD_OLDCONFIG=1
+               --oldconfig|--no-oldconfig)
+                       CMD_OLDCONFIG=`parse_optbool "$*"`
+                       [ "$CMD_OLDCONFIG" = "1" ] && CMD_CLEAN=0
                        print_info 2 "CMD_CLEAN: ${CMD_CLEAN}"
                        print_info 2 "CMD_OLDCONFIG: ${CMD_OLDCONFIG}"
                        ;;
@@ -361,8 +367,8 @@ parse_cmdline() {
                        echo
                        print_warning 1 "Please use --splash, as --gensplash is deprecated."
                        ;;
-               --gensplash)
-                       CMD_SPLASH=1
+               --gensplash|--no-gensplash)
+                       CMD_SPLASH=`parse_optbool "$*"`
                        SPLASH_THEME='default'
                        print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
                        echo
@@ -374,15 +380,11 @@ parse_cmdline() {
                        print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
                        print_info 2 "SPLASH_THEME: ${SPLASH_THEME}"
                        ;;
-               --splash)
-                       CMD_SPLASH=1
+               --splash|--no-splash)
+                       CMD_SPLASH=`parse_optbool "$*"`
                        SPLASH_THEME='default'
                        print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
                        ;;
-               --no-splash)
-                       CMD_SPLASH=0
-                       print_info 2 "CMD_SPLASH: ${CMD_SPLASH}"
-                       ;;
                --gensplash-res=*)
                        SPLASH_RES=`parse_opt "$*"`
                        print_info 2 "SPLASH_RES: ${SPLASH_RES}"
@@ -393,28 +395,24 @@ parse_cmdline() {
                        SPLASH_RES=`parse_opt "$*"`
                        print_info 2 "SPLASH_RES: ${SPLASH_RES}"
                        ;;
-               --install)
-                       CMD_NOINSTALL=0
-                       print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}"
-                       ;;
-               --no-install)
-                       CMD_NOINSTALL=1
-                       print_info 2 "CMD_NOINSTALL: ${CMD_NOINSTALL}"
+               --install|--no-install)
+                       CMD_INSTALL=`parse_optbool "$*"`
+                       print_info 2 "CMD_INSTALL: ${CMD_INSTALL}"
                        ;;
-               --no-ramdisk-modules)
-                       CMD_NORAMDISKMODULES=1
-                       print_info 2 "CMD_NORAMDISKMODULES: ${CMD_NORAMDISKMODULES}"
+               --ramdisk-modules|--no-ramdisk-modules)
+                       CMD_RAMDISKMODULES=`parse_optbool "$*"`
+                       print_info 2 "CMD_RAMDISKMODULES: ${CMD_RAMDISKMODULES}"
                        ;;
-               --all-ramdisk-modules)
-                       CMD_ALLRAMDISKMODULES=1
+               --all-ramdisk-modules|--no-all-ramdisk-modules)
+                       CMD_ALLRAMDISKMODULES=`parse_optbool "$*"`
                        print_info 2 "CMD_ALLRAMDISKMODULES: ${CMD_ALLRAMDISKMODULES}"
                        ;;
                --callback=*)
                        CMD_CALLBACK=`parse_opt "$*"`
                        print_info 2 "CMD_CALLBACK: ${CMD_CALLBACK}/$*"
                        ;;
-               --static)
-                       CMD_STATIC=1
+               --static|--no-static)
+                       CMD_STATIC=`parse_optbool "$*"`
                        print_info 2 "CMD_STATIC: ${CMD_STATIC}"
                        ;;
                --tempdir=*)
@@ -423,21 +421,16 @@ parse_cmdline() {
                        print_info 2 "TMPDIR: ${TMPDIR}"
                        print_info 2 "TEMP: ${TEMP}"
                        ;;
-               --postclear)
-                       CMD_POSTCLEAR=1
+               --postclear|--no-postclear)
+                       CMD_POSTCLEAR=`parse_optbool "$*"`
                        print_info 2 "CMD_POSTCLEAR: ${CMD_POSTCLEAR}"
                        ;;
                --arch-override=*)
                        CMD_ARCHOVERRIDE=`parse_opt "$*"`
                        print_info 2 "CMD_ARCHOVERRIDE: ${CMD_ARCHOVERRIDE}"
                        ;;
-               --color)
-                       USECOLOR=1
-                       print_info 2 "USECOLOR: ${USECOLOR}"
-                       setColorVars
-                       ;;
-               --no-color)
-                       USECOLOR=0
+               --color|--no-color)
+                       USECOLOR=`parse_optbool "$*"`
                        print_info 2 "USECOLOR: ${USECOLOR}"
                        setColorVars
                        ;;
@@ -479,17 +472,13 @@ parse_cmdline() {
                        CMD_KERNNAME=`parse_opt "$*"`
                        print_info 2 "KERNNAME: ${CMD_KERNNAME}"
                        ;;
-               --symlink)
-                       CMD_SYMLINK=1
+               --symlink|--no-symlink)
+                       CMD_SYMLINK=`parse_optbool "$*"`
                        print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}"
                        ;;
-               --no-symlink)
-                       CMD_SYMLINK=0
-                       print_info 2 "CMD_SYMLINK: ${CMD_SYMLINK}"
-                       ;;
-               --no-kernel-sources)
-                       CMD_NO_KERNEL_SOURCES=1
-                       print_info 2 "CMD_NO_KERNEL_SOURCES: ${CMD_NO_KERNEL_SOURCES}"
+               --kernel-sources|--no-kernel-sources)
+                       CMD_KERNEL_SOURCES=`parse_optbool "$*"`
+                       print_info 2 "CMD_KERNEL_SOURCES: ${CMD_KERNEL_SOURCES}"
                        ;;
                --initramfs-overlay=*)
                        CMD_INITRAMFS_OVERLAY=`parse_opt "$*"`
@@ -510,20 +499,20 @@ parse_cmdline() {
 #                      ENABLE_PEGASOS_HACKS="yes"
 #                      print_info 2 "ENABLE_PEGASOS_HACKS: ${ENABLE_PEGASOS_HACKS}"
                        ;;
-               --disklabel)
-                       CMD_DISKLABEL=1
+               --disklabel|--no-disklabel)
+                       CMD_DISKLABEL=`parse_optbool "$*"`
                        print_info 2 "CMD_DISKLABEL: ${CMD_DISKLABEL}"
                        ;;
-               --luks)
-                       CMD_LUKS=1
+               --luks|--no-luks)
+                       CMD_LUKS=`parse_optbool "$*"`
                        print_info 2 "CMD_LUKS: ${CMD_LUKS}"
                        ;;
-               --gpg)
-                       CMD_GPG=1
+               --gpg|--no-gpg)
+                       CMD_GPG=`parse_optbool "$*"`
                        print_info 2 "CMD_GPG: ${CMD_GPG}"
                        ;;
-               --firmware)
-                       CMD_FIRMWARE=1
+               --firmware|--no-firmware)
+                       CMD_FIRMWARE=`parse_optbool "$*"`
                        print_info 2 "CMD_FIRMWARE: ${CMD_FIRMWARE}"
                        ;;
                --firmware-dir=*)
@@ -536,8 +525,8 @@ parse_cmdline() {
                        CMD_FIRMWARE=1
                        print_info 2 "CMD_FIRMWARE_FILES: ${CMD_FIRMWARE_FILES}"
                        ;;
-               --integrated-initramfs)
-                       CMD_INTEGRATED_INITRAMFS=1
+               --integrated-initramfs|--no-integrated-initramfs)
+                       CMD_INTEGRATED_INITRAMFS=`parse_optbool "$*"`
                        print_info 2 "CMD_INTEGRATED_INITRAMFS=${CMD_INTEGRATED_INITRAMFS}"
                        ;;
                --config=*)
@@ -560,8 +549,8 @@ parse_cmdline() {
                        BUILD_KERNEL=1
                        BUILD_MODULES=0
                        BUILD_RAMDISK=1
-                       CMD_NORAMDISKMODULES=1
-                       print_info 2 "CMD_NORAMDISKMODULES: ${CMD_NORAMDISKMODULES}"
+                       CMD_RAMDISKMODULES=0
+                       print_info 2 "CMD_RAMDISKMODULES: ${CMD_RAMDISKMODULES}"
                        ;;
                --help)
                        longusage
index 4f4ed25504aa43d476869e23ba7c7e3bb1306c07..d865df843b707266c7b1939ce3edd364e6d3f231 100755 (executable)
@@ -324,7 +324,7 @@ compile_kernel() {
                gen_die "Cannot locate kernel binary"
        fi
 
-       if ! isTrue "${CMD_NOINSTALL}"
+       if isTrue "${CMD_INSTALL}"
        then
                copy_image_with_preserve "kernel" \
                        "${tmp_kernel_binary}" \
index 8244269ffa9869da3f3fe224956ad68aaa123939..b68f04820966d9de30dc1bd50563fdab418b30f5 100755 (executable)
@@ -2,7 +2,7 @@
 # $Id$
 
 get_KV() {
-       if [ "${NO_KERNEL_SOURCES}" = '1' -a -e "${KERNCACHE}" ]
+       if [ "${KERNEL_SOURCES}" = '0' -a -e "${KERNCACHE}" ]
        then
                /bin/tar -xj -C ${TEMP} -f ${KERNCACHE} kerncache.config 
                if [ -e ${TEMP}/kerncache.config ]
@@ -72,7 +72,7 @@ determine_real_args() {
        #                               ------------------   ------------             ------------
        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   NO_KERNEL_SOURCES    CMD_NO_KERNEL_SOURCES
+       set_config_with_override BOOL   KERNEL_SOURCES           CMD_KERNEL_SOURCES
        set_config_with_override STRING KNAME                CMD_KERNNAME             "genkernel"
 
        set_config_with_override STRING MAKEOPTS             CMD_MAKEOPTS             "$DEFAULT_MAKEOPTS"
@@ -98,7 +98,7 @@ determine_real_args() {
        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   NORAMDISKMODULES     CMD_NORAMDISKMODULES
+       set_config_with_override BOOL   RAMDISKMODULES       CMD_RAMDISKMODULES
        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
@@ -128,6 +128,7 @@ determine_real_args() {
        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
 
        BOOTDIR=`arch_replace "${BOOTDIR}"`
        BOOTDIR=${BOOTDIR%/}    # Remove any trailing slash
@@ -167,7 +168,7 @@ determine_real_args() {
                fi
        fi
 
-       if [ "${NO_KERNEL_SOURCES}" != "1" ]
+       if [ "${KERNEL_SOURCES}" != "0" ]
        then
                if [ ! -d ${KERNEL_DIR} ]
                then
@@ -177,11 +178,11 @@ determine_real_args() {
 
        if [ -z "${KERNCACHE}" ]
        then
-               if [ "${KERNEL_DIR}" = '' -a "${NO_KERNEL_SOURCES}" != "1" ]
+               if [ "${KERNEL_DIR}" = '' -a "${KERNEL_SOURCES}" != "0" ]
                then
                        gen_die 'No kernel source directory!'
                fi
-               if [ ! -e "${KERNEL_DIR}" -a "${NO_KERNEL_SOURCES}" != "1" ]
+               if [ ! -e "${KERNEL_DIR}" -a "${KERNEL_SOURCES}" != "0" ]
                then
                        gen_die 'No kernel source directory!'
                fi
index 13e57c76a8d4137ae38b86b95b63d97f0e801210..3beabd777eb2d7b75b3a07bb2aa2326168a9e6bb 100755 (executable)
@@ -257,7 +257,7 @@ fi
 
 clear_tmpdir()
 {
-if ! isTrue ${CMD_NOINSTALL}
+if isTrue ${CMD_INSTALL}
 then
        TMPDIR_CONTENTS=`ls ${TMPDIR}`
        print_info 1 "Removing tmp dir contents"
index 41c07a6a937fe498c625207fc3c4df3ea8f31bc7..c64469453e7d615f399edcf91a5909a8df379943 100755 (executable)
@@ -641,7 +641,7 @@ create_initramfs() {
        append_data 'multipath' "${MULTIPATH}"
        append_data 'gpg' "${GPG}"
 
-       if [ "${NORAMDISKMODULES}" = '0' ]
+       if [ "${RAMDISKMODULES}" = '1' ]
        then
                append_data 'modules'
        else
@@ -677,7 +677,7 @@ create_initramfs() {
                echo -e "CONFIG_INITRAMFS_SOURCE=\"${TMPDIR}/initramfs-${KV}.cpio.gz\"\nCONFIG_INITRAMFS_ROOT_UID=0\nCONFIG_INITRAMFS_ROOT_GID=0" >> ${KERNEL_DIR}/.config
        fi
 
-       if ! isTrue "${CMD_NOINSTALL}"
+       if isTrue "${CMD_INSTALL}"
        then
                if ! isTrue "${INTEGRATED_INITRAMFS}"
                then
index 5cf33c5fdba690c64ad1574e3cf31ffcb8218076..0122b0aa52f27fceaa4d7195047dffeb68d2a2a6 100755 (executable)
--- a/genkernel
+++ b/genkernel
@@ -131,7 +131,7 @@ dump_debugcache
 NORMAL=${BOLD} print_info 1 "Linux Kernel ${BOLD}${KV}${NORMAL} for ${BOLD}${ARCH}${NORMAL}..."
 
 # Check BOOTDIR is mounted
-if isTrue ${CMD_NOINSTALL}
+if ! isTrue ${CMD_INSTALL}
 then
        isTrue ${MOUNTBOOT} && print_info 2 'Skipping automatic mount of boot'
 else
@@ -230,7 +230,7 @@ then
        fi
 fi
 
-if ! isTrue "${CMD_NOINSTALL}"
+if isTrue "${CMD_INSTALL}"
 then
        if [ "${KERNCACHE}" != "" -a "${KERNCACHE_IS_VALID}" != "0" ] 
        then
@@ -313,7 +313,7 @@ fi
 
 if [ "${BUILD_KERNEL}" = '1' ]
 then
-       if ! isTrue "${CMD_NOINSTALL}"
+       if isTrue "${CMD_INSTALL}"
        then
                set_bootloader
        fi
index 24fcd54faeb7efdd95b7ffd12deacf0d20ccc7a6..86282671001ae574bd377016763315e88338c650 100644 (file)
@@ -258,7 +258,7 @@ GPG_BINCACHE="%%CACHE%%/gnupg-${GPG_VER}-%%ARCH%%.bz2"
 # This option is only valid if kerncache is
 # defined. If there is a valid kerncache no checks
 # will be made against a kernel source tree
-#NO_KERNEL_SOURCES="1"
+#KERNEL_SOURCES="0"
 
 
 # Build a static (monolithic kernel)
@@ -289,7 +289,7 @@ GPG_BINCACHE="%%CACHE%%/gnupg-${GPG_VER}-%%ARCH%%.bz2"
 
 
 # Don't copy any modules to the ramdisk
-#NORAMDISKMODULES="1"
+#RAMDISKMODULES="0"
 
 
 # File to output a .tar.bz2'd kernel and ramdisk: