ENSC_PATHPROG(BZIP2, bzip2, [bzip2])
ENSC_PATHPROG(CPIO, cpio, [cpio])
ENSC_PATHPROG(RESTORE, restore, [restore])
+ENSC_PATHPROG(RSYNC, rsync, [rsync])
ENSC_PATHPROG(DOXYGEN, doxygen, [:])
ENSC_PATHPROG(XSLTP, xsltp, [:])
build @PKGLIBDIR@/vserver-build.yum
build @PKGLIBDIR@/vserver-build.rpm
build @PKGLIBDIR@/vserver-build.template
+build @PKGLIBDIR@/vserver-build.rsync
build @PKGLIBDIR@/vserver-build.functions
build @PKGLIBDIR@/vserver-build.functions.apt
build @PKGLIBDIR@/vserver-build.functions.rpm
scripts/vserver-build.rpm \
scripts/vserver-build.yum \
scripts/vserver-build.template \
+ scripts/vserver-build.rsync \
scripts/vserver-build.functions \
scripts/vserver-build.functions.apt \
scripts/vserver-build.functions.rpm \
-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
Please report bugs to $PACKAGE_BUGREPORT"
exit 0
case x"$method" in
(xlegacy) exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;;
- (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai)
+ (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync)
. $__PKGLIBDIR/vserver-build.$method
;;
(x) panic $"No build-method specified";;
--- /dev/null
+# $Id$ --*- sh -*--
+
+# Copyright (C) 2003 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.
+
+tmp=$(getopt -o '+d:s:o:' --long debug,pkgmgmt,source: -n "$0" -- "$@") || exit 1
+eval set -- "$tmp"
+
+. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT"
+
+DISTRIBUTION=:
+use_pkgmgmt=
+SOURCE=
+declare -a OPTS=()
+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;;
+ --) shift; break ;;
+ *) echo "vserver-build.rsync: internal error: unrecognized option '$1'" >&2
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if test -z "$SOURCE"; then
+ panic $"vserver-build.rsync: --source argument required"
+fi
+
+test -z "${OPTS[*]}" && OPTS=( -Hazx --numeric-ids )
+
+getDistribution '' 1
+
+base.init
+test -z "$use_pkgmgmt" || pkgmgmt.initVariables
+
+base.initFilesystem "$OPTION_FORCE"
+test -z "$use_pkgmgmt" || pkgmgmt.initFilesystem "$OPTION_FORCE"
+
+
+setup_writeOption "$VSERVER_NAME"
+setup_writeInitialFstab
+
+test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+$_RSYNC "${OPTS[@]}" "$SOURCE"/ "$VDIR"/
+test -z "$1" || "$@"
+
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
+
+base.setSuccess