#!/bin/bash
#
# install-post - TurboPrint installation script
#                non-static installation / %post part of rpm
#
# must have root permissions
#
# (c) 2000-2002 ZEDOnet
# mail@turboprint.de

# get TurboPrint configuration

eval $(cat /etc/turboprint/system.cfg)

# override help browser if set by command line

TP_RPM=0

for i do
	case "$i" in
	--rpm ) TP_RPM=1;;
	--cups=* ) TP_CUPS=${i#*=};;
	--language=* ) TP_LANGUAGE=${i#*=};;
	--charset=* ) TP_CHARSET=${i#*=};;
	--browser=* ) TPBIN_BROWSER="${i#*=}" ;;
	esac
done

if [ $TP_RPM -eq 1 ] ; then
	# additional setup if called during rpm installation
	# with RPM package now always CUPS required
	TP_CUPS=1
	#if [ -e $TPPATH_CUPSFILTER -a -e $TPPATH_CUPSDRIVER ] ; then
	#	TP_CUPS=1
	#else
	#	TP_CUPS=0
	#fi
fi

# link documentation

if [ ! -e $TPPATH_DOC/html_fr ] ; then
	ln -s $TPPATH_DOC/html $TPPATH_DOC/html_fr
fi

# write system.cfg

echo > "$TPPATH_CONFIG/system.cfg" "TP_LANGUAGE=$TP_LANGUAGE"
echo >> "$TPPATH_CONFIG/system.cfg" "TP_CHARSET=$TP_CHARSET"
echo >> "$TPPATH_CONFIG/system.cfg" "TP_INSTALLATIONSTATE=$TP_RPM"
echo >> "$TPPATH_CONFIG/system.cfg" "TP_CUPS=$TP_CUPS"
echo >> "$TPPATH_CONFIG/system.cfg" "TPBIN_BROWSER=$TPBIN_BROWSER"
echo >> "$TPPATH_CONFIG/system.cfg" "TPFILE_PRINTCAP=$TPFILE_PRINTCAP"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_CONFIG=$TPPATH_CONFIG"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_SHARE=$TPPATH_SHARE"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_SPOOL=$TPPATH_SPOOL"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_BIN=$TPPATH_BIN"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_FILTERS=$TPPATH_FILTERS"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_DOC=$TPPATH_DOC"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_LOG=$TPPATH_LOG"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_TEMP=$TPPATH_TEMP"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_MAN=$TPPATH_MAN"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_CUPSDRIVER=$TPPATH_CUPSDRIVER"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_CUPSSETTINGS=$TPPATH_CUPSSETTINGS"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_CUPSFILTER=$TPPATH_CUPSFILTER"
echo >> "$TPPATH_CONFIG/system.cfg" "TPPATH_CUPSFILTER64=$TPPATH_CUPSFILTER64"
echo >> "$TPPATH_CONFIG/system.cfg" "TPOWN_SPOOLDIR=$TPOWN_SPOOLDIR"
echo >> "$TPPATH_CONFIG/system.cfg" "TPMOD_SPOOLDIR=$TPMOD_SPOOLDIR"
echo >> "$TPPATH_CONFIG/system.cfg" "TPOWN_SPOOLFILE=$TPOWN_SPOOLFILE"
echo >> "$TPPATH_CONFIG/system.cfg" "TPMOD_SPOOLFILE=$TPMOD_SPOOLFILE"

# change log file owner & group

chown lp "$TPPATH_LOG/turboprint_lpr.log"
chown lp "$TPPATH_LOG/turboprint_cups.log"
chgrp lp "$TPPATH_LOG/turboprint_lpr.log"
chgrp lp "$TPPATH_LOG/turboprint_cups.log"

# generate PPD files; add to CUPS if present

mkdir -p "$RBR$TPPATH_SHARE/ppd"
tpsetup --writeppdfiles "$TPPATH_SHARE/ppd/"

if [ $TP_CUPS -eq 1 ] ; then
	if [ -e "$TPPATH_CUPSFILTER" ] ; then
		install --mode=755 "$TPPATH_SHARE/lib/rastertoturboprint" "$TPPATH_CUPSFILTER"
		install --mode=755 "$TPPATH_SHARE/lib/pstoturboprint" "$TPPATH_CUPSFILTER"
	fi
	# different search path on 64 bit systems
	if [ -e "$TPPATH_CUPSFILTER64" ] ; then
		install --mode=755 "$TPPATH_SHARE/lib/rastertoturboprint" "$TPPATH_CUPSFILTER64"
		install --mode=755 "$TPPATH_SHARE/lib/pstoturboprint" "$TPPATH_CUPSFILTER64"
	fi
	mkdir -p "$TPPATH_CUPSDRIVER/turboprint"
	install --mode=755 $TPPATH_SHARE/ppd/* "$TPPATH_CUPSDRIVER/turboprint"
fi

# call setup to update LPD config files / CUPS PPD files

tpsetup --update

# restart CUPS scheduler

if [ $TP_CUPS -eq 1 ] ; then
	echo "Restarting CUPS printing system..."
	/etc/init.d/cups restart &> /dev/null
	/etc/init.d/cupsys restart &> /dev/null
	echo ""
fi

# remove dump files

if [ -e "$TPPATH_SHARE/dump/dj970aligncontrol.prn" ] ; then
	rm -r "$TPPATH_SHARE/dump/dj970aligncontrol.prn"
fi

# exit 0

# add entry to KDE menu
# KDE1 no longer supported

TP_ENTRY="/tmp/tpconfig$$.tmp"
TP_ENTRYSETUP="/tmp/tpsetup$$.tmp"

echo > $TP_ENTRY "[Desktop Entry]"
echo >> $TP_ENTRY "Type=Application"
echo >> $TP_ENTRY "Exec=xtpconfig"
echo >> $TP_ENTRY "Icon=printer"
echo >> $TP_ENTRY "MapNotify=true"
echo >> $TP_ENTRY "DocPath=$TPPATH_DOC/html/turboprint.html"
echo >> $TP_ENTRY "Comment=Change your printer's settings"
echo >> $TP_ENTRY "Terminal=0"
echo >> $TP_ENTRY "Name=TurboPrint-Config"
echo > $TP_ENTRYSETUP "[Desktop Entry]"
echo >> $TP_ENTRYSETUP "Type=Application"
echo >> $TP_ENTRYSETUP "Exec=xtpsetup"
echo >> $TP_ENTRYSETUP "Icon=printer"
echo >> $TP_ENTRYSETUP "MapNotify=true"
echo >> $TP_ENTRYSETUP "DocPath=$TPPATH_DOC/html/turboprint.html"
echo >> $TP_ENTRYSETUP "Comment=Setup printers"
echo >> $TP_ENTRYSETUP "Terminal=0"
echo >> $TP_ENTRYSETUP "Name=TurboPrint-Setup"
echo >> $TP_ENTRYSETUP "X-KDE-SubstituteUID=true"
echo >> $TP_ENTRYSETUP "X-KDE-Username=root"

# add to KDE menu

if [ $KDEDIRS ] ; then

	LOOP=1
	while [ $LOOP -gt 0 -a $LOOP -lt 20 ] ; do
		KDEPATH=$(echo "$KDEDIRS" | cut -d":" -f$LOOP)
		if [ $KDEPATH ] ; then
			LOOP=$[LOOP+1]
			if [ -e $KDEPATH/share/applnk/Utilities ] ; then
				KDEPATH="$KDEPATH/share/applnk/Utilities"
				LOOP=0
			fi
		else
			LOOP=0
		fi
	done
fi

if [ -e /etc/opt/kde2/share/applnk/SuSE/Utilities ] ; then
	KDEPATH="/etc/opt/kde2/share/applnk/SuSE/Utilities"
fi
if [ -e /etc/opt/kde3/share/applnk/SuSE/Settings ] ; then
	KDEPATH="/etc/opt/kde3/share/applnk/SuSE/Settings"
fi

if [ $KDEPATH -a -e $KDEPATH ] ; then
	cp $TP_ENTRY "$KDEPATH/xtpconfig.desktop"
	cp $TP_ENTRYSETUP "$KDEPATH/xtpsetup.desktop"
fi

# add to current user's desktop
if [ -e ~/KDesktop ] ; then
	cp $TP_ENTRY ~/KDesktop/xtpconfig.desktop
	cp $TP_ENTRYSETUP ~/KDesktop/xtpsetup.desktop
fi
if [ -e ~/Desktop ] ; then
	cp $TP_ENTRY ~/Desktop/xtpconfig.desktop
	cp $TP_ENTRYSETUP ~/Desktop/xtpsetup.desktop
fi

# add to all users' desktops
for i in /home/*; do
	USER=${i##*/}
        if [ -e $i/KDesktop ] ; then
                cp $TP_ENTRY $i/KDesktop/xtpconfig.desktop
		chown $USER $i/KDesktop/xtpconfig.desktop
                cp $TP_ENTRYSETUP $i/KDesktop/xtpsetup.desktop
		chown $USER $i/KDesktop/xtpsetup.desktop
        fi
        if [ -e $i/Desktop ] ; then
                cp $TP_ENTRY $i/Desktop/xtpconfig.desktop
		chown $USER $i/Desktop/xtpconfig.desktop
                cp $TP_ENTRYSETUP $i/Desktop/xtpsetup.desktop
		chown $USER $i/Desktop/xtpsetup.desktop
        fi
done

rm $TP_ENTRY
rm $TP_ENTRYSETUP


# finished

exit 0
