#!/bin/bash

# package

# This will collect up the x86 and x86_64 bundles created by build
# and package them together with an installer script.

BUILDTYPE=""
SINGLE_ARCH="F"
X86_BUNDLE_OK="F"
X86_64_BUNDLE_OK="F"


if [ $# -eq 0 ] ; then
	echo ""	 
	echo "ERROR - Please specify build type"
	echo "	  --public"
	echo "	  --sae"
	echo ""	 
	exit 1
fi

while [ $# -gt 0 ] ; do
	echo "arg = $1"
	case $1 in

	#
	# top level build targets
	#

	--sae)
		APPNAME=Ardour ;
		shift ;;
	--mixbus)
		APPNAME=Mixbus ;
		shift ;;
	--public)
		APPNAME=Ardour ;
		shift ;;

	--singlearch) SINGLE_ARCH="T" ; shift ;;

	*)
		#catch all for unknown arguments
		echo ""
		echo "!!! ERROR !!! - Unknown argument $1"
		echo ""
		exit 1
		;;
	esac
done

. ../define_versions.sh

if [ x$DEBUG = xT ]; then
	BUILDTYPE="dbg"
fi

X86_BUNDLE="${APPNAME}_x86-${version}"
X86_64_BUNDLE="${APPNAME}_x86_64-${version}"

if [ ! -z ${BUILDTYPE} ]; then
	X86_BUNDLE="${X86_BUNDLE}-${BUILDTYPE}"
	X86_64_BUNDLE="${X86_64_BUNDLE}-${BUILDTYPE}"
fi 

if [ ! -e ${X86_BUNDLE}.tar.bz2 ] ; then
	echo ""
	echo "Can't locate x86 bundle file ${X86_BUNDLE}.tar.bz2"
	echo ""
elif [ ! -e ${X86_BUNDLE}.size ] ; then
	echo ""
	echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
	echo ""
else
	X86_BUNDLE_OK="T"
fi

if [ ! -e ${X86_64_BUNDLE}.tar.bz2 ]; then
	echo ""
	echo "Can't locate x86_64 bundle file ${X86_64_BUNDLE}.tar.bz2"
	echo ""
elif [ ! -e ${X86_64_BUNDLE}.size ]; then
	echo ""
	echo "Can't locate x86 bundle size file ${X86_BUNDLE}.size"
	echo ""
else
	X86_64_BUNDLE_OK="T"
fi


if [ "${X86_BUNDLE_OK}" = "F" ] || [ "${X86_64_BUNDLE_OK}" = "F" ]; then
	if [ "${X86_BUNDLE_OK}" = "${X86_64_BUNDLE_OK}" ]; then
		echo ""
		echo "!!! ERROR !!! - Can't locate bundle files ${X86_BUNDLE} or ${X86_64_BUNDLE}"
		echo ""
		exit 1
	elif [ "${SINGLE_ARCH}" = "T" ]; then
		echo ""
		echo "!!! Warning !!! - A single architecture package has been selected"
		echo ""
	else
		echo ""
		echo "!!! ERROR !!! - Missing bundle files."
		echo ""
		exit 1
	fi
fi



if [ -z ${BUILDTYPE} ]; then
	if [ "${SINGLE_ARCH}" = "T" ]; then
		if [ "${X86_BUNDLE_OK}" = "T" ]; then
			PACKAGE="${APPNAME}_32bit-${version}"
		else
			PACKAGE="${APPNAME}_64bit-${version}"
		fi
	else
		PACKAGE="${APPNAME}-${version}"
	fi
else
	if [ "${SINGLE_ARCH}" = "T" ]; then
		if [ "${X86_BUNDLE_OK}" = "T" ]; then
			PACKAGE="${APPNAME}_32bit-${version}-${BUILDTYPE}"
		else
			PACKAGE="${APPNAME}_64bit-${version}-${BUILDTYPE}"
		fi
	else
		PACKAGE="${APPNAME}-${version}-${BUILDTYPE}"
	fi
fi 


echo "Cleaning up any old package files for this build"
#Get rid of any old packages of this same name.
rm -f ${PACKAGE}.tar.bz2
rm -rf ${PACKAGE}


echo "Creating new package dir..."
mkdir ${PACKAGE}

if [ "${X86_BUNDLE_OK}" = "T" ]; then
	mv ${X86_BUNDLE}.tar.bz2 ${PACKAGE}
	mv ${X86_BUNDLE}.size ${PACKAGE}/.${X86_BUNDLE}.size
fi

if [ "${X86_64_BUNDLE_OK}" = "T" ]; then
	mv ${X86_64_BUNDLE}.tar.bz2 ${PACKAGE}
	mv ${X86_64_BUNDLE}.size ${PACKAGE}/.${X86_64_BUNDLE}.size
fi

cp install.sh ${PACKAGE}
cp stage2.run ${PACKAGE}/.stage2.run
cp README ${PACKAGE}

echo "Creating tarball..."
tar -cf ${PACKAGE}.tar ${PACKAGE}

echo "Clean up"
rm -rf ${PACKAGE}

echo ""
echo "Done"
echo ""
