#!/bin/bash -e
# deb http://ppa.launchpad.net/pitti/ppa/ubuntu hardy main
echo "reikia idiegti debhelper paketą, kad padarytu paketa"

VERSION=0.20090123

# temporary build
if ! [ -d temp-build ]; then
    cp -r v4l-dvb temp-build
    #patch -d temp-build -p1 < `pwd`/fix-kdir.patch
    make -C temp-build
fi

cd temp-build

# generate dkms.conf
cat <<EOF > ../dkms.conf
PACKAGE_NAME=v4l-dvb
PACKAGE_VERSION=$VERSION
AUTOINSTALL=y
MAKE[0]=make
PATCH[0]=fix-kdir.patch

EOF

# determine module names and paths from temporary build
i=0
ORIG_PATHS=$(dpkg -L linux-image-`uname -r`)
for f in `find -name *.ko`; do 
    M=`basename $f .ko`
    #echo "$M" | grep -q -x -f ../not-newer.txt && continue || true
    echo "BUILT_MODULE_NAME[$i]=$M" >> ../dkms.conf
    echo "BUILT_MODULE_LOCATION[$i]=`dirname $f`" >> ../dkms.conf
    L=$(echo "$ORIG_PATHS" |grep "/$M\.ko"|sed 's_^.*/kernel_/kernel_')
    if [ -n "$L" ]; then
        echo "DEST_MODULE_LOCATION[$i]=`dirname $L`" >> ../dkms.conf
    else
        echo "DEST_MODULE_LOCATION[$i]=/kernel/drivers/v4l-dvb" >> ../dkms.conf
    fi
    ((i=i+1))
done
cd ..

# create temporary source and dkms trees
srctree=`mktemp -d`
dkmstree=`mktemp -d`
cp /var/lib/dkms/dkms_dbversion $dkmstree
trap "rm -rf $srctree $dkmstree" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15

# copy to srctree (without .hg/)
D="$srctree/v4l-dvb-$VERSION"
mkdir -p $D
cp -r v4l-dvb/* $D
# modules are not versioned properly, so kill the versions to disable dkms'
# version comparison
find $D -name '*.c' | xargs sed -i '/^MODULE_VERSION\>/d'

cp dkms.conf $D
mkdir $D/patches
cp fix-kdir.patch $D/patches
cp -r /etc/dkms/template-dkms-mkdeb/ $D/v4l-dvb-dkms-mkdeb
sed -i '/^Maintainer:/ s/: .*$/: Martin Pitt <martin.pitt@ubuntu.com>/; /^Depends:/ s/$/, gcc, make, patch/' $D/v4l-dvb-dkms-mkdeb/debian/control
sed -i '1 s/stable/hardy/g; s/^ -- .*  DATE_STAMP/ -- Martin Pitt <martin.pitt@ubuntu.com>  DATE_STAMP/' $D/v4l-dvb-dkms-mkdeb/debian/changelog

# register to dkms
dkms --sourcetree $srctree --dkmstree $dkmstree add -m v4l-dvb -v $VERSION

# build debian source package
dkms --sourcetree $srctree --dkmstree $dkmstree mkdeb --source-only -m v4l-dvb -v $VERSION

# copy generated package
cp $dkmstree/v4l-dvb/$VERSION/deb/* .
