+++ /dev/null
-#! /bin/bash
-# $Id: vserver-build 2468 2007-01-21 20:05:19Z dhozac $
-
-# Copyright (C) 2003,2004,2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
-test -e "$UTIL_VSERVER_VARS" || {
- echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
- exit 1
-}
-. "$UTIL_VSERVER_VARS"
-. "$_LIB_FUNCTIONS"
-. "$_LIB_VSERVER_SETUP_FUNCTIONS"
-. "$_LIB_VSERVER_BUILD_FUNCTIONS"
-
-### Some local functions
-
-function showHelp()
-{
- echo \
-$"Usage: $(basename $0) -m <method> -n <name> --force <cfg-options>*
- --rootdir <dir> --pkgbase <dir> [--] <method-args>*
-
-Options:
- --force ... remove/rename already existing vservers with the same
- name
- --keep ... do not delete generated files and directories when
- build of vserver failed.
- -m <method> ... use method <method>; see below for possible values
- --rootdir <dir>
- ... [default: $__DEFAULT_VSERVERDIR]
- --pkgbase <dir>
- ... [default: $__DEFAULT_VSERVERPKGDIR]
-
-cfg-options are: $SETUP_HELPMSG
-
-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
- apt-rpm ... -- -d <distribution>
- ... installs the base-packages of the given distribution with
- help of 'vapt-get'
- yum ... -- -d <distribution>
- ... installs the base-packages of the given distribution with
- help of 'vyum'
- rpm ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+
- ... installs lists of rpm-packages
- 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>)+ [-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> [-o <rsync option>]*
- ... installs a guest by rsyncing from <source> to the guest root
- clone ... -- [-d <distribution>] --source <source>
- ... clones a guest by linking unified files and copying the rest
-
-Please report bugs to $PACKAGE_BUGREPORT"
- exit 0
-}
-
-function showVersion()
-{
- echo \
-$"vserver-build $PACKAGE_VERSION -- initializes a vserver
-This program is part of $PACKAGE_STRING
-
-Copyright (C) 2003,2004,2005 Enrico Scholz
-This program is free software; you may redistribute it under the terms of
-the GNU General Public License. This program has absolutely no warranty."
- exit 0
-}
-
-### main starts here
-
-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)" -- \
- "${default_opts[@]}" "$@") || exit 1
-eval set -- "$tmp"
-
-VSERVER_NAME=
-OPTION_FORCE=
-OPTION_DEBUG=0
-OPTION_KEEP=
-
-while true; do
- case "$1" in
- (--help) showHelp $0 ;;
- (--version) showVersion ;;
- (--force) OPTION_FORCE=1;;
- (--keep) OPTION_KEEP=1;;
- (--debug) let ++OPTION_DEBUG; set -x;;
- (--rootdir) ROOTDIR=$2; shift;;
- (--pkgbase) PKGCFGBASE=$2; shift;;
- (-m) method=$2; shift;;
- (-n) VSERVER_NAME=$2; shift;;
- (--) shift; break;;
- (*)
- { setup_setOption2 "$1" "$2" && shift; } || \
- panic $"vserver-build: internal error."
- ;;
- esac
- shift
-done
-
-test -n "$VSERVER_NAME" ||
- panic $"Name of vserver not specified"
-
-setup_setDefaults "$VSERVER_NAME"
-
-case x"$method" in
- (xlegacy) exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;;
- (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone)
- . $__PKGLIBDIR/vserver-build.$method
- ;;
- (x) panic $"No build-method specified";;
- (*) panic $"Unknown build-method '$method'";;
-esac