#!/bin/bash

set -x
set -e

PKG=$1

if [ "$PKG" = "" ]; then
    echo "usage: $0 libsome-module-perl"
    exit 1;
fi

echo build-pkg $PKG

[ `ps awux | grep build-pkg | wc -l` -gt 10000 ] && exit 1

# we are done if the package already exists
[ -f /var/cache/pbuilder/result/${PKG}_*deb ] && exit 0


ORIGPKG=`perl -le 'print substr($ARGV[0], 4);' $PKG` # remove opl-
SRCPKG=`apt-cache showsrc $ORIGPKG | perl -lane 'next if not m/^Package:\s+(.+)$/; print $1;' | tail -1`
if [ "$SRCPKG" = "" ]; then
    SRCPKG=$ORIGPKG
fi

# build build dependencies
show-source-dependecies --also-depends --prefix=opl- "opl-$SRCPKG" | \
while read DPKG; do
    echo DPKG $DPKG
    [ -f /var/cache/pbuilder/result/$DPKG*deb ] || build-pkg "$DPKG"
    echo $?
done
[ "$?" == "0" ] || exit 1

cd opl-$SRCPKG-*
time pdebuild

[ -f /var/cache/pbuilder/result/${PKG}_*deb ] || exit 1

# rebuild our local repo
OLD_PWD=$PWD
cd /var/cache/pbuilder/result \
    && dpkg-scanpackages . /dev/null > Packages \
    && dpkg-scansources . > Sources \
    && sudo apt-get update
cd $OLD_PWD