tags 520753 + pending thanks Dear maintainer,
I've prepared an NMU for ghostscript (versioned as 9.05~dfsg-6.3) and uploaded it to DELAYED/1. Please feel free to tell me if I should delay it longer. Regards.
diff -Nru ghostscript-9.05~dfsg/debian/changelog ghostscript-9.05~dfsg/debian/changelog --- ghostscript-9.05~dfsg/debian/changelog 2012-10-27 12:08:23.000000000 +0200 +++ ghostscript-9.05~dfsg/debian/changelog 2012-11-25 14:39:31.000000000 +0100 @@ -1,3 +1,12 @@ +ghostscript (9.05~dfsg-6.3) unstable; urgency=low + + * Non-maintainer upload. + * Replace the PPD-updater postinst by CUPS' trigger (Closes: #520753) + - Breaks against too old cups versions. + - Add a ppd-updater file, to trigger with parameters. + + -- Didier Raboud <o...@debian.org> Sun, 25 Nov 2012 14:39:30 +0100 + ghostscript (9.05~dfsg-6.2) unstable; urgency=medium * Check for the existence of /etc/cups/ppd in ghostscript-cups.postinst diff -Nru ghostscript-9.05~dfsg/debian/control.in ghostscript-9.05~dfsg/debian/control.in --- ghostscript-9.05~dfsg/debian/control.in 2012-10-27 12:09:27.000000000 +0200 +++ ghostscript-9.05~dfsg/debian/control.in 2012-11-25 14:45:02.000000000 +0100 @@ -42,6 +42,7 @@ Conflicts: ${cdbs:Conflicts} Replaces: ${cdbs:Replaces} Provides: ${cdbs:Provides} +Breaks: cups (<< 1.5.0-2~) Description: interpreter for the PostScript language and for PDF - CUPS filters GPL Ghostscript is used for PostScript/PDF preview and printing. Usually as a back-end to a program such as ghostview, it can display diff -Nru ghostscript-9.05~dfsg/debian/control.in.in ghostscript-9.05~dfsg/debian/control.in.in --- ghostscript-9.05~dfsg/debian/control.in.in 2012-05-24 18:57:49.000000000 +0200 +++ ghostscript-9.05~dfsg/debian/control.in.in 2012-11-25 14:37:00.000000000 +0100 @@ -42,6 +42,7 @@ Conflicts: ${cdbs:Conflicts} Replaces: ${cdbs:Replaces} Provides: ${cdbs:Provides} +Breaks: cups (<< 1.5.0-2~) Description: interpreter for the PostScript language and for PDF - CUPS filters GPL Ghostscript is used for PostScript/PDF preview and printing. Usually as a back-end to a program such as ghostview, it can display diff -Nru ghostscript-9.05~dfsg/debian/ghostscript-cups.install ghostscript-9.05~dfsg/debian/ghostscript-cups.install --- ghostscript-9.05~dfsg/debian/ghostscript-cups.install 2012-05-24 18:57:49.000000000 +0200 +++ ghostscript-9.05~dfsg/debian/ghostscript-cups.install 2012-11-25 14:37:00.000000000 +0100 @@ -5,3 +5,6 @@ usr/lib/cups/filter/ usr/share/ppd/ + +# Cups triggering file +debian/ghostscript-cups.ppd-updater usr/share/cups/ppd-updaters/ diff -Nru ghostscript-9.05~dfsg/debian/ghostscript-cups.postinst ghostscript-9.05~dfsg/debian/ghostscript-cups.postinst --- ghostscript-9.05~dfsg/debian/ghostscript-cups.postinst 2012-10-27 12:09:20.000000000 +0200 +++ ghostscript-9.05~dfsg/debian/ghostscript-cups.postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,61 +0,0 @@ -#! /bin/bash - -set -e - -# Limit lp* commands to localhost to avoid hanging. See bug#543468 -lpopts='-h /var/run/cups/cups.sock' - -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 \ - && test -d /etc/cups/ppd \ - && LC_ALL=C lpstat $lpopts -r > /dev/null 2>&1; then - # Update the PPD files of all already installed print queues - driverregexp='lsb/usr/ghostscript/' - gennicknameregexp='' - [ ! -z "$gennicknameregexp" ] \ - && gennicknameregexp="; $gennicknameregexp" - gennicknameregexp='s/\s*\(recommended\)//'"$gennicknameregexp" - tempfiles= - trap 'rm -f $tempfiles; exit 0' 0 HUP INT QUIT ILL ABRT PIPE TERM - tmpfile1=`mktemp -t updateppds.XXXXXX` - tempfiles="$tempfiles $tmpfile1" - lpinfo $lpopts -m | grep -E $driverregexp > $tmpfile1 - cd /etc/cups/ppd - for ppd in *.ppd; do - [ -r "$ppd" ] || continue - queue=${ppd%.ppd} - lpstat $lpopts -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 $lpopts -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 $lpopts -p "$queue" -m $englishppduri 2>/dev/null && 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 - -#DEBHELPER# - -exit 0 diff -Nru ghostscript-9.05~dfsg/debian/ghostscript-cups.ppd-updater ghostscript-9.05~dfsg/debian/ghostscript-cups.ppd-updater --- ghostscript-9.05~dfsg/debian/ghostscript-cups.ppd-updater 1970-01-01 01:00:00.000000000 +0100 +++ ghostscript-9.05~dfsg/debian/ghostscript-cups.ppd-updater 2012-11-25 14:37:00.000000000 +0100 @@ -0,0 +1,2 @@ +DRIVER_REGEXP='lsb/usr/ghostscript/' +GENNICKNAME_REGEXP=''