improved amd64 on i386 build attempt bailout msg
[grml-debootstrap.git] / cmdlineopts.clp
1 # -*- shell-script -*-
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 ################################################################################
14
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
16
17 _opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
18     $CMDLINE_OPTS -- "$@"`
19
20 if [ $? != 0 ]; then
21   eerror "Try 'grml-debootstrap --help' for more information."; eend 1; exit 1
22 fi
23 eval set -- "$_opt_temp"
24
25 while :; do
26   case "$1" in
27
28   # == Bootstrap options
29   --mirror|-m)         # Mirror which should be used for apt-get/aptitude
30     shift; _opt_mirror="$1"
31     ;;
32   --iso|-i)            # Mountpoint where a Debian ISO is mounted to
33     shift; _opt_iso="$1"
34     ;;
35   --release|-r)        # Release of new Debian system
36     shift; _opt_release="$1"
37     ;;
38   --target|-t)         # Target partition (/dev/...) or directory
39     shift; _opt_target="$1"
40     ;;
41   --vm)                # Virtual machine image (no file)
42     _opt_vm="T"
43     ;;
44   --vmfile)            # Virtual machine file
45     _opt_vmfile="T"
46     ;;
47   --vmsize)            # size of Virtual machine file
48     shift; _opt_vmsize="$1"
49     ;;
50   --mntpoint|-p)       # Mountpoint used for mounting the target system
51     shift; _opt_mntpoint="$1"
52     ;;
53   --debopt)            # Extra parameters passed to the debootstrap command
54     shift; _opt_debopt="$1"
55     ;;
56   --filesystem)        # Filesystem that should be used
57     shift; _opt_filesystem="$1"
58     ;;
59   --interactive)       # Use interactive mode (frontend)
60     _opt_interactive=T
61     ;;
62   --nodebootstrap)     # Skip debootstrap, only do configuration to the target
63     _opt_nodebootstrap=T
64     ;;
65   --nopackages)        # Skip installation of packages defined in /etc/debootstrap/packages
66     _opt_nopackages=T
67     ;;
68   --arch)              # Target architecutre
69     shift; _opt_arch="$1"
70     ;;
71   # just for backwards compatibility
72   --insecure)
73     _opt_insecure=T
74     ;;
75   #
76
77   # == Configuration options
78   --config|-c)         # Use specified configuration file, defaults to /etc/debootstrap
79     shift; _opt_config="$1"
80     ;;
81   --confdir|-d)        # Place of config files for debootstrap, defaults to /etc/debootstrap
82     shift; _opt_confdir="$1"
83     ;;
84   --packages)          # Install packages defined in specified file
85     shift; _opt_packages="$1"
86     _opt_packages_set=T
87     ;;
88   --debconf)           # Pre-seed packages using specified file
89     shift; _opt_debconf="$1"
90     _opt_debconf_set=T
91     ;;
92   --pre-scripts)       # Execute scripts from specified directory (before chroot-scripts).
93     shift; _opt_pre_scripts="$1"
94     _opt_pre_scripts_set=T
95     ;;
96   --scripts)           # Execute scripts from specified directory [NOTE: deprecated, replaced via --post-scripts]
97     shift; _opt_scripts="$1"
98     _opt_scripts_set=T
99     ;;
100   --post-scripts)       # Execute scripts from specified directory
101     shift; _opt_post_scripts="$1"
102     _opt_post_scripts_set=T
103     ;;
104   --chroot-scripts)   # Execute chroot scripts from specified directory
105     shift; _opt_chroot_scripts="$1"
106     _opt_chroot_scripts_set=T
107     ;;
108   --keep_src_list)     # Do not overwrite user provided apt sources.list
109     _opt_keep_src_list=T
110     ;;
111   --hostname)          # Hostname of Debian system
112     shift; _opt_hostname="$1"
113     ;;
114   --password)          # Use specified password as password for user root
115     shift; _opt_password="$1"
116     ;;
117   --defaultinterfaces) # Install default /etc/network/interfaces
118     _opt_defaultinterfaces=T
119     ;;
120   --nointerfaces)      # Skip installation of /etc/network/interfaces
121     _opt_nointerfaces=T
122     ;;
123   --nokernel)          # Skip installation of default kernel images
124     _opt_nokernel=T
125     ;;
126   --nopassword)        # Skip password dialog
127     _opt_nopassword=T
128     ;;
129   --grmlrepos)         # Enable Grml repository
130     _opt_grmlrepos=T
131     ;;
132   --backportrepos)     # Enable Debian backports repository
133     _opt_backportrepos=T
134     ;;
135   --bootappend)        # Add specified appendline to kernel whilst booting
136     shift; _opt_bootappend="$1"
137     ;;
138   --grub)              # Target for grub installation. Use grub syntax for specifying
139     shift; _opt_grub="$1"
140     ;;
141   --contrib)           # Add 'contrib' to list of components
142     _opt_contrib=T
143     ;;
144   --non-free)          # Add 'non-free' to list of components
145     _opt_non_free=T
146     ;;
147   --remove-configs)    # Drop config files from installed system
148     _opt_remove_configs=T
149     ;;
150
151   # == Other options
152   --verbose|-v)        # Increase verbosity
153     if [ "$_opt_verbose" ]; then _opt_verbose=`expr $_opt_verbose + 1`
154     else _opt_verbose=1; fi
155     ;;
156   --debug)             # Execute in debug mode
157     _opt_debug=T
158     ;;
159   --help|-h)           # Print usage information and exit
160     _opt_help=T
161     ;;
162   --version|-V)        # Show version information and exit
163     _opt_version=T
164     ;;
165   --force)             # Do not prompt for user input
166     _opt_force=T
167     ;;
168   --)
169     shift; break
170     ;;
171   *)
172     eerror "Internal getopt error!"; eend 1 ; exit 1
173     ;;
174   esac
175   shift
176 done
177
178 ## END OF FILE #################################################################