X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver-build.clone;h=f3ad8b01be3342037586e01b5dedccbafe8c7e38;hb=aad788fbe2be537ceb4c5285fc9a2d44fe27f2c1;hp=0c728a908afe0a8e747c89acf576d41a78300743;hpb=60de59efc0a31126279a0b936f3f23932ae569fe;p=util-vserver.git diff --git a/scripts/vserver-build.clone b/scripts/vserver-build.clone index 0c728a9..f3ad8b0 100644 --- a/scripts/vserver-build.clone +++ b/scripts/vserver-build.clone @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -tmp=$(getopt -o '+d:s:o:' --long debug,pkgmgmt,source: -n "$0" -- "$@") || exit 1 +tmp=$(getopt -o '+d:s:o:X:' --long debug,pkgmgmt,source:,exclude-from: -n "$0" -- "$@") || exit 1 eval set -- "$tmp" . "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" @@ -23,14 +23,15 @@ eval set -- "$tmp" DISTRIBUTION=: use_pkgmgmt= SOURCE= -declare -a OPTS=() +EXCLUDES= while true; do case "$1" in -d) DISTRIBUTION=$2; shift;; --debug) set -x;; --pkgmgmt) use_pkgmgmt=1;; -s|--source) SOURCE=$2; shift;; - -o) OPTS=( "${OPTS[@]}" "$2" ); shift;; + -X|--exclude-from) + EXCLUDES=$2; shift;; --) shift; break ;; *) echo "vserver-build.clone: internal error: unrecognized option '$1'" >&2 exit 1 @@ -39,11 +40,17 @@ while true; do shift done -if test -z "$SOURCE"; then - panic $"vserver-build.clone: --source argument required" +if test -d "$SOURCE"; then + : +elif test -d "$__CONFDIR/$SOURCE"; then + SOURCE=`getPhysicalDir "$__CONFDIR/$SOURCE/vdir"` +elif test -d "$__DEFAULT_VSERVERDIR/$SOURCE"; then + SOURCE=`getPhysicalDir "$__DEFAULT_VSERVERDIR/$SOURCE"` +else + SOURCE= fi -test -z "${OPTS[*]}" && OPTS=( -Hazx --numeric-ids ) +test -n "$SOURCE" || panic $"vserver-build.clone: valid --source argument required" getDistribution '' 1 @@ -59,7 +66,9 @@ setup_writeInitialFstab test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" -$_VCLONE --source "$SOURCE"/ --dest "$VDIR"/ +$_VCLONE ${SETUP_CONTEXT:+--xid "$SETUP_CONTEXT"} \ + ${EXCLUDES:+--exclude-from "$EXCLUDES"} \ + "$SOURCE"/ "$VDIR"/ test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"