diff options
author | Till Kamppeter <till.kamppeter@gmail.com> | 2009-03-25 17:53:14 +0100 |
---|---|---|
committer | Till Kamppeter <till.kamppeter@gmail.com> | 2009-03-25 17:53:14 +0100 |
commit | c543219432450cd8b75e10209c6627fcb48b055a (patch) | |
tree | c5345ecbf9236006730fe2753a7cce88bca301e0 | |
parent | 6d8f0d0774c4c1dce5789b59460b8cf61e9d9d7a (diff) | |
download | cups-c543219432450cd8b75e10209c6627fcb48b055a.tar.gz |
debian/ghostscript.postinst: Silenced non-fatal error messages when
post-instyall script updates PPDs and there are PPDs not belonging to
a CUPS queue in /etc/cups/ppd/ (LP: #345866).
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | debian/cups.postinst | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/debian/changelog b/debian/changelog index d03b4bc2..0234add5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,9 @@ cups (1.3.9-16) UNRELEASED; urgency=low * debian/local/filters/pdf-filters/pdftopdf/P2PResources.cxx: Fixed corruption of output when generating mmultiple copies of EOG or GIMP output files (LP: #345183). + * debian/ghostscript.postinst: Silenced non-fatal error messages when + post-instyall script updates PPDs and there are PPDs not belonging to + a CUPS queue in /etc/cups/ppd/ (LP: #345866). [ Martin Pitt ] * debian/local/apparmor-profile: Drop 'm' permission for /etc/passwd and diff --git a/debian/cups.postinst b/debian/cups.postinst index df78dbfa..3f189ab1 100644 --- a/debian/cups.postinst +++ b/debian/cups.postinst @@ -186,22 +186,24 @@ if [ "$1" = configure ]; then tempfiles="$tempfiles $tmpfile1" lpinfo -m | grep -E $driverregexp > $tmpfile1 cd /etc/cups/ppd - for ppd in `ls -1 *.ppd 2>/dev/null`; do + for ppd in *.ppd; do + [ -r "$ppd" ] || continue 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'` + lpstat -p "$queue" >/dev/null 2>&1 || continue + 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'` + [ "$ppdfound" = "0" ] && lpadmin -p "$queue" -m $newppduri 2>/dev/null || continue + 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" = "0" ] && [ ! -z "$englishppduri" ] && lpadmin -p "$queue" -m $englishppduri 2>/dev/null && ppdfound="1" [ "$ppdfound" = "1" ] && echo PPD for printer $queue updated >&2 done fi |