X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvserver-build.debootstrap;h=eb77fa15ed3097fb179642fbd7b86f063ee08a0f;hb=4d2c4b39698f7d18cde9329ebd2030d458c6eaa9;hp=e804181158a22d18f6a214a9238904224362cec1;hpb=15c6578666f5d3c12e4f7152af6b45fe97b1b5aa;p=util-vserver.git diff --git a/util-vserver/scripts/vserver-build.debootstrap b/util-vserver/scripts/vserver-build.debootstrap index e804181..eb77fa1 100644 --- a/util-vserver/scripts/vserver-build.debootstrap +++ b/util-vserver/scripts/vserver-build.debootstrap @@ -17,7 +17,7 @@ function cleanUp { - test ! -d "$workdir" || rm -rf "$workdir" + test ! -d "$workdir" || $_RM -rf "$workdir" } function init @@ -31,9 +31,9 @@ function initVariables { base.initVariables - test "${mirror-unset}" || { + test -n "${mirror-unset}" || { local aux - findFile aux "$CONFDIR"/.defaults/apps/debootstrap/mirror '' + findFile aux "$__CONFDIR"/.defaults/apps/debootstrap/mirror '' test -z "$aux" || read mirror <"$aux" } } @@ -50,15 +50,36 @@ function findDebootstrap { pushd . &>/dev/null DEBOOTSTRAP=$(which debootstrap 2>/dev/null) || { - dir=$(mktemp -d /var/tmp/debootstrap.XXXXXX) + dir=$($_MKTEMPDIR /var/tmp/debootstrap.XXXXXX) workdir=$dir dst=$dir/debootstrap.deb - findFile DEBOOTSTRAP_URI "$CONFDIR"/.defaults/apps/debootstrap/uri "$PKGLIBDEFAULTDIR"/debootstrap.uri + findFile DEBOOTSTRAP_URI "$__CONFDIR"/.defaults/apps/debootstrap/uri "$__PKGLIBDEFAULTDIR"/debootstrap.uri read tmp <$DEBOOTSTRAP_URI case "$tmp" in (/*) ln -s "$tmp" "$dst";; - (http://*|ftp://*) $_WGET -nv -O "$dst" "$tmp";; + (http://*|ftp://*) + $_WGET -nv -O "$dst" "$tmp" || { + $_CAT <&2 +ERROR: Could not download the debootstrap package from + + $dst + +Usually, this means that Debian released a new version which is unknown +to util-vserver and removed the known ones. To fix this, go to + + http://ftp.debian.org/debian/pool/main/d/debootstrap/ + +(or a nearby mirror) and search the URL for the most recent *.deb +package matching your platform. Then, put this URL into + + $__CONFDIR/.defaults/apps/debootstrap/uri + +and retry the vserver-build command again. +EOF + exit 1 + } + ;; (*) echo $"Unsupported URI scheme '$tmp'" >&2 exit 1;; esac @@ -75,8 +96,8 @@ function findDebootstrap function fixupDebian { - rm -rf "$1"/dev - mv "$1"/dev.X "$1"/dev + $_RM -rf "$1"/dev + $_MV "$1"/dev.X "$1"/dev } @@ -94,7 +115,7 @@ while true; do -m) mirror=$2; shift;; --debug) set -x;; --) shift; break ;; - *) echo "vserver-build.skeleton: internal error: unrecognized option '$1'" >&2 + *) echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2 exit 1 ;; esac @@ -113,6 +134,6 @@ findDebootstrap test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" mv "$VDIR"/dev "$VDIR"/dev.X -"$DEBOOTSTRAP" "$DISTRIBUTION" "$VDIR" "$mirror" || : ## HACK: ignore all errors... +"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" || : ## HACK: ignore all errors... fixupDebian "$VDIR" test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"