use $(LIBENSCVECTOR) instead of libensc_vector.a
[util-vserver.git] / util-vserver / scripts / vserver-build.debootstrap
index df2eb9a..eb77fa1 100644 (file)
@@ -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 -q -O "$dst" "$tmp";;
+       (http://*|ftp://*)
+           $_WGET -nv -O "$dst" "$tmp" || {
+               $_CAT <<EOF >&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
@@ -73,6 +94,12 @@ function findDebootstrap
     test -x "$DEBOOTSTRAP" || { echo $"Can not find debootstrap at '$DEBOOTSTRAP'" >&2; exit 1; }
 }
 
+function fixupDebian
+{
+    $_RM -rf "$1"/dev
+    $_MV "$1"/dev.X "$1"/dev
+}
+
 
 ###   main starts here <---
 
@@ -88,7 +115,7 @@ while true; do
        -m)             mirror=$2;       shift;;
        --debug)        set -x;;
        --)             shift; break ;;
-       *)              echo "vserver-build.skeleton: internal error: unrecognized option '$1'"
+       *)              echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
                        exit 1
                        ;;
     esac
@@ -107,7 +134,6 @@ findDebootstrap
 
 test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS"
 mv "$VDIR"/dev "$VDIR"/dev.X
-"$DEBOOTSTRAP" "$DISTRIBUTION" "$VDIR" "$mirror"
-rm -rf "$VDIR"/dev
-mv "$VDIR"/dev.X "$VDIR"/dev
+"$DEBOOTSTRAP" "$@" "$DISTRIBUTION" "$VDIR" "$mirror" || :     ## HACK: ignore all errors...
+fixupDebian "$VDIR"
 test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"