# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
-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
- ia64|s390|sparc)
- echo "wheezy"
- ;;
- arm64|ppc64el)
- echo "sid stretch jessie"
- ;;
- amd64|i386)
- echo "sid stretch jessie wheezy squeeze"
- ;;
- kfreebsd-*)
- echo "sid jessie wheezy"
+ amd64|i386|armel|armhf)
+ echo "sid buster stretch jessie"
;;
*)
- echo "sid stretch jessie wheezy"
+ echo "sid buster stretch"
;;
esac
}
-archs="$DPKGARCH"
-case "$DPKGARCH" in
- amd64)
- archs="$archs i386"
- ;;
- arm64)
- archs="$archs armhf armel"
- ;;
- 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"
- ;;
-esac
-
-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"
+ if ! $SILENT setup-dchroot $EXTRAARGS -f -a "$a" -D -d '/srv/buildd/unpack' -K "$s"
then
return 1
fi
;;
porterbox)
- if ! chronic setup-dchroot -f -a "$a" "$s"
+ if ! $SILENT setup-dchroot $EXTRAARGS -f -a "$a" "$s"
then
return 1
fi
return 0
}
+usage()
+{
+cat << EOF
+usage: $0 [<options>] [buildd]
+
+OPTIONS:
+ -c write config only
+ -h this help
+EOF
+}
+
+##########
+# "main"
+##########
+
+
+# parse options
+##########
+EXTRAARGS=""
+while getopts "cu" OPTION
+do
+ case $OPTION in
+ c)
+ EXTRAARGS="$EXTRAARGS -c"
+ ;;
+ h)
+ usage
+ exit 0
+ ;;
+ *)
+ usage >&2
+ exit 1
+ ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
+# parse arguments
+##########
+if [ "$#" -gt 1 ]; then
+ usage >&2
+ exit 1
+elif [ "$#" = 1 ]; then
+ 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
+ usage >&2
+ exit 1
+ fi
+else
+ MODE=porterbox
+fi
+
+# figure out whether to be verbose or not
+##########
+if [ -t 0 ] ; then
+ SILENT=""
+else
+ SILENT="chronic"
+fi
+
+# get list of archs based on dpkg architecture
+##########
+DPKGARCH=$(dpkg --print-architecture)
+archs="DPKGARCH"
+case "$DPKGARCH" in
+ amd64)
+ archs="$archs i386"
+ ;;
+ arm64)
+ archs="$archs armhf armel"
+ ;;
+ 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
+ ;;
+ mips64el)
+ archs="$archs mipsel"
+ ;;
+ mipsel)
+ archs="$archs mips64el"
+ ;;
+esac
+
+err=0
+
for a in $archs; do
for s in `get_suites "$a"`; do
if ! do_one "$a" "$s"; then