#!/bin/bash
set -e

if [ "$#" -eq "0" ]; then
	srcDir="$PWD"
else
	srcDir="$1"
fi

buildDir="$srcDir/.."
repreproDir="/var/cache/reprepro"
codename="stable"

echo "Building source code."
echo " * Directory $buildDir"

if [ -f "$srcDir/package.json" ]
then
	echo "Installing Node dependencies."
	(cd "$srcDir" && npm --silent install)
fi

if [ -f "$srcDir/debian/changelog" ]
then
	echo "Cleaning last build."
	rm -f $buildDir/*.deb
	rm -f $buildDir/*.changes
	rm -f $buildDir/*.build
	(cd "$srcDir" && debian/rules clean)

	echo "Building Debian packages."
	(cd "$srcDir" && debuild -uc -us -b)

	echo "Adding packages to repository."

	cut -d" " -f1 "$srcDir/debian/files" |
	while read debFile
	do
		if [[ ! "$debFile" =~ .*\.deb$ ]]
		then
			continue
		fi

		echo " * Adding $debFile"
		reprepro -b "$repreproDir" includedeb $codename "$buildDir/$debFile"
	done
else
	echo "$0: Invalid source directory: $srcDir"
	exit 2
fi