brother-dcp197c-cupswrapper: modified to made it work
This commit is contained in:
parent
35a7d61085
commit
95ca7b39e2
|
@ -1,6 +1,6 @@
|
|||
case "${ACTION}" in
|
||||
post)
|
||||
/opt/brother/Printers/dcp197c/cupswrapper/brother_cupswrapper.void -i
|
||||
/opt/brother/Printers/dcp197c/cupswrapper/cupswrapper.void -i
|
||||
chmod 755 /opt/brother/Printers/dcp197c/cupswrapper
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
case ${ACTION} in
|
||||
purge) /opt/brother/Printers/dcp197c/cupswrapper/brother_cupswrapper.void -e ;;
|
||||
pre) /opt/brother/Printers/dcp197c/cupswrapper/cupswrapper.void -e ;;
|
||||
esac
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# This file is installed by brother-XXXX-cupswrapper
|
||||
# To adapt it to you needing make sure you:
|
||||
# install usb-utils package
|
||||
# launch lsusb and note a line resemblig this one:
|
||||
#
|
||||
# Bus 004 Device 007: ID 04f9:023e Brother Industries, Ltd
|
||||
# Explanation:
|
||||
#
|
||||
# Bus xxx Device xxx are the location of the usb port
|
||||
#
|
||||
# ID 04f9:xxxx Brother Industries, Ltd
|
||||
#
|
||||
# note the xxxx hex number and put it in the field:
|
||||
#
|
||||
# ATTR{idProduct}=="023e" at place of 023e (the code for DCP197C)
|
||||
#
|
||||
# This is needed to make the printer work correctly
|
||||
# even if you installed the brother-brsca3 package
|
||||
# versione date 2014/04/26
|
||||
|
||||
ATTR{idVendor}=="04f9", ATTR{idProduct}=="023e", MODE:="0664", GROUP:="lp", ENV{libsane_matched}:="yes"
|
|
@ -18,33 +18,29 @@
|
|||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# modified for voidlinux by Carlo Dormeletti carlo.dormeletti <at> email.it
|
||||
# modify date 2014/04/26
|
||||
#
|
||||
|
||||
|
||||
printer_model=""dcp197c""
|
||||
printer_name=`echo $printer_model | tr '[a-z]' '[A-Z]'`
|
||||
device_name=`echo $printer_name | eval sed -e 's/MFC/MFC-/' -e 's/DCP/DCP-/' -e 's/FAX/FAX-/'`
|
||||
pcfilename=`echo $printer_name | tr -d '[A-Z]'`
|
||||
cups_printer_name=`echo $printer_model | tr '[a-z]' '[A-Z]'`
|
||||
device_name=`echo $cups_printer_name | eval sed -e 's/MFC/MFC-/' -e 's/DCP/DCP-/' -e 's/FAX/FAX-/'`
|
||||
# pcfilename=`echo $cups_printer_name | tr -d '[A-Z]'`
|
||||
device_model="Printers"
|
||||
tmp_filter=/var/tmp/brlpdwrapper${printer_model}
|
||||
ppd_file_name=/usr/share/ppd/cupsfilters/brother_${printer_model}_printer_en.ppd
|
||||
brotherlpdwrapper=/usr/lib/cups/filter/brlpdwrapper${printer_model}
|
||||
|
||||
|
||||
if [ "$1" = "-c" ]; then
|
||||
echo "printer_model => "
|
||||
echo $printer_model
|
||||
echo "printer_name => "
|
||||
echo $printer_name
|
||||
echo "device_name => "
|
||||
echo $device_name
|
||||
echo "pcfilename =>"
|
||||
echo $pcfilename
|
||||
echo "device_model => "
|
||||
echo $device_model
|
||||
echo "tmp_filter => "
|
||||
echo $tmp_filter
|
||||
echo "ppd_file_name => "
|
||||
echo $ppd_file_name
|
||||
echo "---------- Printer ----------"
|
||||
echo "printer_model => " $printer_model
|
||||
echo "cups_printer_name => " $cups_printer_name
|
||||
echo "device_name => " $device_name
|
||||
echo "device_model => " $device_model
|
||||
echo "-------- Filters File --------"
|
||||
echo "tmp_filter => " $tmp_filter
|
||||
echo "ppd_file_name => " $ppd_file_name
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
@ -52,27 +48,19 @@ fi
|
|||
|
||||
|
||||
if [ "$1" = '-e' ]; then
|
||||
lpadmin -x ${printer_name}
|
||||
lpadmin -x ${cups_printer_name}
|
||||
rm -f $ppd_file_name
|
||||
rm -f $brotherlpdwrapper
|
||||
|
||||
#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
|
||||
systemctl restart cups
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "-r" ]; then
|
||||
lpadmin -x ${printer_name}
|
||||
#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
|
||||
lpadmin -x ${cups_printer_name}
|
||||
|
||||
systemctl restart cups
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
|
@ -89,6 +77,7 @@ if [ -e "/opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model
|
|||
:
|
||||
else
|
||||
echo "ERROR : Brother LPD filter is not installed."
|
||||
echo "ERROR : please install it."
|
||||
fi
|
||||
|
||||
|
||||
|
@ -121,6 +110,7 @@ cat <<!ENDOFWFILTER! >$tmp_filter
|
|||
# Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
# modified for voidlinux by Carlo Dormeletti carlo.dormeletti <at> email.it
|
||||
# modify date 201/04/26
|
||||
#
|
||||
|
||||
LOGFILE="/dev/null"
|
||||
|
@ -132,36 +122,36 @@ LOG_LATESTONLY=1
|
|||
errorcode=0
|
||||
|
||||
if [ \$DEBUG != 0 ]; then
|
||||
LOGFILE=/tmp/br_cupsfilter_debug_log
|
||||
LOGFILE=/tmp/br_cupsfilter_debug_log
|
||||
fi
|
||||
|
||||
PPDC=\`printenv | grep "PPD="\`
|
||||
PPDC=\`echo \$PPDC | sed -e 's/PPD=//'\`
|
||||
|
||||
if [ "\$PPDC" = "" ]; then
|
||||
PPDC=$ppd_file_name
|
||||
PPDC=$ppd_file_name
|
||||
fi
|
||||
|
||||
|
||||
if [ \$LOGFILE != "/dev/null" ]; then
|
||||
if [ \$LOG_LATESTONLY == "1" ]; then
|
||||
rm -f \$LOGFILE
|
||||
date >\$LOGFILE
|
||||
date >\$LOGFILE
|
||||
else
|
||||
if [ -e \$LOGFILE ]; then
|
||||
date >>\$LOGFILE
|
||||
date >>\$LOGFILE
|
||||
else
|
||||
date >\$LOGFILE
|
||||
date >\$LOGFILE
|
||||
fi
|
||||
fi
|
||||
echo "arg0 = \$0" >>\$LOGFILE
|
||||
echo "arg1 = \$1" >>\$LOGFILE
|
||||
echo "arg2 = \$2" >>\$LOGFILE
|
||||
echo "arg3 = \$3" >>\$LOGFILE
|
||||
echo "arg4 = \$4" >>\$LOGFILE
|
||||
echo "arg5 = \$5" >>\$LOGFILE
|
||||
echo "arg6 = \$6" >>\$LOGFILE
|
||||
echo "PPD = \$PPD" >>\$LOGFILE
|
||||
echo "arg0 = \$0" >>\$LOGFILE
|
||||
echo "arg1 = \$1" >>\$LOGFILE
|
||||
echo "arg2 = \$2" >>\$LOGFILE
|
||||
echo "arg3 = \$3" >>\$LOGFILE
|
||||
echo "arg4 = \$4" >>\$LOGFILE
|
||||
echo "arg5 = \$5" >>\$LOGFILE
|
||||
echo "arg6 = \$6" >>\$LOGFILE
|
||||
echo "PPD = \$PPD" >>\$LOGFILE
|
||||
fi
|
||||
|
||||
INPUT_TEMP_PS=\`mktemp /tmp/br_input_ps.XXXXXX\`
|
||||
|
@ -169,75 +159,77 @@ INPUT_TEMP_PS=\`mktemp /tmp/br_input_ps.XXXXXX\`
|
|||
nup="cat"
|
||||
if [ "`echo \$5 | grep 'Nup='`" != '' ] && [ \$NUPENABLE != 0 ]; then
|
||||
|
||||
if [ "`echo \$5 | grep 'Nup=64'`" != '' ]; then
|
||||
nup="psnup -64"
|
||||
elif [ "`echo \$5 | grep 'Nup=32'`" != '' ]; then
|
||||
nup="psnup -32"
|
||||
elif [ "`echo \$5 | grep 'Nup=25'`" != '' ]; then
|
||||
nup="psnup -25"
|
||||
elif [ "`echo \$5 | grep 'Nup=16'`" != '' ]; then
|
||||
nup="psnup -16"
|
||||
elif [ "`echo \$5 | grep 'Nup=8'`" != '' ]; then
|
||||
nup="psnup -8"
|
||||
elif [ "`echo \$5 | grep 'Nup=6'`" != '' ]; then
|
||||
nup="psnup -6"
|
||||
elif [ "`echo \$5 | grep 'Nup=4'`" != '' ]; then
|
||||
nup="psnup -4"
|
||||
elif [ "`echo \$5 | grep 'Nup=2'`" != '' ]; then
|
||||
nup="psnup -2"
|
||||
elif [ "`echo \$5 | grep 'Nup=1'`" != '' ]; then
|
||||
nup="cat"
|
||||
fi
|
||||
echo "NUP=\$nup" >>\$LOGFILE
|
||||
if [ -e /usr/bin/psnup ]; then
|
||||
if [ \$# -ge 7 ]; then
|
||||
cat \$6 | \$nup > \$INPUT_TEMP_PS
|
||||
else
|
||||
cat | \$nup > \$INPUT_TEMP_PS
|
||||
fi
|
||||
else
|
||||
if [ \$# -ge 7 ]; then
|
||||
cp \$6 \$INPUT_TEMP_PS
|
||||
else
|
||||
cat > \$INPUT_TEMP_PS
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ \$# -ge 7 ]; then
|
||||
if [ "`echo \$5 | grep 'Nup=64'`" != '' ]; then
|
||||
nup="psnup -64"
|
||||
elif [ "`echo \$5 | grep 'Nup=32'`" != '' ]; then
|
||||
nup="psnup -32"
|
||||
elif [ "`echo \$5 | grep 'Nup=25'`" != '' ]; then
|
||||
nup="psnup -25"
|
||||
elif [ "`echo \$5 | grep 'Nup=16'`" != '' ]; then
|
||||
nup="psnup -16"
|
||||
elif [ "`echo \$5 | grep 'Nup=8'`" != '' ]; then
|
||||
nup="psnup -8"
|
||||
elif [ "`echo \$5 | grep 'Nup=6'`" != '' ]; then
|
||||
nup="psnup -6"
|
||||
elif [ "`echo \$5 | grep 'Nup=4'`" != '' ]; then
|
||||
nup="psnup -4"
|
||||
elif [ "`echo \$5 | grep 'Nup=2'`" != '' ]; then
|
||||
nup="psnup -2"
|
||||
elif [ "`echo \$5 | grep 'Nup=1'`" != '' ]; then
|
||||
nup="cat"
|
||||
fi
|
||||
echo "NUP=\$nup" >>\$LOGFILE
|
||||
if [ -e /usr/bin/psnup ]; then
|
||||
if [ \$# -ge 7 ]; then
|
||||
cat \$6 | \$nup > \$INPUT_TEMP_PS
|
||||
else
|
||||
cat | \$nup > \$INPUT_TEMP_PS
|
||||
fi
|
||||
else
|
||||
if [ \$# -ge 7 ]; then
|
||||
cp \$6 \$INPUT_TEMP_PS
|
||||
else
|
||||
else
|
||||
cat > \$INPUT_TEMP_PS
|
||||
fi
|
||||
fi
|
||||
if [ -e "/opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model}" ]; then
|
||||
:
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "ERROR: /opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model} does not exist" >>\$LOGFILE
|
||||
errorcode=30
|
||||
exit
|
||||
if [ \$# -ge 7 ]; then
|
||||
cp \$6 \$INPUT_TEMP_PS
|
||||
else
|
||||
cat > \$INPUT_TEMP_PS
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e "/opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model}" ]; then
|
||||
:
|
||||
else
|
||||
echo "ERROR: /opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model} does not exist" >>\$LOGFILE
|
||||
errorcode=30
|
||||
exit
|
||||
fi
|
||||
|
||||
CUPSOPTION=\`echo "\$5 Copies=\$4" | sed -e 's/BrMirror=OFF/MirrorPrint=OFF/' -e 's/BrMirror=ON/MirrorPrint=ON/' -e 's/BrChain/Chain/' -e 's/BrBrightness/Brightness/' -e 's/BrContrast/Contrast/' -e 's/BrHalfCut/HalfCut/' -e 's/BrAutoTapeCut/AutoCut/' -e 's/BrHalftonePattern/Halftone/' -e 's/Binary/Binary/' -e 's/Dither/Dither/' -e 's/ErrorDiffusion/ErrorDiffusion/' -e 's/PageSize/media/' -e 's/BrSheets/Sheets/' -e 's/multiple-document-handling/Collate/' -e 's/separate-documents-collated-copies/ON/' -e 's/separate-documents-uncollated-copies/OFF/'\`
|
||||
|
||||
if [ -e "/opt/brother/${device_model}/${printer_model}/cupswrapper/brcupsconfpt1" ]; then
|
||||
if [ \$DEBUG = 0 ]; then
|
||||
/opt/brother/${device_model}/${printer_model}/cupswrapper/brcupsconfpt1 ${printer_name} \$PPDC 0 "\$CUPSOPTION" "${printer_model}">> /dev/null
|
||||
/opt/brother/${device_model}/${printer_model}/cupswrapper/brcupsconfpt1 ${cups_printer_name} \$PPDC 0 "\$CUPSOPTION" "${printer_model}">> /dev/null
|
||||
else
|
||||
/opt/brother/${device_model}/${printer_model}/cupswrapper/brcupsconfpt1 ${printer_name} \$PPDC \$LOGCLEVEL "\$CUPSOPTION" "${printer_model}">>\$LOGFILE
|
||||
/opt/brother/${device_model}/${printer_model}/cupswrapper/brcupsconfpt1 ${cups_printer_name} \$PPDC \$LOGCLEVEL "\$CUPSOPTION" "${printer_model}">>\$LOGFILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ \$DEBUG -lt 10 ]; then
|
||||
cat \$INPUT_TEMP_PS | /opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model} "\$\$" "CUPS" "USB"
|
||||
cat \$INPUT_TEMP_PS | /opt/brother/${device_model}/${printer_model}/lpd/filter${printer_model} "\$\$" "CUPS" "USB"
|
||||
|
||||
if [ \$LOGLEVEL -gt 2 ]; then
|
||||
if [ \$LOGFILE != "/dev/null" ]; then
|
||||
echo "" >>\$LOGFILE
|
||||
echo " ------PostScript Data-------" >>\$LOGFILE
|
||||
cat \$INPUT_TEMP_PS >>\$LOGFILE
|
||||
fi
|
||||
if [ \$LOGLEVEL -gt 2 ]; then
|
||||
if [ \$LOGFILE != "/dev/null" ]; then
|
||||
echo "" >>\$LOGFILE
|
||||
echo " ------PostScript Data-------" >>\$LOGFILE
|
||||
cat \$INPUT_TEMP_PS >>\$LOGFILE
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -f \$INPUT_TEMP_PS
|
||||
|
||||
exit $errorcode
|
||||
|
@ -247,48 +239,44 @@ exit $errorcode
|
|||
chmod 755 $tmp_filter
|
||||
|
||||
#
|
||||
# check /usr/lib/cups/filter
|
||||
# check brotherlpdwrapper in /usr/lib/cups/filter
|
||||
#
|
||||
|
||||
if [ -d /usr/lib/cups/filter ]; then
|
||||
brotherlpdwrapper=/usr/lib/cups/filter/brlpdwrapper${printer_model}
|
||||
rm -f $brotherlpdwrapper
|
||||
cp $tmp_filter $brotherlpdwrapper
|
||||
rm -f $brotherlpdwrapper
|
||||
cp $tmp_filter $brotherlpdwrapper
|
||||
fi
|
||||
|
||||
#
|
||||
# remove temporary script file
|
||||
# remove temporary script file
|
||||
#
|
||||
|
||||
rm -f $tmp_filter
|
||||
|
||||
chmod a+w /opt/brother/${device_model}/${printer_model}/inf/br${printer_model}rc
|
||||
chmod a+w /opt/brother/${device_model}/${printer_model}/inf
|
||||
|
||||
#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
|
||||
|
||||
sleep 2s
|
||||
|
||||
systemctl restart cups
|
||||
|
||||
port2=`lpinfo -v | grep -i 'usb://Brother/${device_name}' | head -1`
|
||||
|
||||
if [ "$port2" = '' ];then
|
||||
port2=`lpinfo -v | grep 'usb://Brother' | head -1`
|
||||
port2=`lpinfo -v | grep 'usb://Brother' | head -1`
|
||||
fi
|
||||
|
||||
if [ "$port2" = '' ];then
|
||||
port2=`lpinfo -v | grep 'usb://' | head -1`
|
||||
port2=`lpinfo -v | grep 'usb://' | head -1`
|
||||
fi
|
||||
|
||||
port=`echo $port2| sed s/direct//g`
|
||||
|
||||
if [ "$port" = '' ];then
|
||||
port=usb:/dev/usb/lp0
|
||||
port=usb:/dev/usb/lp0
|
||||
fi
|
||||
|
||||
lpadmin -p ${printer_name} -E -v $port -P $ppd_file_name
|
||||
lpadmin -p ${cups_printer_name} -E -v $port -P $ppd_file_name
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'brother-dcp197c-cupswrapper'
|
||||
pkgname=brother-dcp197c-cupswrapper
|
||||
version=1.1.3
|
||||
revision=2
|
||||
revision=3
|
||||
maintainer="Carlo Dormeletti <carlo.dormeletti@email.it>"
|
||||
homepage="http://support.brother.com/g/b/index.aspx"
|
||||
license="GPL-2"
|
||||
|
@ -19,5 +19,7 @@ do_extract() {
|
|||
do_install(){
|
||||
mkdir -p ${DESTDIR}
|
||||
tar xzpvf data.tar.gz -C ${DESTDIR}
|
||||
vinstall ${FILESDIR}/brother_cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
|
||||
rm ${DESTDIR}/opt/brother/Printers/dcp197c/cupswrapper/cupswrapperdcp197c
|
||||
vinstall ${FILESDIR}/cupswrapper.void 755 /opt/brother/Printers/dcp197c/cupswrapper/
|
||||
vinstall ${FILESDIR}/43-cups-usb.rules 644 /usr/lib/udev/rules.d/
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue