#!/bin/sh

# This script is used to download the upstream source for vdpau-video and
# generate it into an orig source tarball for Debian.

# Common variables used to ease maintenance of this script
VDPAU_VIDEO_VERSION="0.7.2"
VDPAU_VIDEO_TARBALL="vdpau-video-$VDPAU_VIDEO_VERSION.tar.gz"
VDPAU_VIDEO_TARBALL_CHECKSUM="c58e16c4faa8744e78d49db4d6baaa2da49eaee3684f4eae4a300ed4e9e2f744"
VDPAU_VIDEO_ORIG_TARBALL="vdpau-video_$VDPAU_VIDEO_VERSION.orig.tar.gz"
USAGE="\n\
This script is used to generate the orig tarball used in building\n\
Debian packages for vdpau-video-$VDPAU_VIDEO_VERSION.\n\
Usage: vdpau-video-get-orig-source [OPTION]\n\
\n\
 -h, --help                 Display this help message.\n"

while [ "$#" -gt "0" ]
do
    case "$1" in
        -h|--help|*)
            echo "${USAGE}"
            exit 1
            ;;
    esac
done

make_current_tarball() {
    # Download the tarball if it's not available in the current directory
    [ -f $VDPAU_VIDEO_TARBALL ] || \
        wget -c http://www.splitted-desktop.com/~gbeauchesne/vdpau-video/$VDPAU_VIDEO_TARBALL

    # Verify the checksum
    COMPUTED_CHECKSUM=`sha256sum $VDPAU_VIDEO_TARBALL | cut -d ' ' -f 1`
    if [ $VDPAU_VIDEO_TARBALL_CHECKSUM != $COMPUTED_CHECKSUM ] ; then
        echo "Checksum verification failed. Checksum was $COMPUTED_CHECKSUM
    Expected checksum $VDPAU_VIDEO_TARBALL_CHECKSUM."
        exit 1
    else
        echo "Checksum verified. Checksum is $COMPUTED_CHECKSUM."
    fi

    # Extract tarball and run 'autoreconf -vif'
    echo "Extracting tarball and running 'autoreconf -vif'"
    tar -zxf $VDPAU_VIDEO_TARBALL
    cd vdpau-video-$VDPAU_VIDEO_VERSION
    autoreconf -vif
    cd ..

    # Remove temp files and other cruft from source tarball
    # The find command snippet here was taken from debhelper's dh_clean command
    # with some modification to delete more unneeded files.
    echo "Removing temp files and other cruft from source tarball"
    find vdpau-video-$VDPAU_VIDEO_VERSION \( \( -type f -a \
        \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
        -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
        -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
        -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
        -o -name config.status -o -name config.cache -o -name config.log \
        \) -exec rm -f "{}" \; \) -o \
        \( -type d -a -name autom4te.cache -prune -exec rm -rf "{}" \; \) \)
    rm -rf vdpau-video-$VDPAU_VIDEO_VERSION/debian

    # Remove empty directories
    echo "Removing empty directories"
    find vdpau-video-$VDPAU_VIDEO_VERSION -type d -empty -delete

    # Repack tarball to final orig tarball
    echo "Creating orig tarball"
    tar --exclude-vcs -zcf "$VDPAU_VIDEO_ORIG_TARBALL" "vdpau-video-$VDPAU_VIDEO_VERSION/"
}

make_current_tarball
