#! /bin/sh
#

printer_model=""grandprintercs""
printer_name=`echo $printer_model | tr '[a-z]' '[A-Z]'`
device_name=`echo $printer_name `
pcfilename=`echo $printer_name | tr -d '[A-Z]'`
tmp_filter=/var/tmp/lenovo_${printer_model}
ldpwrapper=/opt/lenovo/${printer_model}/bin/cupswrapper/lenovo_${printer_model}

if [ -d "/usr/share/cups/model" ]; then
  mkdir -p /usr/share/cups/model/Lenovo
else
  mkdir -p /usr/share/ppd/Lenovo
fi

if [ -d "/usr/share/ppd" ]; then
  mkdir -p /usr/share/ppd/Lenovo       
else
  mkdir -p /usr/share/cups/model/Lenovo
fi



if [ "$1" = '-e' ]; then
  rm -f /usr/share/cups/model/Lenovo/lenovo_gm2400cdn_printer_en.ppd
  rm -f /usr/share/ppd/Lenovo/lenovo_gm2400cdn_printer_en.ppd
  rm -f /usr/lib/cups/filter/lenovo_${printer_model}
  rm -f /usr/lib64/cups/filter/lenovo_${printer_model}
if [  -e /etc/init.d/cups ]; then
   /etc/init.d/cups restart
elif [  -e /etc/init.d/cupsys ]; then
   /etc/init.d/cupsys restart
fi
#  /etc/init.d/cups restart
  exit 0
fi
if [ "$1" = "-r" ]; then
if [  -e /etc/init.d/cups ]; then
   /etc/init.d/cups restart
elif [  -e /etc/init.d/cupsys ]; then
   /etc/init.d/cupsys restart
fi
#  /etc/init.d/cups restart
  exit 0
fi
if [ "$1" = "help" ] || [ "$1" = "-h" ]; then
  echo   'option -h : help'
  echo   '       -i : install'
  echo   '       -e : uninstall'
  echo   '       -r : remove printer'
  exit 0
fi


if [ -e "/opt/lenovo/${printer_model}/bin/lpd/filter_${printer_model}" ]; then
  :
else
  echo "ERROR : Lenovo LPD filter is not installed."
fi
rm -f /usr/share/cups/model/Lenovo/lenovo_gm2400cdn_printer_en.ppd
if [ -d "/usr/share/cups/model" ]; then
  ppd_file_name_2400=/usr/share/cups/model/Lenovo/lenovo_gm2400cdn_printer_en.ppd
else
  ppd_file_name_2400=/usr/share/ppd/Lenovo/lenovo_gm2400cdn_printer_en.ppd
fi

if [ -e "/opt/lenovo/${printer_model}/bin/cupswrapper/lenovo_gm2400cdn_printer_en.ppd" ];	then
cp "/opt/lenovo/${printer_model}/bin/cupswrapper/lenovo_gm2400cdn_printer_en.ppd" $ppd_file_name_2400
fi


chmod 644 $ppd_file_name_2400

if [ -d /usr/share/ppd ]
then
if [ -d /usr/share/cups/model ]
then
	cp $ppd_file_name_2400 /usr/share/ppd/Lenovo/lenovo_gm2400cdn_printer_en.ppd
	chmod 644 /usr/share/ppd/Lenovo/lenovo_gm2400cdn_printer_en.ppd
fi
fi

#
#	create temporary CUPS Filter
#


#
#	check /usr/lib/cups/filter
#
if [ -d /usr/lib/cups/filter ]; then
	lenovolpderapper=/usr/lib/cups/filter/lenovo_${printer_model}
	rm -f  $lenovolpderapper
	#cp $tmp_filter	$lenovolpderapper
	ln -s $ldpwrapper $lenovolpderapper
fi

#
#	check /usr/lib64/cups/filter
#
if [ -e /usr/lib64/cups/filter ]; then
	lenovolpderapper64=/usr/lib64/cups/filter/lenovo_${printer_model}
	rm -f  $lenovolpderapper64
	#cp $tmp_filter	$lenovolpderapper64
	ln -s $ldpwrapper $lenovolpderapper64
fi

#
#	remove temporary script file
#
rm -f  $tmp_filter

if [ -e /etc/init.d/lpd ]; then
   /etc/init.d/lpd stop
fi
if [  -e /etc/init.d/lprng ]; then
   /etc/init.d/lprng stop
fi


if [  -e /etc/init.d/cups ]; then
   /etc/init.d/cups restart
elif [  -e /etc/init.d/cupsys ]; then
   /etc/init.d/cupsys restart
fi
								
exit 0

