#! /bin/bash

# Exit on errors
set -e

# Use pbuilder by default
PBUILDER_BIN="/usr/sbin/pbuilder"
PBUILDER_CACHE_PATH="/var/cache/pbuilder"
PBUILDER_MIRROR="http://ftp.debian.org/debian"
PBUILDER_OTHER_OPTIONS=()

if [ -f /etc/default/rebuildd ]
then
    unset PBUILDER_BIN
    . /etc/default/rebuildd
fi

pbuilder_create ()
{
        if [ ! -x "$PBUILDER_BIN" ]
        then
            echo "E: pbuilder not found: $PBUILDER_BIN"
            exit 1
        fi

        for d in $DISTS
        do
            for a in $ARCHS
            do
                echo "I: Initializing pbuilder for ${d}-${a}"
                $PBUILDER_BIN create --debootstrapopts --arch=$a --basetgz $PBUILDER_CACHE_PATH/${d}-${a}.tgz --distribution $d --mirror $PBUILDER_MIRROR "${PBUILDER_OTHER_OPTIONS[@]}"
            done
        done
        echo "I: Init done, please remember to set rebuildd configuration to the correct value:"
        echo "build_cmd = pbuilder build --basetgz $PBUILDER_CACHE_PATH/\${d}-\${a}.tgz \${p}_\${v}.dsc"
}


cowbuilder_create ()
{
        if [ ! -x "$COWBUILDER_BIN" ]
        then
            echo "E: cowbuilder not found: $COWBUILDER_BIN"
            exit 1
        fi

        for d in $DISTS
        do
            for a in $ARCHS
            do
                echo "I: Initializing cowbuilder for ${d}-${a}"
                $COWBUILDER_BIN --create --debootstrapopts --arch=$a --basepath $PBUILDER_CACHE_PATH/${d}-${a}.cow --distribution $d --mirror $PBUILDER_MIRROR "${PBUILDER_OTHER_OPTIONS[@]}"
            done
        done

        echo "I: Init done, please remember to set rebuildd configuration to the correct value:"
        echo "build_cmd = cowbuilder --build --basepath $PBUILDER_CACHE_PATH/\${d}-\${a}.cow \${p}_\${v}.dsc"
}


if [ ! -z "$COWBUILDER_BIN" ]
then
    cowbuilder_create
else
    pbuilder_create
fi
