#! /bin/bash

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

rebuild () {
    tar xjf modutils-2.4.27.tar.bz2
    cd modutils-2.4.27
    bunzip2 -c ../modutils-2.4.27-gcc4-patch.bz2 | patch -p1 -b
    ./configure --enable-combined --disable-combined-ksyms \
	--disable-combined-kallsyms --disable-compat-2-0 \
	--disable-common-i386 --enable-zlib --with-dynamic-zlib
    make
    strip -R .note -R .comment depmod/depmod insmod/insmod insmod/modinfo
    cp depmod/depmod insmod/insmod insmod/modinfo ../modutils/sbin/
    cd ..
#    rm -rf modutils-2.4.27
}

mkdir -p modutils/sbin
ln -sf insmod modutils/sbin/lsmod
ln -sf insmod modutils/sbin/modprobe
ln -sf insmod modutils/sbin/rmmod

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
