DPKGARCH=$(dpkg --print-architecture)
UNAMEARCH=$(uname -m)
+if [ "${1:-}" = "buildd" ]; then
+ MODE=buildd
+ if ! [ -d /srv/buildd/ ]; then
+ echo >&2 "Error: /srv/buildd does not exist or is not a directory."
+ exit 1
+ fi
+else
+ MODE=porterbox
+fi
+
get_suites() {
case "$1" in
- armel|s390x)
+ armhf|s390x)
echo "sid jessie wheezy"
;;
- s390)
- echo "wheezy squeeze"
+ ia64|s390)
+ echo "wheezy"
;;
- *)
+ sparc)
+ echo "sid wheezy"
+ ;;
+ arm64|ppc64el)
+ echo "sid jessie"
+ ;;
+ amd64|i386)
echo "sid jessie wheezy squeeze"
;;
+ *)
+ echo "sid jessie wheezy"
+ ;;
esac
}
archs="$archs i386"
;;
armhf)
+ if [ "$(uname -m)" = "aarch64" ] ; then
+ archs="$archs arm64"
+ fi
archs="$archs armel"
;;
+ armel)
+ if [ "$(uname -m)" = "armv7l" ] && grep -w vfpv3 -q /proc/cpuinfo ; then
+ archs="$archs armhf"
+ fi
+ ;;
s390|s390x)
archs="s390 s390x"
;;
err=0
+do_one() {
+ local a="$1"; shift
+ local s="$1"; shift
+
+ case "$MODE" in
+ buildd)
+ mkdir -p /srv/buildd/unpack
+ if ! chronic setup-dchroot -f -a "$a" -D -d '/srv/buildd/unpack' -K "$s"
+ then
+ return 1
+ fi
+ ;;
+ porterbox)
+ if ! chronic setup-dchroot -f -a "$a" "$s"
+ then
+ return 1
+ fi
+ ;;
+ *)
+ echo >&2 "Invalid mode $MODE"
+ exit 1
+ esac
+ return 0
+}
+
for a in $archs; do
for s in `get_suites "$a"`; do
- setup-dchroot -f -a "$a" "$s" || err=1
+ if ! do_one "$a" "$s"; then
+ err=1
+ echo >&2
+ echo >&2 "Error: setting up $s:$a dchroot failed."
+ echo >&2
+ echo >&2
+ fi
done
done