Add --i-know-its-there option
authorDaniel Hokka Zakrisson <daniel@hozac.com>
Mon, 6 Feb 2012 09:46:39 +0000 (10:46 +0100)
committerDaniel Hokka Zakrisson <daniel@hozac.com>
Mon, 6 Feb 2012 09:46:39 +0000 (10:46 +0100)
scripts/vserver-build
scripts/vserver-build.functions

index f914b0d..1a20bfd 100755 (executable)
@@ -37,6 +37,8 @@ $"Usage: $(basename $0) -m <method> -n <name> --force <cfg-options>*
 Options:
     --force     ...  remove/rename already existing vservers with the same
                      name
+    --i-know-its-there
+                ...  allow to finish build even if it exists
     --keep      ...  do not delete generated files and directories when
                      build of vserver failed.
     -m <method> ...  use method <method>; see below for possible values
@@ -101,7 +103,7 @@ set -e
 declare -a default_opts=()
 test -n "$NO_DEFAULT_OPTS" || getFileArray default_opts "$__CONFDIR/.defaults/apps/build/options" || :
 
-tmp=$(getopt -o +m:n: --long keep,force,debug,help,version,rootdir:,pkgbase:,$SETUP_OPTIONS -n "$(basename $0)" -- \
+tmp=$(getopt -o +m:n: --long keep,force,i-know-its-there,debug,help,version,rootdir:,pkgbase:,$SETUP_OPTIONS -n "$(basename $0)" -- \
        "${default_opts[@]}" "$@") || exit 1
 eval set -- "$tmp"
 
@@ -109,6 +111,7 @@ VSERVER_NAME=
 OPTION_FORCE=
 OPTION_DEBUG=0
 OPTION_KEEP=
+OPTION_SEMIFORCE=
 
 while true; do
     case "$1" in
@@ -119,6 +122,8 @@ while true; do
        (--debug)   let ++OPTION_DEBUG;  set -x;;
        (--rootdir) ROOTDIR=$2;      shift;;
        (--pkgbase) PKGCFGBASE=$2;   shift;;
+       (--i-know-its-there)
+                   OPTION_SEMIFORCE=1;;
        (-m)        method=$2;       shift;;
        (-n)        VSERVER_NAME=$2; shift;;
        (--)        shift; break;;
index eadef2f..5d6092d 100644 (file)
@@ -202,7 +202,8 @@ function base._addGeneratedFile
 function base.initFilesystem
 {
     test -z "$1" || _renameVserverCfg
-    { isDirectoryEmpty "$VDIR" 1 && test  ! -e "$SETUP_CONFDIR"; } || colpanic $"\
+    if test -n "$OPTION_SEMIFORCE"; then
+    { { test -n "$OPTION_SEMIFORCE" || isDirectoryEmpty "$VDIR" 1 } && test  ! -e "$SETUP_CONFDIR"; } || colpanic $"\
 vserver-topdirectory '$VDIR' and/or configuration at '$SETUP_CONFDIR'
 exist already; please try to use '--force', or remove them manually."