#! /bin/sh

set -e

if [ $# -ne 1 ]; then
	echo Usage: $0 kernelsource-location
	exit 1
fi

changelog="$1/debian/changelog"
if [ ! -f $changelog ]; then
	echo "kernel changelog not found, cannot determine kernel version"
	exit 1
fi

linuxversion=`head -1 $changelog | \
	sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\1/'`

kernversion=`head -1 $changelog | \
	sed -e 's/.*source-\([^ ]*\) (\([^)]*\)).*/\2/'`

pkgversion=`head -1 debian/changelog | \
	sed -e 's/.*(\([^)]*\)).*/\1/'`

comment="  * Recompile against $linuxversion"

linuxversion=$linuxversion sh -e < ./debian/generate-preinstpostrm

sed -e s/=KVERS/$linuxversion/ debian/mod.control >> debian/control
sed -e s/=KVERS/$linuxversion/g debian/mod.preinst > debian/module.preinst
sed -e s/=KVERS/$linuxversion/g debian/mod.prerm > debian/module.prerm
sed -e s/=KVERS/$linuxversion/g debian/mod.postinst > debian/module.postinst
sed -e s/=KVERS/$linuxversion/g debian/mod.postrm > debian/module.postrm
sed -e s/=KVERS/$linuxversion/g debian/mod.templates > debian/module.templates
sed -e s/=KVERS/$linuxversion/g debian/mod.config > debian/module.config
sed -e "s/=comment/$comment/" -e "s/=KVERS/$linuxversion/" \
    -e s/=VERS/"$pkgversion+$kernversion"/ \
         debian/mod.changelog > debian/module.changelog
echo ' --' $KMAINT "<$KEMAIL>" '' `822-date` >> debian/module.changelog 

install -d -o root -g root -m 755 debian/tmp/usr/share/doc/ftape-module-$linuxversion
install -p -o root -g root -m 644 debian/copyright \
    debian/tmp/usr/share/doc/ftape-module-$linuxversion
install -p -o root -g root -m 644 ChangeLog \
    debian/tmp/usr/share/doc/ftape-module-$linuxversion/changelog
install -p -o root -g root -m 644 debian/module.changelog \
    debian/tmp/usr/share/doc/ftape-module-$linuxversion/changelog.Debian
gzip -9v debian/tmp/usr/share/doc/ftape-module-$linuxversion/changelog.Debian
gzip -9v debian/tmp/usr/share/doc/ftape-module-$linuxversion/changelog

echo "$pkgversion+$kernversion" > debian/MODVERS
echo "$linuxversion" > debian/KVERS

# Fixing change of install location for kernels 2.4

case "$linuxversion" in
    2.0*|2.1*|2.2*|2.3*);;
    *)
	( cd debian/tmp/lib/modules/$linuxversion ; 
	    mkdir -p kernel/drivers/char/ftape/compressor
	    mv misc/zft-compressor.o kernel/drivers/char/ftape/compressor
	    mkdir -p kernel/drivers/char/ftape/lowlevel
	    mv misc/ftape.o kernel/drivers/char/ftape/lowlevel
	    mkdir -p kernel/drivers/char/ftape/zftape
	    mv misc/zftape.o kernel/drivers/char/ftape/zftape
	) ;;
esac