#! /bin/bash

trap "echo '*** BUILD FAILED! ***' 1>&2" ERR
set -ex -o pipefail
umask 022
export PATH='/bin:/usr/bin:/usr/local/bin'
export CFLAGS=${CFLAGS:--Os}
export CXXFLAGS=${CXXFLAGS:--Os}

rebuild () {
    tar xzf traceroute-2.0.18.tar.gz
    cd traceroute-2.0.18
    bunzip2 -c ../traceroute-2.0.18-dietpc-patch.bz2 | patch -p1 -b
    sed -i -e '/\<call set, CFLAGS\>/d' Make.rules
    make
    strip -R .note -R .comment traceroute/traceroute
    mkdir -p ../traceroute/bin
    cp traceroute/traceroute ../traceroute/bin/
    cd ..
    rm -rf traceroute-2.0.18
}

while read FN; do
    eval "[ -e $FN ] || rebuild"
done < MANIFEST

ARCH=`ipkg -V 0 print_architecture | tail -n 1 | cut -f2 -d' '`
for CTRLFILE in */CONTROL/control; do
    sed -i -e "s/__ARCH__/$ARCH/g" $CTRLFILE
    sudo ipkg-build -o root -g root `dirname $CTRLFILE`/..
done
