X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver-build.debootstrap;h=78e5f11ed77837aaa83a06137a0604f04164ec7a;hb=925e69ce006ee22fbc35b8328dcd4942d9215c96;hp=dfbcc56c82868c56224874efcdf7c9fc5d9e99d7;hpb=7090d54b840e1d5b7678aeabc101fb3b159d1830;p=util-vserver.git diff --git a/scripts/vserver-build.debootstrap b/scripts/vserver-build.debootstrap index dfbcc56..78e5f11 100644 --- a/scripts/vserver-build.debootstrap +++ b/scripts/vserver-build.debootstrap @@ -15,27 +15,29 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -function cleanUp -{ - test ! -d "$workdir" || $_RM -rf "$workdir" -} - function init { workdir= - mirror= - trap "cleanUp" EXIT + MIRROR= + options= } function initVariables { base.init - test -n "${mirror-unset}" || { + test -n "${MIRROR}" || { local aux - findFile aux "$__CONFDIR"/.defaults/apps/debootstrap/mirror '' - test -z "$aux" || read mirror <"$aux" + findFile aux "$__CONFDIR"/.distributions/"$DISTRIBUTION"/debootstrap.mirror \ + "$__CONFDIR"/.defaults/apps/debootstrap/mirror \ + "$__DISTRIBDIR"/"$DISTRIBUTION"/debootstrap.mirror \ + "$__PKGLIBDEFAULTDIR"/debootstrap.mirror '' + test -z "$aux" || read MIRROR <"$aux" } + local file + findFile file "$__CONFDIR"/.distributions/"$DISTRIBUTION"/debootstrap.options \ + "$__CONFDIR"/.defaults/apps/debootstrap/options '' + test -z "$file" || read options <"$file" } function initFilesystem @@ -55,6 +57,8 @@ function findDebootstrap dir=$($_MKTEMPDIR -p /var/tmp debootstrap.XXXXXX) workdir=$dir dst=$dir/debootstrap.deb + + base._addGeneratedFile "$workdir" findFile DEBOOTSTRAP_URI "$__CONFDIR"/.defaults/apps/debootstrap/uri "$__PKGLIBDEFAULTDIR"/debootstrap.uri read tmp <$DEBOOTSTRAP_URI @@ -91,8 +95,10 @@ EOF cd $dir ar x "$dst" tar xzf data.tar.gz - export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap + DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap DEBOOTSTRAP=`pwd`/usr/sbin/debootstrap + test -d "$DEBOOTSTRAP_DIR" || DEBOOTSTRAP_DIR=`pwd`/usr/share/debootstrap + export DEBOOTSTRAP_DIR local arch arch=$(uname -i 2>/dev/null) || \ @@ -129,7 +135,7 @@ init while true; do case "$1" in (-d) DISTRIBUTION=$2; shift;; - (-m) mirror=$2; shift;; + (-m) MIRROR=$2; shift;; (-s) script=$2; shift;; (--debug) set -x;; (--) shift; break ;; @@ -150,10 +156,18 @@ setup_writeInitialFstab findDebootstrap -test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" +if test -z "$script"; then + findFile script "$__CONFDIR/.distributions/$DISTRIBUTION/debootstrap.script" \ + "$__DISTRIBDIR/$DISTRIBUTION/debootstrap.script" '' +fi + +export MIRROR +test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" mv "$VDIR"/dev "$VDIR"/dev.X -"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" "$script" || : ## HACK: ignore all errors... +$_VNAMESPACE --new -- \ + "$DEBOOTSTRAP" $options "$@" "$DISTRIBUTION" "$VDIR" "$MIRROR" "$script" || : ## HACK: ignore all errors... fixupDebian "$VDIR" test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" +$_RM -fr "$workdir" base.setSuccess