#!/bin/sh

exit_if_not_root() {
	if [ "`id | sed -e 's/uid=\([0-9]*\)\(.*\)/\1/'`" != "0" ]; then
		echo "ERROR: You must have root privileges for this operation."
		exit 4
	fi
}

cd `dirname $0`

if [ "$1" = "-h" ]; then 
	echo ""
	echo "  Usage:"
	echo ""
	echo "  ./install    : Install driver package   (root priveleges required)"
	echo "  ./install -c : Check installed files"
	echo "  ./install -d : Uninstall driver package (root priveleges required)"
	echo "  ./install -h : Print this help and exit"
	echo "  ./install -u : the same as -d"
	echo ""

elif [ "$1" = "-d" ] || [ "$1" = "-u" ]; then
	exit_if_not_root
	echo "removing ..."
	rm -rf /usr/bin/printui
	rm  -f /usr/bin/imagetops
	rm  -f /usr/bin/texttops
	rm  -f /usr/bin/pstops
	rm  -f /usr/bin/pstospjlps
	rm  -f /usr/bin/hpgltops
	rm  -f /usr/bin/installprinter
	rm  -f /usr/bin/uninstallprinter
	rm  -f /usr/bin/pnxrawprt
	rm -rf /usr/share/printnx
	rm  -f /usr/lib/lpd/pnxjmodel
	if [ -f /etc/printnx/printnx.conf ]; then
		echo "removing printers added by the driver package"
		printer_list=`cat /etc/printnx/printnx.conf | grep "printer \"" | cut -d"\"" -f2`
		for printer in $printer_list ; do
			echo Do you want to remove the printer "$printer" [y/n] default=y :
			read answer
			if [ "$answer" = "n" ] || [ "$answer" = "N" ]; then
				echo ""
			else
				if uname -s | grep -i AIX > /dev/null ; then
					quedev=`lsallqdev -q$printer`
					rmquedev -q$printer -d$quedev 2>/dev/null
					rmque -q$printer 2>/dev/null
				else
					/usr/sbin/lpadmin -x$printer
				fi
			fi
		done
	fi
	rm -rf /etc/printnx

elif [ "$1" = "-c" ]; then

	ls -ld /etc/printnx /etc/printnx/printnx.conf 2>/dev/null

	ls -l /usr/bin/hpgltops /usr/bin/imagetops /usr/bin/installprinter 2>/dev/null
	ls -l /usr/bin/printui /usr/bin/pstops /usr/bin/pstospjlps /usr/bin/texttops /usr/bin/uninstallprinter 2>/dev/null
	if uname -s | grep -i AIX > /dev/null ; then
		ls -l /usr/bin/pnxrawprt /usr/lib/lpd/pnxjmodel 2>/dev/null
	elif uname -s | grep -i HP-UX > /dev/null ; then
		ls -l /usr/bin/pnxrawprt 2>/dev/null
	fi
	if [ -d /usr/share/printnx ]; then
		ls -ld /usr/share/printnx
		ls -l `find /usr/share/printnx -type f` 2>/dev/null
	fi
else
	exit_if_not_root
	echo "installing ..." 
	PKG_DIR=`pwd`
	mkdir -p /etc/printnx
	for f in $PKG_DIR/binz/* ; do
		bf=`basename $f`
		cp $f /usr/bin/
		chown root /usr/bin/$bf
		chgrp bin  /usr/bin/$bf
		chmod 555  /usr/bin/$bf
	done
	if uname -s | grep -i AIX > /dev/null ; then
		cp $PKG_DIR/share/printnx/interface/pnxjmodel /usr/lib/lpd/
		chmod 555 /usr/lib/lpd/pnxjmodel
		chmod +s /usr/lib/lpd/pnxjmodel
	fi

	cp -r ./share/printnx /usr/share/
fi
