gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vserver-build
index e184deb..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
@@ -51,23 +53,32 @@ Possible methods are:
     legacy      ...  the \"old\" copy-all-from-host method, which requires the
                      old legacy  vserver-legacy script;  with  this method the
                     cfg-options will be ignored
-    copy        ...  the copy-all-from-host method which uses the recent
-                     configuration scheme
-    apt-rpm ... -- -d <distribution>
+    apt-rpm     ... -- -d <distribution>
                 ...  installs the base-packages of the given distribution with
                     help of 'vapt-get'
-    yum     ... -- -d <distribution>
+    yum         ... -- -d <distribution> [-- <packages>*]
                 ...  installs the base-packages of the given distribution with
                     help of 'vyum'
-    rpm     ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
+    urpmi       ... -- -d <distribution> -m <mirror>
+    rpm         ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
                 ...  installs lists of rpm-packages
-    skeleton ... -- [<cmd> <args>*]
+    skeleton    ... -- [<cmd> <args>*]
                 ...  installs a minimal skeleton filesystem, creates the
                     configuration file and calls an optional command then
     debootstrap ... -- -d <distribution> [-m <mirror>] [-s <script> ] [-- <debootstrap-options>*]
-                     bootstraps the vserver with Debian's 'debootstrap' package
-    template ... -- (-t <tarball>)+
+                ...  bootstraps the vserver with Debian's 'debootstrap' package
+    template    ... -- (-t <tarball>)+ [-d <distribution>]
                 ...  installs a guest using tarball(s)
+    fai         ... -- [ -f <fai_vserver> ] [-n <nfsroot>] [-d <fai_dir> ] [ -a ]
+                     bootstraps the vserver with Debian Fully Automatic Installation
+                     -f means use the nfsroot and profile in the vserver <fai_vserver>
+                     -n <nfsroot> specifies the 'NFS' root explicitly
+                     -d <fai_dir> specifies the location of the FAI profile
+                     the -f option implies -n and -d are relative to the <fai_vserver>
+    rsync       ... -- [-d <distribution>] --source <source> [-- <rsync options>*]
+                ...  installs a guest by rsyncing from <source> to the guest root
+    clone       ... -- [-d <distribution>] --source <source> [--exclude-from <exclude-list>]
+                ...  clones a guest by linking unified files and copying the rest
 
 Please report bugs to $PACKAGE_BUGREPORT"
     exit 0
@@ -92,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"
 
@@ -100,6 +111,7 @@ VSERVER_NAME=
 OPTION_FORCE=
 OPTION_DEBUG=0
 OPTION_KEEP=
+OPTION_SEMIFORCE=
 
 while true; do
     case "$1" in
@@ -110,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;;
@@ -128,7 +142,7 @@ setup_setDefaults "$VSERVER_NAME"
 
 case x"$method" in
     (xlegacy)  exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;;
-    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate)
+    (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone|xurpmi)
                . $__PKGLIBDIR/vserver-build.$method
                ;;
     (x)                panic $"No build-method specified";;