#! /bin/bash
set -x
#### Configure variables.  Feel free to change these, but be careful!
SRCDIR=$(pwd)
# You can pass your own temp directory as an environment variable.
if [ -z $TMPDIR ]
then
    TMPDIR="/tmp/buildpkg.deb"
fi
# This prefix is prepended to all directories during "make install" 
FAKEROOT="${TMPDIR}/froot"
# Configure and Compilation directory.
BUILDDIR="${TMPDIR}/build"
# Config variables to mirror those in RPM .spec file
amanda_user=amandabackup
amanda_group=admin
udpportrange="700,740"
tcpportrange="11000,11040"
low_tcpportrange="700,710"
PREFIX="/usr"
EPREFIX="${PREFIX}"
BINDIR="${EPREFIX}/bin"
SBINDIR="${EPREFIX}/sbin"
LIBEXECDIR="${EPREFIX}/lib/amanda"
DATADIR="${PREFIX}/share"
SYSCONFDIR="/etc"
LOCALSTATEDIR="/var"
AMANDAHOMEDIR="${LOCALSTATEDIR}/lib/amanda"
LIBDIR="${EPREFIX}/lib"
INCLUDEDIR="${PREFIX}/include"
INFODIR="${PREFIX}/info"
MANDIR="${DATADIR}/man"
LOGDIR="${LOCALSTATEDIR}/log/amanda"                  

#### CHECKS

if [ ! -f common-src/amanda.h ]
then
    echo "'buildpkg' must be run from the root of an otherwise unused amanda source directory." >&2
    exit 1
fi

if [ ! -f configure ]
then
    echo "The source directory has not been autogen'd -- please download a source distribution tarball or run ./autogen."
    echo "You will need autoconf, automake, and libtool to run autogen (but not to compile from a distribution tarball)."
    exit 1
fi

if [ -z $AMVER ]
then
    AMVER=amanda-2.6.1p2
fi

if [ -z $AMTARBALL ]
then
    AMTARBALL=$AMVER.tar.gz
fi

#### Build functions

do_build() {

    echo "Running configure"
    ./configure --quiet \
        --prefix=${PREFIX} \
        --bindir=${BINDIR} \
        --sbindir=${SBINDIR} \
        --mandir=${MANDIR} \
        --libexecdir=${LIBEXECDIR} \
        --sysconfdir=${SYSCONFDIR} \
        --localstatedir=${LOCALSTATEDIR} \
        --with-star=/bin/star \
        --with-gnutar=/bin/tar \
        --with-gnutar-listdir=${AMANDAHOMEDIR}/gnutar-lists \
        --with-index-server=localhost \
        --with-tape-server=localhost \
        --with-user=${amanda_user} \
        --with-group=${amanda_group} \
        --with-owner=${amanda_user} \
        --with-fqdn \
        --with-bsd-security \
        --with-bsdtcp-security \
        --with-bsdudp-security \
        --with-amandahosts \
        --with-smbclient=/usr/bin/smbclient \
        --with-ssh-security \
        --with-udpportrange=${udpportrange} \
        --with-tcpportrange=${tcpportrange} \
        --with-low-tcpportrange=${low_tcpportrange} \
        --with-debugging=${LOGDIR} \
        --disable-installperms \
        --enable-s3-device \
        --with-assertions \
	|| exit 1

}

do_resources() {
    # Setup directories and files as dpkg-buildpkg expects.
    if [ -d debian ]; then
        rm -rf debian
    fi
    cp -Rf packaging/deb debian
    if [ -d $AMVER ]; then
        rm -rf $AMVER
    fi
    mkdir $AMVER
    cp -Rfp * $AMVER
}

do_package() {

    echo "Building package"
    cd $AMVER
    # Create unsigned packages
    dpkg-buildpackage -rfakeroot -uc -us
}


do_all() {
    do_build $1
    do_resources $1
    do_package $1
}

do_resources
do_package
