# -*- shell-script -*-
-# Filename: grml-debootstrap.clp
+# Filename: cmdlineopts.clp
# Purpose: shell script command line parameter-processing for grml-debootstrap
# Authors: grml-team (grml.org), Tong Sun <suntong@cpan.org>
# Bug-Reports: see http://grml.org/bugs/
# should be handled in the main script, where it belongs.
################################################################################
+CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,vmfile,vmsize:,keep_src_list,hostname:,password:,nopassword,grmlrepos,bootappend:,grub:,arch:,insecure,verbose,help,version,force
+
_opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
- mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,config:,confdir:,packages::,debconf::,keep_src_list,hostname:,password:,bootappend:,groot:,grub:,verbose,help,version \
- -- "$@"`
+ $CMDLINE_OPTS -- "$@"`
+
if [ $? != 0 ]; then
eerror "Try 'grml-debootstrap --help' for more information."; eend 1; exit 1
fi
case "$1" in
# == Bootstrap options
- --mirror|-m) # Mirror which should be used for apt-get/aptitude.
+ --mirror|-m) # Mirror which should be used for apt-get/aptitude
shift; _opt_mirror="$1"
;;
- --iso|-i) # Mountpoint where a Debian ISO is mounted to, for use instead
+ --iso|-i) # Mountpoint where a Debian ISO is mounted to
shift; _opt_iso="$1"
;;
- --release|-r) # Release of new Debian system (default: stable).
+ --release|-r) # Release of new Debian system
shift; _opt_release="$1"
;;
- --target|-t) # Target partition (/dev/...) or directory.
+ --target|-t) # Target partition (/dev/...) or directory
shift; _opt_target="$1"
;;
- --mntpoint|-p) # Mountpoint used for mounting the target system.
+ --vmfile) # Virtual machine file
+ _opt_vmfile="T"
+ ;;
+ --vmsize) # size of Virtual machine file
+ shift; _opt_vmsize="$1"
+ ;;
+ --mntpoint|-p) # Mountpoint used for mounting the target system
shift; _opt_mntpoint="$1"
;;
- --debopt) # Extra parameters passed to the debootstrap.
+ --debopt) # Extra parameters passed to the debootstrap command
shift; _opt_debopt="$1"
;;
- --interactive) # Use interactive mode (frontend).
+ --filesystem) # Filesystem that should be used
+ shift; _opt_filesystem="$1"
+ ;;
+ --interactive) # Use interactive mode (frontend)
_opt_interactive=T
;;
- --nodebootstrap) # Skip debootstrap, only do configuration to the target.
+ --nodebootstrap) # Skip debootstrap, only do configuration to the target
_opt_nodebootstrap=T
;;
+ --nopackages) # Skip installation of packages defined in /etc/debootstrap/packages
+ _opt_nopackages=T
+ ;;
+ --arch) # Target architecutre
+ shift; _opt_arch="$1"
+ ;;
+ --insecure)
+ _opt_insecure=T
+ ;;
#
# == Configuration options
- --config|-c) # Use specified configuration file, defaults to /etc/debootstr
+ --config|-c) # Use specified configuration file, defaults to /etc/debootstrap
shift; _opt_config="$1"
;;
- --confdir|-d) # Place of config files for debootstrap, defaults to /etc/debo
+ --confdir|-d) # Place of config files for debootstrap, defaults to /etc/debootstrap
shift; _opt_confdir="$1"
;;
- --packages) # Install packages defined in <confdir>/packages. Option arg:
+ --packages) # Install packages defined in specified file
shift; _opt_packages="$1"
_opt_packages_set=T
;;
- --debconf) # Pre-seed packages using <confdir>/debconf-selections. Option
+ --debconf) # Pre-seed packages using specified file
shift; _opt_debconf="$1"
_opt_debconf_set=T
;;
- --keep_src_list) # Do not overwrite user provided apt sources.list.
+ --pre-scripts) # Execute scripts from specified directory (before chroot-scripts).
+ shift; _opt_pre_scripts="$1"
+ _opt_pre_scripts_set=T
+ ;;
+ --scripts) # Execute scripts from specified directory
+ shift; _opt_scripts="$1"
+ _opt_scripts_set=T
+ ;;
+ --chroot-scripts) # Execute chroot scripts from specified directory
+ shift; _opt_chroot_scripts="$1"
+ _opt_chroot_scripts_set=T
+ ;;
+ --keep_src_list) # Do not overwrite user provided apt sources.list
_opt_keep_src_list=T
;;
- --hostname) # Hostname of Debian system.
+ --hostname) # Hostname of Debian system
shift; _opt_hostname="$1"
;;
- --password) # Use specified password as password for user root.
+ --password) # Use specified password as password for user root
shift; _opt_password="$1"
;;
- #
- --bootappend) # Add specified appendline to kernel whilst booting.
- shift; _opt_bootappend="$1"
+ --nopassword) # Use specified password as password for user root
+ _opt_nopassword=T
+ ;;
+ --grmlrepos) # Enable Grml repository
+ _opt_grmlrepos=T
;;
- --groot) # Root device for usage in grub, corresponds with $TARGET in g
- shift; _opt_groot="$1"
+ --bootappend) # Add specified appendline to kernel whilst booting
+ shift; _opt_bootappend="$1"
;;
--grub) # Target for grub installation. Use grub syntax for specifying
shift; _opt_grub="$1"
;;
# == Other options
- --verbose|-v) # Increase verbosity.
+ --verbose|-v) # Increase verbosity
if [ "$_opt_verbose" ]; then _opt_verbose=`expr $_opt_verbose + 1`
else _opt_verbose=1; fi
;;
- --help|-h) # Print this usage information and exit.
+ --help|-h) # Print usage information and exit
_opt_help=T
;;
- --version|-V) # Show summary of options and exit.
+ --version|-V) # Show version information and exit
_opt_version=T
;;
+ --force) # Do not prompt for user input
+ _opt_force=T
+ ;;
--)
shift; break
;;