#!/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_filename=$(basename "$deb")
deb_source=${deb_filename%%_*}
deb_version=${deb_filename#*_}
deb_version=${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_source/$deb_source.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"
