foomatic-db-engine:moved into main for pisi 2.0
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
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
|
||||
Reference in New Issue
Block a user