[issue801] grml-debootstrap parameter handling

Tong Sun bts at bts.grml.org
Sat Jan 16 21:57:10 CET 2010


Tong Sun <suntong at cpan.org> added the comment:

[issue801] grml-debootstrap parameter handling, fix code

[issue801] grml-debootstrap parameter handling, fix doc
---
 cmdlineopts.clp        |    2 +-
 config                 |    4 +-
 grml-debootstrap       |    8 +++---
 grml-debootstrap.8.txt |   58 +++++++++++++++++++++++++++++++++---------------
 4 files changed, 47 insertions(+), 25 deletions(-)

diff --git a/cmdlineopts.clp b/cmdlineopts.clp
index dd88afb..cefb76f 100644
--- a/cmdlineopts.clp
+++ b/cmdlineopts.clp
@@ -12,7 +12,7 @@
 # should be handled in the main script, where it belongs.
 ################################################################################
 
-CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,keep_src_list,hostname:,password:,bootappend:,grub:,arch:,insecure,verbose,help,version
+CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,config:,confdir:,packages::,chroot-scripts:,scripts::,pre-scripts::,debconf::,keep_src_list,hostname:,password:,bootappend:,grub:,arch:,insecure,verbose,help,version
 
 _opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
     $CMDLINE_OPTS -- "$@"`
diff --git a/config b/config
index bd75618..a0cdb11 100644
--- a/config
+++ b/config
@@ -113,10 +113,10 @@ DEBIAN_FRONTEND='noninteractive'
 # STAGES='/var/cache/grml-debootstrap'
 
 # install packages defined in /etc/debootstrap/packages?
-PACKAGES='yes'
+PACKAGES=#'yes'
 
 # pre-seed packages using /etc/debootstrap/debconf-selections (if exist)?
-DEBCONF='yes'
+DEBCONF=#'yes'
 
 # execute scripts from /etc/debootstrap/chroot-scripts/ inside the chroot?
 CHROOT_SCRIPTS='yes'
diff --git a/grml-debootstrap b/grml-debootstrap
index 5ca15e8..7edc29b 100755
--- a/grml-debootstrap
+++ b/grml-debootstrap
@@ -57,15 +57,15 @@ Configuration options:
                              /etc/debootstrap/config
   -d, --confdir <path>     Place of config files for debootstrap, defaults
                              to /etc/debootstrap
-      --packages <file>    Install packages defined in specified list file.
-      --debconf <file>     Pre-seed packages using specified pre-seed db file.
+      --packages[=<file>]  Install packages defined in specified list file.
+      --debconf[=<file>]   Pre-seed packages using specified pre-seed db file.
       --keep_src_list      Do not overwrite user provided apt sources.list.
       --hostname <name>    Hostname of Debian system.
       --password <pwd>     Use specified password as password for user root.
       --bootappend <line>  Add specified appendline to kernel whilst booting.
       --chroot-scripts <d> Execute chroot scripts from specified directory.
-      --pre-scripts <dir>  Execute scripts from specified directory (before chroot-scripts).
-      --scripts <dir>      Execute scripts from specified directory (after chroot-scripts).
+      --pre-scripts[=<d>]  Execute scripts from specified directory (before chroot-scripts).
+      --scripts[=<dir>]    Execute scripts from specified directory (after chroot-scripts).
 
 Other options:
 
diff --git a/grml-debootstrap.8.txt b/grml-debootstrap.8.txt
index b9e0349..bbfa605 100644
--- a/grml-debootstrap.8.txt
+++ b/grml-debootstrap.8.txt
@@ -56,10 +56,12 @@ Options and environment variables
 
     Place of configuration files for debootstrap, defaults to /etc/debootstrap.
 
-*--debconf* <_file_>::
+*--debconf*[=<_file_>]::
 
-    Use specified file for preseeding Debian packages instead of using
-    the default <confdir>/debconf-selections.
+    When using *--debconf* without the optional '=<_file_>' parameter, it
+    enables preseeding Debian packages using the default
+    '<confdir>/debconf-selections' file. If the optional parameter is given,
+    use the specified file for preseeding Debian packages instead.
 
 *--debopt* <_params_>::
 
@@ -114,10 +116,13 @@ Options and environment variables
     Note: this option has no effect if option -t is given and represents a
     directory.
 
-*--packages* <_file_>::
+*--packages*[=<_file_>]::
 
-    Use specified file as list for packages that should be installed instead of
-    the default package list file <confdir>/packages.
+    When using *--packages* without the optional '=<_file_>' parameter, it
+    enables installing the packages defined in the default package list
+    '<confdir>/packages' file. If the optional parameter is given, the
+    specified list file is used as list for packages that should be
+    installed instead.
 
 *--password* <_password_>::
 
@@ -131,20 +136,25 @@ Options and environment variables
     squeeze (note: requires current version of debootstrap) and sid.
     Corresponding with configuration variable RELEASE.
 
-*--pre-scripts* <_directory_>::
+*--pre-scripts*[=<_directory_>]::
 
-    Execute scripts from specified directory before executing the chroot
-    script. This allows customisation of the system before the chroot has
-    been set up.  The environment variable $MNTPOINT is available inside the
-    scripts for direct access of the chroot.
-    Default directory: /etc/debootstrap/pre-scripts/
+    When using *--pre-scripts* without the optional '=<_directory_>'
+    parameter, it enables executing scripts from the default
+    '<confdir>/pre-scripts/' directory before executing the chroot script.
+    If the optional parameter is given, execute scripts from the specified
+    directory instead. This allows customization of the system before the
+    chroot has been set up.  The environment variable $MNTPOINT is available
+    inside the scripts for direct access of the chroot.
 
-*--scripts* <_directory_>::
+*--scripts*[=<_directory_>]::
 
-    Execute scripts from specified directory. This allows customisation of
-    the system after the chroot has been set up. The environment variable
-    $MNTPOINT is available inside the scripts for direct access of the chroot.
-    Default directory: /etc/debootstrap/scripts/
+    When using *--scripts* without the optional '=<_directory_>' parameter,
+    it enables executing scripts from the default '<confdir>/scripts/'
+    directory after the chroot has been set up.  If the optional parameter is
+    given, execute scripts from the specified directory instead. This allows
+    customisation of the system after the chroot has been set up. The
+    environment variable $MNTPOINT is available inside the scripts for
+    direct access of the chroot.  
 
 *-t*, *--target* <_target_>::
     Target partition (/dev/...) or directory (anything else without /dev at the
@@ -158,9 +168,21 @@ Options and environment variables
 *-V*, *--version*::
     Show version of program and exit.
 
-WARNING: the commandline parsing of grml-debootstrap does not validate the provided
+TIP: The long options may be abbreviated, as long as the abbreviation is not
+ambiguous. Eg. '--k' will be the same as '--keep_src_list', and '--pac' be
+'--packages'.
+
+[WARNING]
+=====================================================================
+
+- To specify the optional parameter for switches that accept them, the
+optional argument must be written directly after the long option name,
+separated by `=' (without space).
+
+- the commandline parsing of grml-debootstrap does not validate the provided
 arguments for the commandline options. Please be careful and check docs and
 /etc/debootstrap/config for further information.
+=====================================================================
 
 Usage examples
 ---------------
-- 
1.6.5

----------
files: unnamed, unnamed, unnamed
messages: 2835, 2837, 2838, 2848, 2849, 2850, 2851, 2852, 2853, 2855
nosy: suntong
priority: bug
status: chatting
title: grml-debootstrap parameter handling

_____________________________________
GRML issue tracker <bts at bts.grml.org>
<http://bts.grml.org/grml/issue801>
_____________________________________


More information about the Bugs-changes mailing list