#!/bin/sh
# Copyright (c) 2001 Jordan DeLong
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. Neither the name of the author nor the names of contributors may be
#    used to endorse or promote products derived from this software
#    without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#

# the makefile will replace this with real stuff
BINDIR=		/bin
DATADIR=	/share

#
# functions to make the .xsession and .xinitrc files
#
makexsess() {
	echo "#! /bin/sh"				> ~/.xsession
	echo "#"					>> ~/.xsession
	echo "# this file created by golem.install"	>> ~/.xsession
	echo "#"					>> ~/.xsession
	echo ""						>> ~/.xsession
	echo "exec ${BINDIR}/golem"			>> ~/.xsession
	echo ""						>> ~/.xsession
}

makexinit() {
	echo "#! /bin/sh"				> ~/.xinitrc
	echo "#"					>> ~/.xinitrc
	echo "# this file created by golem.install"	>> ~/.xinitrc
	echo "#"					>> ~/.xinitrc
	echo ""						>> ~/.xinitrc
	echo "exec ${BINDIR}/golem"			>> ~/.xinitrc
	echo ""						>> ~/.xinitrc
}

#
# here we go
#
if [ -d ~/.golem ] ; then
	echo "It appears that you already have a ~/.golem directory"
	echo "Do you want me to overwrite it? (y/[n])"
	read yorn
	if [ "$yorn" != "y" ] ; then
		echo "Ok, exiting now."
		exit 0
	fi
	rm -rf ~/.golem
fi

echo " "
echo "Doing installation of golem for ${USER}"
echo " "

echo "Copying configuration files to ~/.golem..."
mkdir -p ~/.golem
cp ${DATADIR}/golem/golemrc ~/.golem/
cp -R ${DATADIR}/golem/plugins ~/.golem/
find ~/.golem/ -type f | xargs chmod 644

echo " "
echo "Linking ~/.golem/themes to ${DATADIR}/golem/themes, user themes"
echo "go in ~/.golem/mythemes/*"
ln -s ${DATADIR}/golem/themes ~/.golem/themes
mkdir ~/.golem/mythemes
echo " "

echo "Creating ~/.xsession and ~/.xinitrc"
if [ -f ~/.xsession -o -L ~/.xsession ] ; then
	echo "You already have a ~/.xsession file, would you like to back it up"
	echo "and replace it with a new one? (y/[n])"
	read yorn
	if [ "$yorn" = "y" ] ; then
		mv ~/.xsession ~/.xsession.old
		makexsess
	fi
else
	makexsess
fi

if [ -f ~/.xinitrc -o -L ~/.xsession ] ; then
	echo "You already have a ~/.xinitrc file, would you like to back it up"
	echo "and replace it with a new one? (y/[n])"
	read yorn
	if [ "$yorn" = "y" ] ; then
		mv ~/.xinitrc ~/.xinitrc.old
		makexinit
	fi
else
	makexinit
fi

echo " "
echo "Done.  You may now edit the files in ~/.golem to your liking."


syntax highlighted by Code2HTML, v. 0.9.1