#!/bin/sh

if [ "$4" = "" ]
then
	echo "usage: install <basedir> <bindir> <calibrate_ppa> <pnm2ppa>"
	echo "example: install /usr/local/ppaSet/ /usr/local/bin /usr/local/bin/calibrate_ppa /usr/local/bin/pnm2ppa"
	exit 1
fi

BASEDIR=$1
BINDIR=$2
CALIBRATE_PPA=$3
PNM2PPA=$4
TPS=$BASEDIR/t.ps

# slah-scaped variables, to be used in sed (every / is scaped to \/)
BASEDIR2=`echo $BASEDIR | sed s/\\\//\\\\\\\\\\\//g`
#echo "$BASEDIR2"
BINDIR2=`echo $BINDIR | sed s/\\\//\\\\\\\\\\\//g`
#echo "$BINDIR2"
CALIBRATE_PPA2=`echo $CALIBRATE_PPA | sed s/\\\//\\\\\\\\\\\//g`
#echo "$CALIBRATE_PPA2"
PNM2PPA2=`echo $PNM2PPA | sed s/\\\//\\\\\\\\\\\//g`
#echo "$PNM2PPA2"
TPS2=`echo $TPS | sed s/\\\//\\\\\\\\\\\//g`
#echo "$TPS2"

# Make the directories
install --verbose -d $BASEDIR
install --verbose -d $BINDIR

# Copy getHome, gPpaSet and nPpaSet
cp -v getHome $BASEDIR
ln -v -f -s $BASEDIR/getHome $BINDIR
if [ -x gPpaSet ]
then
	cp -v gPpaSet $BASEDIR
	ln -v -f -s $BASEDIR/gPpaSet $BINDIR
else
	echo "    WARNING: gPpaSet is not being installed."
	echo "    Be sure that it's what you want."
fi
if [ -x nPpaSet ]
then
	cp -v nPpaSet $BASEDIR
	ln -v -f -s $BASEDIR/nPpaSet $BINDIR
else
	echo "    WARNING: nPpaSet is not being installed."
	echo "    Be sure that it's what you want."
fi

# Copy the input filter, modifying the PNM2PPA and CALIBRATE_PPA variables
sed s/__PNM2PPA__/PNM2PPA=$PNM2PPA2/ ppa.if | sed s/__CALIBRATE_PPA__/CALIBRATE_PPA=$CALIBRATE_PPA2/ > $BASEDIR/ppa.if
chmod +x $BASEDIR/ppa.if
ln -v -f -s $BASEDIR/ppa.if $BINDIR

# Copy test page and script, modifying TPS variable
cp -v t.ps $BASEDIR
sed s/__TPS__/$TPS2/ test > $BASEDIR/test
chmod +x $BASEDIR/test
# Copy calibration script
cp -v calibration $BASEDIR
chmod +x $BASEDIR/calibration
# Copy the gammaRef script, modifying CALIBRATE_PPA variable
sed s/__CALIBRATE_PPA__/CALIBRATE_PPA=$CALIBRATE_PPA2/ gammaRef > $BASEDIR/gammaRef
chmod +x $BASEDIR/gammaRef
# Copy the noGamma script
cp -v noGamma $BASEDIR
chmod +x $BASEDIR/noGamma
# Copy the cleanHeads script
cp -v cleanHeads $BASEDIR
chmod +x $BASEDIR/cleanHeads
# Copy the help file
cp -v HELP $BASEDIR

# Create/copy/modify printcat, following user orders, and create the spool
cp -v printcap.only $BASEDIR
cp -v printcap.add $BASEDIR
echo " "
echo " "
echo "I can set the PPA printer as the only one in the system (and"
echo "make it the default one), or I can add it to the previously"
echo "defined printers (naming it 'ppa')"
echo "(Anyway, I will make a bakcup copy of the printcap file in"
echo "/etc/printcap.old)"
echo "What do you want me to do?"
echo "1.-Set 'ppa' as the only printer"
echo "2.-Add 'ppa' to the defined printers"
echo "0.-Do nothing... be carefull"
read WHAT
if [ "$WHAT" != "0" ]
then
	if [ "$WHAT" = "2" ]
	then
		cp -v /etc/printcap /etc/printcap.old
		cat $BASEDIR/printcap.add >> /etc/printcap
	else
		cp -v /etc/printcap /etc/printcap.old
		cp -v $BASEDIR/printcap.only /etc/printcap
	fi
	install --verbose -d /var/spool/lpd/ppa
	touch /var/spool/lpd/ppa/log
	touch /var/spool/lpd/ppa/acct
fi

#echo " "
#echo " "
#echo "I need a bourne shell in /bin/sh. In many modern distributions"
#echo "/bin/sh is a symlink to /bin/bash, so _if_/bin/sh_doesn't_exist_"
#echo "I will try to do such a symlink."
#echo "It is usually harmless (even more, usefull, as many scripts"
#echo "actually use /bin/sh), so you should do it."
#echo "Just type \"n\" if you don't want it to be done."
#read WHAT
#[ "$WHAT" = "n" ] && exit 0
#[ "$WHAT" = "N" ] && exit 0
#[ "$WHAT" = "no" ] && exit 0
#[ "$WHAT" = "NO" ] && exit 0
#[ "$WHAT" = "No" ] && exit 0
#
#if [ -f /bin/sh ]
#then
#	echo "/bin/sh exists, so I will do nothing."
#	echo "Be sure that it's a bourne shell."
#else
#	if [ -f /bin/bash ]
#	then
#		ln -s /bin/bash /bin/sh
#	else
#		echo " "
#		echo "I can't find /bin/bash, so I can't made the symlink. Sorry."
#		echo "Please, install a bash shell in /bin/bash and rerun."
#	fi
#fi
