#!/bin/bash
APP="$HOME/IGNSDK-APP/"
DIR=$1
PKG=`echo $1 | sed "s|$HOME/IGNSDK-APP/||"`
echo $PKG
echo $DIR
INSTALL_LIST="install -d -m 755 \$RPM_BUILD_ROOT/opt/ignsdk/%{name}\n\
install -d -m 755 \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/icons\n\
install -d -m 755 \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/bin\n\
install -d -m 755 \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/rpm\n\
install -d -m 755 \$RPM_BUILD_ROOT/usr/share/applications"

help ()
{

cat <<EOF
Usage: ignsdk-app-builder [OPTIONS] [PACKAGE NAME or PROJECT DIRECTORY]

OPTION	:
		
		-p, --pkgname		Project Package name
		-d, --dir			Project directory
		-l, --list			List project exist

EXAMPLE :
		
		$ignsdk-app-builder --pkgname control-panel
		or
		$ignsdk-app-builder --dir /home/igos/IGNSDK-APP/control-panel.ign
EOF

exit 0
}

_toBeInstalled ()
{
	case $1 in
		"menu" )
			_mustBeADirectory "$DIR/$1"
			INSTALL_LIST="$INSTALL_LIST\ninstall -m 644 menu/ignsdk-*.desktop \$RPM_BUILD_ROOT/usr/share/applications/"
			;;
		"icons" )
			_mustBeADirectory "$DIR/$1"
			if [ ! "$(ls $DIR/icons/)" == "" ]; then
				INSTALL_LIST="$INSTALL_LIST\ncp -rf icons/* \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/icons/"
			fi
			;;
		"bin" )
			_mustBeADirectory "$DIR/$1"
			if [ ! "$(ls $DIR/bin/)" == "" ]; then
				INSTALL_LIST="$INSTALL_LIST\ncp -rf bin/* \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/bin/"
			fi
			;;
		"rpm" )
			_mustBeADirectory "$DIR/$1"
				INSTALL_LIST="$INSTALL_LIST\ncp -rf rpm/* \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/rpm/"
			;;
		* )
			INSTALL_LIST="$INSTALL_LIST\ncp -rf '$1' \$RPM_BUILD_ROOT/opt/ignsdk/%{name}/"
			;;
	esac
}

_mustBeADirectory ()
{
	if [ ! -d "$1" ]
	then
		echo "ERROR: $1 must be a directory!"
		exit 1
	fi
}

if [ -d $HOME/rpmbuild/SOURCES ]; then
	SOURCE="$HOME/rpmbuild/SOURCES"
else
	mkdir -p $HOME/rpmbuild/SOURCES
	SOURCE="$HOME/rpmbuild/SOURCES"
fi

if [ -d $DIR ];then
	cd $APP
	for file in $PKG/*
	do
		file=$(echo $file | sed "s/$PKG\///")
		_toBeInstalled "$file"
	done
	echo -e $INSTALL_LIST > $SOURCE/$PKG.txt
	tar cfz $SOURCE/$PKG.tar.gz $PKG
	rpmbuild -ba $DIR/rpm/$PKG.spec
	echo ""
	echo "Done! PATH : $HOME/rpmbuild/RPMS/noarch/"
	exit 0
else
	help
fi
