#!/bin/sh -e
# Copyright: (C) 2014 Michael Gilbert <mgilbert@debian.org>
# License: GPL-2+
# A debdiff for remote source packages using snapshot.debian.org.

url=http://snapshot.debian.org

if test $# = 0; then
    echo "usage: $(basename $0) <source package> [old version] [new version] [options]"
    echo "options:"
    echo "        --download-only (don't diff, just download)"
    false
fi

package=$1
if test $# -gt 2; then
    oldversion=$2
    newversion=$3
else
    info=$(wget $url/mr/package/$package/ -q -O- | grep -Po '"'"version"'"\s*:\s*"\K([^"]*)'| head -2)
    oldversion=$(echo "$info" | tail -1)
    newversion=$(echo "$info" | head -1)
fi

oldnoepoch=$(echo $oldversion | sed s/.*\://)
newnoepoch=$(echo $newversion | sed s/.*\://)

debsnap -v -f -d . $package $oldversion >&2 || true
dscverify $package\_$oldnoepoch.dsc >&2
echo "" >&2

debsnap -v -f -d . $package $newversion >&2 || true
dscverify $package\_$newnoepoch.dsc >&2
echo "" >&2

if test "$(echo $4 | sed s/--//)" != "download-only"; then
    test -x /usr/bin/diffstat && diffstat=--diffstat || diffstat=
    debdiff $diffstat --auto-ver-sort $package\_$oldnoepoch.dsc $package\_$newnoepoch.dsc
fi
