--- /dev/null
+# -*- shell-script -*-
+
+#
+# shell script command line parameter-processing for:
+#
+# grml-debootstrap - wrapper around debootstrap for installing plain Debian via
+# grml
+#
+# @Author: Tong SUN
+# @Release: $Revision: $, under the BSD license
+# @HomeURL: http://xpt.sourceforge.net/
+#
+
+
+eval set -- `getopt \
+ -o +m:i:r:t:p:c:hv --long \
+ mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,config:,packages::,debconf::,keep_src_list,hostname:,password:,bootappend:,groot:,grub:,help,version \
+ -- "$@"`
+
+while :; do
+ case "$1" in
+
+ # == Bootstrap options
+ --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
+ shift; _opt_iso="$1"
+ ;;
+ --release|-r) # Release of new Debian system (default: stable).
+ shift; _opt_release="$1"
+ ;;
+ --target|-t) # Target partition (/dev/...) or directory.
+ shift; _opt_target="$1"
+ ;;
+ --mntpoint|-p) # Mountpoint used for mounting the target system.
+ shift; _opt_mntpoint="$1"
+ ;;
+ --debopt) # Extra parameters passed to the debootstrap.
+ shift; _opt_debopt="$1"
+ ;;
+ --interactive) # Use interactive mode (frontend).
+ _opt_interactive=T
+ ;;
+ #
+
+ # == Configuration options
+ --config|-c) # Use specified configuration file, defaults to /etc/debootstr
+ shift; _opt_config="$1"
+ ;;
+ --packages) # Install packages defined in /etc/debootstrap/packages. Optio
+ shift; _opt_packages="$1"
+ _opt_packages_set=T
+ ;;
+ --debconf) # Pre-seed packages using /etc/debootstrap/debconf-selections.
+ shift; _opt_debconf="$1"
+ _opt_debconf_set=T
+ ;;
+ --keep_src_list) # Do not overwrite user provided apt sources.list.
+ _opt_keep_src_list=T
+ ;;
+ --hostname) # Hostname of Debian system.
+ shift; _opt_hostname="$1"
+ ;;
+ --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"
+ ;;
+ --groot) # Root device for usage in grub, corresponds with $TARGET in g
+ shift; _opt_groot="$1"
+ ;;
+ --grub) # Target for grub installation. Use grub syntax for specifying
+ shift; _opt_grub="$1"
+ ;;
+
+ # == Other options
+ --help|-h) # Print this usage information and exit.
+ _opt_help=T
+ ;;
+ --version|-v) # Show summary of options and exit.
+ _opt_version=T
+ ;;
+ --)
+ shift; break
+ ;;
+ *)
+ eerror "Internal getopt error!"; eend 1 ; exit 1
+ ;;
+ esac
+ shift
+done
+
+
+[ "$_opt_debug" ] && {
+ echo "[grml-debootstrap] debug: _opt_mirror=$_opt_mirror"
+ echo "[grml-debootstrap] debug: _opt_iso=$_opt_iso"
+ echo "[grml-debootstrap] debug: _opt_release=$_opt_release"
+ echo "[grml-debootstrap] debug: _opt_target=$_opt_target"
+ echo "[grml-debootstrap] debug: _opt_mntpoint=$_opt_mntpoint"
+ echo "[grml-debootstrap] debug: _opt_debopt=$_opt_debopt"
+ echo "[grml-debootstrap] debug: _opt_interactive=$_opt_interactive"
+ echo "[grml-debootstrap] debug: _opt_config=$_opt_config"
+ echo "[grml-debootstrap] debug: _opt_packages=$_opt_packages"
+ echo "[grml-debootstrap] debug: _opt_debconf=$_opt_debconf"
+ echo "[grml-debootstrap] debug: _opt_keep_src_list=$_opt_keep_src_list"
+ echo "[grml-debootstrap] debug: _opt_hostname=$_opt_hostname"
+ echo "[grml-debootstrap] debug: _opt_password=$_opt_password"
+ echo "[grml-debootstrap] debug: _opt_bootappend=$_opt_bootappend"
+ echo "[grml-debootstrap] debug: _opt_groot=$_opt_groot"
+ echo "[grml-debootstrap] debug: _opt_grub=$_opt_grub"
+ echo "[grml-debootstrap] debug: _opt_help=$_opt_help"
+ echo "[grml-debootstrap] debug: _opt_version=$_opt_version"
+}
+
+if [ "$_opt_check_failed" ]; then
+ eerror "Not all mandatory options are set."; eend 1 ; exit 1
+fi
+
+# End