#!/bin/sh

# Go to the top source dir (given as argument)
if test "${#}" -eq "0"; then
 echo "Usage: $0 abinit_top_srcdir"
 exit 1
fi

cd "${1}" || exit 2

# Copy hook script to user GNU Arch directory
if test -e "${HOME}/.arch-params/hook"
then
	./extras/arch_hooks/ask -y "Overwrite ~/.arch-params/hook?"
	if test "${?}" = "0"
	then
		echo "Copying arch_hooks/arch-tree-hook to ~/.arch-params/hook"
		cp extras/arch_hooks/arch-tree-hook ${HOME}/.arch-params/hook
		chmod u+rx ${HOME}/.arch-params/hook
	else
		echo "Warning: please make sure that the existing hook script is compatible"
		echo "with ABINIT"
	fi
else
	echo "Copying arch_hooks/arch-tree-hook to ~/.arch-params/hook"
	cp extras/arch_hooks/arch-tree-hook ${HOME}/.arch-params/hook
	chmod u+rx ${HOME}/.arch-params/hook
fi

# Copy hook script to source-tree {arch} directory
if [ -e '{arch}/=hook' ]
then 
	echo "Warning: overwriting ~abinit/{arch}/=hook"
fi
echo "Copying abinit-baz-hook to ~abinit/{arch}/=hook"
cp extras/arch_hooks/abinit-baz-hook '{arch}/=hook'
chmod u+rx '{arch}/=hook'

# Remove obsolete and buggy files
if [ -d "${HOME}/.abinit/arch_hooks/=precommit" ]
then
	echo "Warning: removing old precommit directory"
	rm -rf "${HOME}/.abinit/arch_hooks/=precommit"
fi
if [ -d "${HOME}/.abinit/arch_hooks/=commit" ]
then
	echo "Warning: removing old commit directory"
	rm -rf "${HOME}/.abinit/arch_hooks/=commit"
fi
if [ -d "${HOME}/.abinit/arch-hooks" ]
then
	echo "Warning: removing obsolete ~/.abinit/arch-hooks directory"
	rm -rf "${HOME}/.abinit/arch-hooks"
fi

# Install precommit and commit hooks
if [ ! -e "${HOME}/.abinit/arch_hooks" ]
then 
	echo "Creating ~/.abinit/arch_hooks"
	mkdir -p ${HOME}/.abinit/arch_hooks 
fi
if [ ! -e "${HOME}/.abinit/arch_hooks/precommit" ]
then
	echo "Creating ~/.abinit/arch_hooks/precommit"
	mkdir -p ${HOME}/.abinit/arch_hooks/precommit
fi
if [ ! -e "${HOME}/.abinit/arch_hooks/commit" ]
then
	echo "Creating ~/.abinit/arch_hooks/commit"
	mkdir -p ${HOME}/.abinit/arch_hooks/commit
fi
echo "Copying precommit hooks to ~/.abinit/arch_hooks"
cp extras/arch_hooks/precommit/* ${HOME}/.abinit/arch_hooks/precommit
echo "Copying commit hooks to ~/.abinit/arch_hooks"
cp extras/arch_hooks/commit/* ${HOME}/.abinit/arch_hooks/commit
chmod -R u+rx ${HOME}/.abinit/arch_hooks/*

exit 0
