123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- case "$1" in
- configure)
- # Do the following only if CUPS is running and the needed CUPS tools
- # are available
- if which lpstat > /dev/null 2>&1 && \
- which lpinfo > /dev/null 2>&1 && \
- which lpadmin > /dev/null 2>&1 && \
- lpstat -r > /dev/null 2>&1; then
- # Update the PPD files of all already installed print queues
- driverregexp='^foomatic:'
- gennicknameregexp=''
- [ ! -z "$gennicknameregexp" ] && \
- gennicknameregexp="; $gennicknameregexp"
- gennicknameregexp='s/\s*\(recommended\)//'"$gennicknameregexp"
- tempfiles=
- trap 'rm -f $tempfiles; exit 0' 0 1 2 13 15
- tmpfile1=`mktemp -t updateppds.XXXXXX`
- tempfiles="$tempfiles $tmpfile1"
- lpinfo -m | grep -E $driverregexp > $tmpfile1
- cd /etc/cups/ppd
- for ppd in `ls -1 *.ppd 2>/dev/null`; do
- queue=${ppd%.ppd}
- nickname=`grep '\*NickName:' $ppd | cut -d '"' -f 2 | perl -p -e 's/\n$//' | perl -p -e "$gennicknameregexp" | perl -p -e 's/(\W)/\\\\$1/g'`
- lang=`grep '\*LanguageVersion:' $ppd | cut -d ' ' -f 2 | perl -e 'print lc(<>)' | perl -p -e 's/[\r\n]//gs'`
- ppdfound="0"
- englishppduri=""
- tmpfile2=`mktemp -t updateppds.XXXXXX`
- tempfiles="$tempfiles $tmpfile2"
- cat $tmpfile1 | perl -p -e "$gennicknameregexp" | grep -E '^\S+\s+.*'"$nickname"'$' | cut -d ' ' -f 1 > $tmpfile2
- while read newppduri; do
- [ "$ppdfound" = "0" ] && lpadmin -p $queue -m $newppduri
- newlang=`grep '\*LanguageVersion:' $ppd | cut -d ' ' -f 2 | perl -e 'print lc(<>)' | perl -p -e 's/[\r\n]//gs'`
- [ "$newlang" = "$lang" ] && ppdfound="1"
- [ "$newlang" = "english" ] && englishppduri="$newppduri"
- done < $tmpfile2
- [ "$ppdfound" = "0" ] && [ ! -z "$englishppduri" ] && lpadmin -p $queue -m $englishppduri && ppdfound="1"
- [ "$ppdfound" = "1" ] && echo PPD for printer $queue updated >&2
- done
- fi
- ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
- esac
- # dh_installdeb will replace this with shell code automatically
- # generated by other debhelper scripts.
- #DEBHELPER#
- exit 0
|