diff -u foomatic-filters-4.0.3/debian/changelog foomatic-filters-4.0.3/debian/changelog --- foomatic-filters-4.0.3/debian/changelog +++ foomatic-filters-4.0.3/debian/changelog @@ -1,3 +1,15 @@ +foomatic-filters (4.0.3-0ubuntu2.1) karmic-proposed; urgency=low + + * debian/patches/10_foomatic-rip-use-poppler-pdftops-with-cups.patch: + CUPS manipulates $PATH when calling filters and this makes foomatic-rip + calling CUPS' pdftops instead of Poppler's pdftops. This fails and so + always the awkward Ghostscript/pswrite fallback is used, producing + huge temporary PostScript files which the following process (driver + or PostScript printer) renders very slowly or does not render at all + due to excessive memory usage (LP: #463059). + + -- Till Kamppeter Tue, 2 Feb 2010 13:33:17 +0100 + foomatic-filters (4.0.3-0ubuntu2) karmic; urgency=low * debian/control: Recommend poppler-utils 0.11.2 or newer, as the only in patch2: unchanged: --- foomatic-filters-4.0.3.orig/debian/patches/10_foomatic-rip-use-poppler-pdftops-with-cups.patch +++ foomatic-filters-4.0.3/debian/patches/10_foomatic-rip-use-poppler-pdftops-with-cups.patch @@ -0,0 +1,27 @@ +diff -Nur -x '*.orig' -x '*~' foomatic-filters-4.0.3/foomaticrip.c foomatic-filters-4.0.3.new/foomaticrip.c +--- foomatic-filters-4.0.3/foomaticrip.c 2009-08-19 20:08:41.000000000 +0200 ++++ foomatic-filters-4.0.3.new/foomaticrip.c 2010-02-02 13:12:11.745278837 +0100 +@@ -1012,11 +1012,19 @@ + filename = tmpfilename; + } + ++ /* If the spooler is CUPS we remove the /usr/lib/cups/filter ++ (CUPS filter directory, can be different, but ends with ++ "/cups/filter") which CUPS adds to the beginning of $PATH, ++ so that Poppler's/XPDF's pdftops filter is called and not ++ the one of CUPS, as the one of CUPS has a different command ++ line and does undesired page management operations */ + snprintf(pdf2ps_cmd, PATH_MAX, +- "pdftops -level2 -origpagesizes %s - 2>/dev/null || " +- "gs -q -sstdout=%%stderr -sDEVICE=pswrite -sOutputFile=- " +- "-dBATCH -dNOPAUSE -dPARANOIDSAFER %s 2>/dev/null", +- filename, filename); ++ "%spdftops -level2 -origpagesizes %s - 2>/dev/null || " ++ "gs -q -sstdout=%%stderr -sDEVICE=pswrite -sOutputFile=- " ++ "-dBATCH -dNOPAUSE -dPARANOIDSAFER %s 2>/dev/null", ++ (spooler == SPOOLER_CUPS ? ++ "PATH=${PATH#*/cups/filter:} " : ""), ++ filename, filename); + + renderer_pid = start_system_process("pdf-to-ps", pdf2ps_cmd, &in, &out); +