#! /bin/bash
#
# Wrapper script for running debuild to build this package.
#
# export DEBGCC=12
#
# Set DEBGCC to use a non-default version of gcc
#
# export DEBCLANG=20
#
# Set DEBCLANG to use clang instead of gcc

set -e
shopt -s extglob

eval `courierauthconfig --configfiles`
f=`cd .. && ls courier-1.6.0.tar* | sed -n 1p`
ext=`echo $f | tr '.' '\012' | tail -1`

rm -rf deb
mkdir deb
cp ../$f deb/`echo $f | sed 's/courier-/courier_/;s/.tar./.orig.tar./'`
cd deb
tar xf *
cd courier-1.6.0
cp -pr packaging/debian .

if test "$DEBGCC" = "" -a "$DEBCLANG" = ""
then
    DEBGCC=`readlink /usr/bin/gcc | sed 's/gcc-//'`

    case "$DEBGCC" in
	[1-9]*([0-9]))
		      ;;
	*)
	    echo "Cannot determine gcc version"
	    exit 1
	    ;;
    esac
fi

if test "$DEBGCC" = "default"
then
    CCOMPILER="gcc"
    CXXCOMPILER="g++"
else
    if test "$DEBCLANG" = ""
    then
	CCOMPILER="gcc-$DEBGCC"
	CXXCOMPILER="g++-$DEBGCC"
    else
	CCOMPILER="clang-$DEBCLANG"
	CXXCOMPILER="clang++-$DEBCLANG"
    fi
fi

case $CCOMPILER in
    clang*)
	BUILD_DEPENDS="$CCOMPILER"
	;;
    *)
	BUILD_DEPENDS="$CCOMPILER, $CXXCOMPILER"
	;;
esac

# Ubuntu 20
MIME_SUPPORT="mailcap, media-types"

if test "`apt-cache search mailcap`" = ""
then
	MIME_SUPPORT="mime-support"
fi

if test "`apt-cache search media-types`" = ""
then
	MIME_SUPPORT="mime-support"
fi

for f in debian/rules debian/control
do
	sed "
s/%CCOMPILER%/$CCOMPILER/g
s/%CXXCOMPILER%/$CXXCOMPILER/g
s/%BUILD_DEPENDS%/$BUILD_DEPENDS/g
s/%MAILUSER%/$mailuser/g
s/%MAILGROUP%/$mailgroup/g
s/%MIME_SUPPORT%/$MIME_SUPPORT/g
" <packaging/$f >$f.tmp
mv $f.tmp $f
done

chmod +x debian/rules

debuild "$@"
cd ..
rm -rf courier-1.6.0
echo "Built packages in the deb subdirectory."
