#!/bin/bash

if [ "$#" != 1 ]; then
	echo "Usage: update <linux-source-xxxx.deb>" 1>&2
	exit 2
fi
deb="$1"
tmp="ingest-$$"

src_version=$(LC_ALL=C dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2 | sed -e 's/-.*//')

# Extract the source name and version.
deb_package=$(LC_ALL=C.UTF-8 dpkg-deb -f $deb Package)
deb_source=$(LC_ALL=C.UTF-8 dpkg-deb -f $deb Source)
deb_version=$(LC_ALL=C.UTF-8 dpkg-deb -f $deb Version)

# Check we are version compatible.
case "$deb_version" in
${src_version}*) 	;;
*)			echo "$0: $deb: incompatible with our package version prefix ($src_version)" 1>&2
			exit 1
			;;
esac

# Extract the tarball from the package.
dpkg -x "$deb" "$tmp" || exit 1

tarball="$tmp/usr/src/$deb_package/$deb_package.tar.bz2"
if [ ! -f "$tarball" ]; then
	echo "$0: $deb: source tarball not found in .deb" 1>&2
	exit 1
fi

# Insert the .deb package version into our control file.
sed -i -e "s/^Built-Using:.*/Built-Using: $deb_source (= $deb_version)/" debian/control

# Clean up any wreckage.
mv "$tarball" .
rm -rf "$tmp"
