#! /bin/bash

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

rebuild () {
    # FIXME: yaboot doesn't work properly on Efika unless (a) you compile with
    # gcc 3.x, and (b) you use version 1.3.16.
    tar xzf yaboot-1.3.17.tar.gz
    cd yaboot-1.3.17
    sed -i -e 's/YBCFLAGS += -Werror/YBCFLAGS += /' Makefile
    make
    strip -R .note -R .comment second/yaboot
    cp second/yaboot ../yaboot-runtime/boot/yaboot/
    cd ..
    rm -rf yaboot-1.3.17
}

ARCH=`ipkg -V 0 print_architecture | tail -n 1 | cut -f2 -d' '`
[ "$ARCH" != 'powerpc' ] && exit 0

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

for CTRLFILE in */CONTROL/control; do
    sed -i -e "s/__ARCH__/$ARCH/g" $CTRLFILE
    sudo ipkg-build -o root -g root `dirname $CTRLFILE`/..
done
