#!/usr/bin/env bash

set -e

# Ensure the version tag is valid
if [[ ! $TRAVIS_TAG =~ ^v([0-9]+\.)*[0-9]+$ ]]; then
    echo "Error: invalid Git tag in \$TRAVIS_TAG, must be in 'v0.0.0' format"
    exit 1
fi

# Ensure the debian architecture is set
if [[ -z $DEB_ARCH ]]; then
    echo "Error: debian architecture not configured in \$DEB_ARCH"
    exit 1
fi

# Define some useful variables
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
VERSION=${TRAVIS_TAG:1}

# Ensure the binary file exists
if [[ ! -f "$DIR/../ffsend" ]]; then
    echo "Error: missing 'ffsend' binary in repository root"
    exit 1
fi

# Create an application directory, copy the binary into it
mkdir -p "$DIR/ffsend-$VERSION"
cp -- "$DIR/../ffsend" "$DIR/ffsend-$VERSION/ffsend"

# Create an application tarball
cd -- "$DIR/.."
git archive --format tar.gz -o "$DIR/ffsend-$VERSION/ffsend-$VERSION.tar.gz" "$TRAVIS_TAG"

# Change into the app directory
cd -- "$DIR/ffsend-$VERSION"

# Build the debian package
# TODO: define GPG?
dh_make -e "timvisee@gmail.com" -c gpl3 -f "ffsend-$VERSION.tar.gz" -s -y
rm -- *.ex README.Debian README.source

# Remove the project tar ball, we're not using it anymore
rm -- "$DIR/ffsend-$VERSION/ffsend-$VERSION.tar.gz"

# TODO: configure the debian/control file
# TODO: configure copyright file





# # Update version and architecture in the control file
# sed -i "/Version:\.*/c\\Version: $VERSION" $DIR/deb/DEBIAN/control
# sed -i "/Architecture:\.*/c\\Architecture: $DEB_ARCH" $DIR/deb/DEBIAN/control

# # Build the debian package
# echo "Building debian package..."
# dpkg-deb --verbose --build $DIR/deb .
