# added by weasel:
if [ "$CHROOT_SESSION_PURGE" = "true" ]; then
- case $CHROOT_NAME in
- *-*_*-dchroot-*)
- suitevariant_arch_tuple=${CHROOT_NAME%%-dchroot-*}
+ case $CHROOT_DESCRIPTION in
+ "["*-*_*-dchroot"]"*)
+ chroot_type="$CHROOT_DESCRIPTION"; chroot_type="${chroot_type#[}"; chroot_type="${chroot_type%%]*}"
+ suitevariant_arch_tuple="${chroot_type%%-dchroot-*}"
suitevariant=${suitevariant_arch_tuple%_*}
SUITE_BASE=${suitevariant%-*}
SUITE_VARIANT=${suitevariant##*-}
;;
- *_*-dchroot-*)
- SUITE_BASE=${CHROOT_NAME%%_*}
+ "["*_*-dchroot"]"*)
+ chroot_type="$CHROOT_DESCRIPTION"; chroot_type="${chroot_type#[}"; chroot_type="${chroot_type%%]*}"
+ SUITE_BASE="${chroot_type%%_*}"
+ ;;
+ *)
+ echo >&2 "Unable to parse chroot description for what kind of chroot you want."
+ exit 1
;;
esac
fi
-m MIRROR http mirror to use [$mirror]
-b basedir place where to build the chroot/tarball [$basedir]
-f overwrite stuff.
+ -c write config only.
-h this help.
EOF
}
cat << EOF
[${suite}_${arch}-dchroot]
-description=Debian $suite chroot for $arch
+description=[${suite}_${arch}-dchroot] Debian $suite chroot for $arch
type=file
file=$target
groups=Debian,guest
mirror=$(cat /etc/schroot/dsa/default-mirror )
fi
mirror="${mirror:-http://cdn.debian.net/debian}"
+configonly=""
force=""
basedir="/srv/chroot"
declare -a cleanup
trap do_cleanup EXIT
-while getopts "a:b:fhm:" OPTION
+while getopts "a:b:cfhm:" OPTION
do
case $OPTION in
a)
b)
basedir="$OPTARG"
;;
+ c)
+ configonly="1"
+ ;;
f)
force="1"
;;
#
genschrootconf "$suite" "$arch" "$target" | tee "$schrootconfig"
+if [ -n "$configonly"]; then exit 0; fi
+
rootdir=$(mktemp -d "$basedir/create-$suite-XXXXXX")
cleanup+=("rm -r $rootdir")
cleanup+=("umount $rootdir/sys")