gentoo: use /var/run for new /run compatibility
[util-vserver.git] / scripts / vserver-build.debootstrap
index eedc520..34fd21b 100644 (file)
 function init
 {
     workdir=
-    mirror=
+    MIRROR=
+    options=
 }
 
 function initVariables
 {
     base.init
 
-    test -n "${mirror}" || {
+    test -n "${MIRROR}" || {
        local aux
-       findFile aux "$__CONFDIR"/.defaults/apps/debootstrap/mirror "$__PKGLIBDEFAULTDIR"/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
@@ -87,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) || \
@@ -98,6 +108,7 @@ EOF
        ## Wash the calculated architecture
        case $arch in
            (i?86|athlon)       arch=i386;;
+           (x86_64)            arch=amd64;;
        esac
 
        test -z "$arch" || echo "$arch" >$DEBOOTSTRAP_DIR/arch
@@ -125,7 +136,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 ;;
@@ -146,11 +157,18 @@ setup_writeInitialFstab
 
 findDebootstrap
 
-test -z "$BUILD_INITPRE"  || "$BUILD_INITPRE" "$SETUP_CONFDIR"  "$UTIL_VSERVER_VARS" "$mirror"
+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
-"$_VNAMESPACE" --new -- "$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" "$mirror"
+test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS"
 
 $_RM -fr "$workdir"
 base.setSuccess