# 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
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
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) || \
### main starts here <---
-tmp=$(getopt -o '+d:m:' --long debug -n "$0" -- "$@") || exit 1
+tmp=$(getopt -o '+d:m:s:' --long debug -n "$0" -- "$@") || exit 1
eval set -- "$tmp"
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 ;;
(*) echo "vserver-build.debootstrap: internal error: unrecognized option '$1'" >&2
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" || : ## 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