#
# This script is run from the top level scripts.  You can rely on
# the following environment variables being set:
#
#    $BMTARBALL  - relative path to the release source tarball (bz2)
#    $BMTARBASE  - basename of the source tarball (bz2)
#    $BMBUILDDIR - directory to place resulting binary package tree
#

set -e

rm -rf /tmp/bmchroots
mkdir -p /tmp/bmchroots

#
# Build the DEB's
#
function do_ubuntu() {
	./save.sh "/tmp/bmchroots/$1" "$2" "$3" \
		./chroot.sh cdfrey /var/chroot/$1 \
			"$BMTARBALL make-deb.sh" \
			/var/chroot/$1/home/cdfrey/barrychroot/bmbuild/results \
			/tmp/bmchroots/$1 \
			cdfrey \
		./make-deb.sh "$BMTARBASE" \
			"$4" \
			bmbuild bmbuild
}

#
# Build the Fedora RPM's
#
function do_fedora() {
	./save.sh "/tmp/bmchroots/$1" "$2" "$4" \
		./chroot.sh cdfrey "/var/chroot/$1" \
			"$BMTARBALL make-bm-rpm.sh" \
			/var/chroot/$1/home/cdfrey/rpmbuild/bmbuild/results \
			/tmp/bmchroots/$1 \
			cdfrey \
		./make-bm-rpm.sh \
			"$BMTARBASE" \
			"$5" \
			/home/cdfrey \
			/home/cdfrey/rpmbuild/bmbuild
	mkdir -p "$3"
	mv "$2"/*src.rpm "$3"
}

do_ubuntu ubuntu1004 "$BMBUILDDIR/dists/ubuntu1004/main/binary-i386" "" \
	"make -j2 debian-all deb-libtar"
# Ubuntu 11.04 (Natty) is also good for Mint 11
do_ubuntu ubuntu1104 "$BMBUILDDIR/dists/ubuntu1104/main/binary-i386" "" \
	"make -j2 debian-all deb-libtar"
# Ubuntu 11.10 (Oneiric) should also be good for Mint 12
do_ubuntu ubuntu1110 "$BMBUILDDIR/dists/ubuntu1110/main/binary-i386" "" \
	"make -j2 debian-all deb-evo3-latest deb-libtar"
do_ubuntu ubuntu1204 "$BMBUILDDIR/dists/ubuntu1204/main/binary-i386" "" \
	"make -j2 debian-all deb-evo3-latest deb-libtar"

# Fedora and openSUSE use make 3.82, which is buggy and doesn't handle
# parallel builds safely all cases.  So we can't use any -j options here.
# http://lists.gnu.org/archive/html/bug-make/2012-01/msg00042.html
do_fedora fedora14 \
	"$BMBUILDDIR/dists/fedora14/i386/RPMS" \
	"$BMBUILDDIR/dists/fedora14/source-i386/SRPMS" \
	"" "make rpmclean rpm-all"
do_fedora fedora16 \
	"$BMBUILDDIR/dists/fedora16/i686/RPMS" \
	"$BMBUILDDIR/dists/fedora16/source-i686/SRPMS" \
	"" "make rpmclean rpm-all rpm-evo3-latest"
do_fedora opensuse12.1 \
	"$BMBUILDDIR/dists/opensuse12.1/i586/RPMS" \
	"$BMBUILDDIR/dists/opensuse12.1/source-i586/SRPMS" \
	"" "make rpmclean rpm-libtar rpm-all"

chown -R cdfrey:cdfrey "$BMBUILDDIR"

#
# Cleanup
#
rm -rf /tmp/bmchroots

