#!/bin/sh

set -ex

DEBS="libgtk2.0-0 libatk1.0-0 libpango1.0-0 libglib2.0-0 libxft2 libxrender1 libxcursor1 libpng12-0"

BINARIES=1

export APTDIR=/tmp/$USER/apt
mkdir -p $APTDIR

rm -rf pkgs
mkdir pkgs

rm -rf srcs
mkdir srcs

rm -rf build
mkdir build

LIST=sources.list.deb

APT_GET="apt-get --assume-yes \
	-o Dir::Etc::sourcelist=`pwd`/$LIST \
	-o Dir::State=$APTDIR/state \
	-o Debug::NoLocking=true \
	-o Dir::Cache=$APTDIR/cache \
	-o Acquire::Retries=3 \
	-o Apt::Architecture=i386"

# Prepare APTDIR
mkdir -p $APTDIR/state/lists/partial
mkdir -p $APTDIR/cache/archives/partial
echo -n > $APTDIR/state/status
APT_GET="$APT_GET -o Dir::State::Status=$APTDIR/state/status"

$APT_GET update

APT_CACHE="apt-cache \
	-o Dir::Etc::sourcelist=`pwd`/$LIST \
	-o Dir::State=$APTDIR/state \
	-o Debug::NoLocking=true \
	-o Dir::Cache=$APTDIR/cache \
	-o Acquire::Retries=3 \
	-o Apt::Architecture=i386 \
	-o Dir::State::Status=$APTDIR/state/status"


SRCS=""
for i in $DEBS; do
  src=`$APT_CACHE showsrc $i | grep '^Package: ' | head -n 1 | awk '{print $2}'`
  case " $SRCS " in
    *" $src "*) ;;
    *) SRCS="$SRCS $src" ;;
  esac
done

cd srcs
$APT_GET -d source $SRCS
cd ..

if [ "$BINARIES" = "1" ]; then
    cd pkgs
    for pkg in $DEBS; do
        $APT_GET --download-only install $pkg
        mv $APTDIR/cache/archives/${pkg}_*.deb .
    done
else    
    cd build
    for pkg in $SRCS; do
        echo $pkg
        dpkg-source -sn -x ../srcs/${pkg}_*.dsc
        cd $pkg-*
        sudo apt-get -y build-dep $pkg
        dpkg-buildpackage -rfakeroot -uc -us -B
        cd ..
        rm -rf $pkg-*
    done
    cd ..
    
    for pkg in $DEBS; do
        mv build/${pkg}_*.deb pkgs/
    done
fi

exit 0
