#! /bin/sh
set -e

USAGE="""alien-arena orig tarball download script
This script will generate an orig tarball that's distrubeted through Debian.
Usage: $0 [OPTION] <original upstream file>

 -h, --help                 Display this text
--keep-temp-dir             Don't delete the temporary working directory"""

ALIEN_ARENA_TARBALL=""
while [ "$#" -gt "0" ]
do
    case "$1" in
        -h|--help)
            echo "$USAGE"
            exit 1
            ;;
        --keep-temp-dir)
            KEEP_TEMP_DIR=1
            ;;
        *)
            ALIEN_ARENA_TARBALL="$1"
    esac
    shift
done

test "$ALIEN_ARENA_TARBALL" = "" && echo "$USAGE" && false
test ! -e "$ALIEN_ARENA_TARBALL" && echo "error: '$ALIEN_ARENA_TARBALL' not found." && false

ALIEN_ARENA_VERSION="$(echo $ALIEN_ARENA_TARBALL | cut -d_ -f 2 | sed s/\.orig\.tar\.gz//)"
CURR_DIR="$(pwd)"
TEMP_DIR="$(mktemp -d)"
extract="$TEMP_DIR/extract"

cd $TEMP_DIR
echo "Working in $TEMP_DIR (use '--keep-temp-dir' to keep it)."

# Prepare the alien-arena orig tarball
echo -n "Extracting $ALIEN_ARENA_TARBALL..."
mkdir -p "$extract"
tar xf $CURR_DIR/$ALIEN_ARENA_TARBALL --strip-components=1 -C "$extract"
echo "done."

echo "Removing all precompiled binaries"
rm -f $extract/crded
rm -f $extract/crx
for REMOVE_DLL in `find $extract -name *.dll`; do
	rm -f "$REMOVE_DLL"
done
for REMOVE_SO in `find $extract -name *.so`; do
	rm -f "$REMOVE_SO"
done
for REMOVE_EXE in `find $extract -name *.exe`; do
	rm -f "$REMOVE_EXE"
done
for REMOVE_LIB in `find $extract -name *.lib`; do
	rm -f "$REMOVE_LIB"
done

echo "Removing non-distributable components"
for REMOVE_ICO in `find $extract -name *.ico`; do
	rm -f "$REMOVE_ICO"
done
for REMOVE_BAT in `find $extract -name *.bat`; do
	rm -f "$REMOVE_BAT"
done
for REMOVE_DSP in `find $extract -name *.dsp`; do
	rm -f "$REMOVE_DSP"
done
for REMOVE_DSW in `find $extract -name *.dsw`; do
	rm -f "$REMOVE_DSW"
done

echo "Removing executable bit from files that shouldn't have it set"
find $extract/arena   ! -type d -exec chmod -x {} \;
find $extract/botinfo ! -type d -exec chmod -x {} \;
find $extract/data1   ! -type d -exec chmod -x {} \;
find $extract/docs    ! -type d -exec chmod -x {} \;
find $extract/source  ! -type d -exec chmod -x {} \;

echo "Moving free alien arena data to alien-arena-$ALIEN_ARENA_VERSION"
mv $extract alien-arena-$ALIEN_ARENA_VERSION

echo "Moving non-free alien arena data to alien-arena-data-$ALIEN_ARENA_VERSION"
mkdir alien-arena-data-$ALIEN_ARENA_VERSION
mv alien-arena-$ALIEN_ARENA_VERSION/arena alien-arena-data-$ALIEN_ARENA_VERSION
mv alien-arena-$ALIEN_ARENA_VERSION/botinfo alien-arena-data-$ALIEN_ARENA_VERSION
mv alien-arena-$ALIEN_ARENA_VERSION/data1 alien-arena-data-$ALIEN_ARENA_VERSION
cp -r alien-arena-$ALIEN_ARENA_VERSION/docs alien-arena-data-$ALIEN_ARENA_VERSION

echo "Creating alien-arena_$ALIEN_ARENA_VERSION+dfsg.orig.tar.gz"
mv alien-arena-$ALIEN_ARENA_VERSION alien-arena-$ALIEN_ARENA_VERSION+dfsg
tar -czf $CURR_DIR/alien-arena_$ALIEN_ARENA_VERSION+dfsg.orig.tar.gz alien-arena-$ALIEN_ARENA_VERSION+dfsg

echo "Creating alien-arena-data_$ALIEN_ARENA_VERSION.orig.tar.gz"
tar -czf $CURR_DIR/alien-arena-data_$ALIEN_ARENA_VERSION.orig.tar.gz alien-arena-data-$ALIEN_ARENA_VERSION

if [ ! -n "$KEEP_TEMP_DIR" ]; then
	echo -n "Removing $TEMP_DIR..."
	rm -rf $TEMP_DIR
	echo "done."
fi
