2 # Filename: cmdlineopts.clp
3 # Purpose: shell script command line parameter-processing for grml-debootstrap
4 # Authors: grml-team (grml.org), Tong Sun <suntong@cpan.org>
5 # Bug-Reports: see http://grml.org/bugs/
6 # License: This file is licensed under the GPL v2 or any later version.
7 ################################################################################
8 # @WARNING: Do NOT modify this file without prior contacting the author.
9 # This script is use for the command line *logic* processing. It should be
10 # as dumb as possible. I.e., it should NOT be more complicated than
11 # copy-paste-and-rename from existing code. All *business-logic* processing
12 # should be handled in the main script, where it belongs.
13 ################################################################################
15 CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,defaultinterfaces,interactive,nodebootstrap,nointerfaces,nokernel,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,post-scripts:,pre-scripts:,debconf:,vm,vmfile,vmsize:,keep_src_list,hostname:,password:,nopassword,grmlrepos,backportrepos,bootappend:,grub:,arch:,insecure,verbose,help,version,force,debug,contrib,non-free,remove-configs
17 _opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
18 $CMDLINE_OPTS -- "$@"`
21 eerror "Try 'grml-debootstrap --help' for more information."; eend 1; exit 1
23 eval set -- "$_opt_temp"
28 # == Bootstrap options
29 --mirror|-m) # Mirror which should be used for apt-get/aptitude
30 shift; _opt_mirror="$1"
32 --iso|-i) # Mountpoint where a Debian ISO is mounted to
35 --release|-r) # Release of new Debian system
36 shift; _opt_release="$1"
38 --target|-t) # Target partition (/dev/...) or directory
39 shift; _opt_target="$1"
41 --vm) # Virtual machine image (no file)
44 --vmfile) # Virtual machine file
47 --vmsize) # size of Virtual machine file
48 shift; _opt_vmsize="$1"
50 --mntpoint|-p) # Mountpoint used for mounting the target system
51 shift; _opt_mntpoint="$1"
53 --debopt) # Extra parameters passed to the debootstrap command
54 shift; _opt_debopt="$1"
56 --filesystem) # Filesystem that should be used
57 shift; _opt_filesystem="$1"
59 --interactive) # Use interactive mode (frontend)
62 --nodebootstrap) # Skip debootstrap, only do configuration to the target
65 --nopackages) # Skip installation of packages defined in /etc/debootstrap/packages
68 --arch) # Target architecutre
71 # just for backwards compatibility
77 # == Configuration options
78 --config|-c) # Use specified configuration file, defaults to /etc/debootstrap
79 shift; _opt_config="$1"
81 --confdir|-d) # Place of config files for debootstrap, defaults to /etc/debootstrap
82 shift; _opt_confdir="$1"
84 --packages) # Install packages defined in specified file
85 shift; _opt_packages="$1"
88 --debconf) # Pre-seed packages using specified file
89 shift; _opt_debconf="$1"
92 --pre-scripts) # Execute scripts from specified directory (before chroot-scripts).
93 shift; _opt_pre_scripts="$1"
94 _opt_pre_scripts_set=T
96 --scripts) # Execute scripts from specified directory [NOTE: deprecated, replaced via --post-scripts]
97 shift; _opt_scripts="$1"
100 --post-scripts) # Execute scripts from specified directory
101 shift; _opt_post_scripts="$1"
102 _opt_post_scripts_set=T
104 --chroot-scripts) # Execute chroot scripts from specified directory
105 shift; _opt_chroot_scripts="$1"
106 _opt_chroot_scripts_set=T
108 --keep_src_list) # Do not overwrite user provided apt sources.list
111 --hostname) # Hostname of Debian system
112 shift; _opt_hostname="$1"
114 --password) # Use specified password as password for user root
115 shift; _opt_password="$1"
117 --defaultinterfaces) # Install default /etc/network/interfaces
118 _opt_defaultinterfaces=T
120 --nointerfaces) # Skip installation of /etc/network/interfaces
123 --nokernel) # Skip installation of default kernel images
126 --nopassword) # Skip password dialog
129 --grmlrepos) # Enable Grml repository
132 --backportrepos) # Enable Debian backports repository
135 --bootappend) # Add specified appendline to kernel whilst booting
136 shift; _opt_bootappend="$1"
138 --grub) # Target for grub installation. Use grub syntax for specifying
139 shift; _opt_grub="$1"
141 --contrib) # Add 'contrib' to list of components
144 --non-free) # Add 'non-free' to list of components
147 --remove-configs) # Drop config files from installed system
148 _opt_remove_configs=T
152 --verbose|-v) # Increase verbosity
153 if [ "$_opt_verbose" ]; then _opt_verbose=`expr $_opt_verbose + 1`
154 else _opt_verbose=1; fi
156 --debug) # Execute in debug mode
159 --help|-h) # Print usage information and exit
162 --version|-V) # Show version information and exit
165 --force) # Do not prompt for user input
172 eerror "Internal getopt error!"; eend 1 ; exit 1
178 ## END OF FILE #################################################################