Package: kdelibs4 Version: 4:3.3.2-1 Severity: normal Tags: patch I have been having problems with the "print to PDF"/"print to PS" option in Konqueror, which should be reproducible as follows:
1) Install the es package 2) Make /usr/bin/es your $SHELL 3) Try to print a web page to a PDF or PS file using the print-to-file option in the Konqueror print dialog. You should get an error message complaining about a syntax error in a command line invoking gs. The problem is that es doesn't like the unquoted/unescaped equals '=' signs in the command line which kdeprint passes to it to be executed. A quick fix is to modify the files in /usr/share/apps/kdeprint/filters/ which contain the templates for the command lines, escaping all the equals signs (still works on Bourne shells): --- pdfwrite.xml.distrib 2004-05-22 22:55:14.000000000 +0200 +++ pdfwrite.xml 2005-02-13 18:16:35.000000000 +0100 @@ -1,6 +1,6 @@ <?xml version="1.0"?> <kprintfilter name="pdfwrite"> - <filtercommand data="gs -q -dNOPAUSE -dSAFER -dPARANOIDSAFER -sDEVICE=pdfwrite -sPAPERSIZE=%psl -sOutputFile=%filteroutput %filterargs -c save pop -f %filterinput" /> + <filtercommand data="gs -q -dNOPAUSE -dSAFER -dPARANOIDSAFER -sDEVICE\=pdfwrite -sPAPERSIZE\=%psl -sOutputFile\=%filteroutput %filterargs -c save pop -f %filterinput" /> <filterargs> </filterargs> <filterinput> --- ps2pdf.xml.distrib 2004-05-22 22:55:14.000000000 +0200 +++ ps2pdf.xml 2005-02-13 19:29:26.000000000 +0100 @@ -1,20 +1,20 @@ <!DOCTYPE kprintfilter> <kprintfilter name="ps2pdf" > - <filtercommand data="gs -q -dSAFER -dPARANOIDSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%filteroutput -sPAPERSIZE=%psl %filterargs -c .setpdfwrite -f %filterinput" /> + <filtercommand data="gs -q -dSAFER -dPARANOIDSAFER -dNOPAUSE -dBATCH -sDEVICE\=pdfwrite -sOutputFile\=%filteroutput -sPAPERSIZE\=%psl %filterargs -c .setpdfwrite -f %filterinput" /> <filterargs name="__root__" description="ps2pdf" > <filtergroup name="general" description="General" > - <filterarg format="-dPDFSETTINGS=%value" type="list" name="targetdevice" default="/default" description="Target device" > + <filterarg format="-dPDFSETTINGS\=%value" type="list" name="targetdevice" default="/default" description="Target device" > <value name="/default" description="Default" /> <value name="/screen" description="Screen" /> <value name="/printer" description="Printer" /> <value name="/prepress" description="Prepress" /> </filterarg> - <filterarg format="-dCompatibilityLevel=%value" type="list" name="compat" default="gs-def" description="Compatibility Level" > + <filterarg format="-dCompatibilityLevel\=%value" type="list" name="compat" default="gs-def" description="Compatibility Level" > <value name="gs-def" description="GhostScript Default Setting" /> <value name="1.2" description="Level 1.2" /> <value name="1.3" description="Level 1.3" /> </filterarg> - <filterarg format="-dAutoRotatePages=%value" type="list" name="autorotate" default="/PageByPage" description="Auto rotate pages" > + <filterarg format="-dAutoRotatePages\=%value" type="list" name="autorotate" default="/PageByPage" description="Auto rotate pages" > <value name="/None" description="Disabled" /> <value name="/PageByPage" description="Page by Page" /> <value name="/All" description="Dominant orientation" /> @@ -23,30 +23,30 @@ <filtergroup name="image" description="Image Options" > <filtergroup name="colorimage" description="Color Images" > <filtergroup name="colorcompress" description="Compression" > - <filterarg format="-dEncodeColorImages=%value" type="bool" name="colorencode" default="true" description="Encode color images" > + <filterarg format="-dEncodeColorImages\=%value" type="bool" name="colorencode" default="true" description="Encode color images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dAutoFilterColorImages=%value" type="bool" name="colorautofilt" default="true" description="Auto encode color images" > + <filterarg format="-dAutoFilterColorImages\=%value" type="bool" name="colorautofilt" default="true" description="Auto encode color images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dColorImageFilter=%value" type="bool" name="colorencodetype" default="/DCTEncode" description="Manual color image encoding method" > + <filterarg format="-dColorImageFilter\=%value" type="bool" name="colorencodetype" default="/DCTEncode" description="Manual color image encoding method" > <value name="/FlateEncode" description="Flate compression" /> <value name="/DCTEncode" description="JPEG compression" /> </filterarg> </filtergroup> - <filterarg format="-dDownsampleColorImages=%value" type="bool" name="coldownsampl" default="false" description="Downsample color images" > + <filterarg format="-dDownsampleColorImages\=%value" type="bool" name="coldownsampl" default="false" description="Downsample color images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dColorImageResolution=%value" type="int" min="9" max="2400" name="colimageres" default="300" description="Maximum color image resolution" /> - <filterarg format="-sColorImageDownsampleType=%value" type="list" name="colsampltype" default="Subsample" description="Color image downsampling method" > + <filterarg format="-dColorImageResolution\=%value" type="int" min="9" max="2400" name="colimageres" default="300" description="Maximum color image resolution" /> + <filterarg format="-sColorImageDownsampleType\=%value" type="list" name="colsampltype" default="Subsample" description="Color image downsampling method" > <value name="Subsample" description="Sub-sampling" /> <value name="Average" description="Averaging" /> <value name="Bicubic" description="Bicubic interpolation" /> </filterarg> - <filterarg format="-dColorImageDepth=%value" type="list" name="coldepth" default="-1" description="Color image depth" > + <filterarg format="-dColorImageDepth\=%value" type="list" name="coldepth" default="-1" description="Color image depth" > <value name="-1" description="Use the depth of the original" /> <value name="1" description="1" /> <value name="2" description="2" /> @@ -56,30 +56,30 @@ </filtergroup> <filtergroup name="grayimage" description="Grayscale Images" > <filtergroup name="graycompress" description="Compression" > - <filterarg format="-dEncodeGrayImages=%value" type="bool" name="grayencode" default="true" description="Encode grayscale images" > + <filterarg format="-dEncodeGrayImages\=%value" type="bool" name="grayencode" default="true" description="Encode grayscale images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dAutoFilterGrayImages=%value" type="bool" name="grayautofilt" default="true" description="Auto encode grayscale images" > + <filterarg format="-dAutoFilterGrayImages\=%value" type="bool" name="grayautofilt" default="true" description="Auto encode grayscale images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dEncodeGrayImages=%value" type="bool" name="grayencodetype" default="/DCTEncode" description="Manual grayscale image encoding method" > + <filterarg format="-dEncodeGrayImages\=%value" type="bool" name="grayencodetype" default="/DCTEncode" description="Manual grayscale image encoding method" > <value name="/FlateEncode" description="Flate compression" /> <value name="/DCTEncode" description="JPEG compression" /> </filterarg> </filtergroup> - <filterarg format="-dDownsampleGrayImages=%value" type="bool" name="graydownsampl" default="false" description="Downsample grayscale images" > + <filterarg format="-dDownsampleGrayImages\=%value" type="bool" name="graydownsampl" default="false" description="Downsample grayscale images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dGrayImageResolution=%value" type="int" min="9" max="2400" name="grayimageres" default="300" description="Maximum grayscale image resolution" /> - <filterarg format="-sGrayImageDownsampleType=%value" type="list" name="graysampltype" default="Subsample" description="Grayscale image downsampling method" > + <filterarg format="-dGrayImageResolution\=%value" type="int" min="9" max="2400" name="grayimageres" default="300" description="Maximum grayscale image resolution" /> + <filterarg format="-sGrayImageDownsampleType\=%value" type="list" name="graysampltype" default="Subsample" description="Grayscale image downsampling method" > <value name="Subsample" description="Sub-sampling" /> <value name="Average" description="Averaging" /> <value name="Bicubic" description="Bicubic interpolation" /> </filterarg> - <filterarg format="-dGrayImageDepth=%value" type="list" name="graydepth" default="-1" description="Grayscale image depth" > + <filterarg format="-dGrayImageDepth\=%value" type="list" name="graydepth" default="-1" description="Grayscale image depth" > <value name="-1" description="Use the depth of the original" /> <value name="1" description="1" /> <value name="2" description="2" /> @@ -89,30 +89,30 @@ </filtergroup> <filtergroup name="monoimage" description="Mono Images" > <filtergroup name="monocompress" description="Compression" > - <filterarg format="-dEncodeMonoImages=%value" type="bool" name="monoencode" default="true" description="Encode mono images" > + <filterarg format="-dEncodeMonoImages\=%value" type="bool" name="monoencode" default="true" description="Encode mono images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dAutoFilterMonoImages=%value" type="bool" name="monoautofilt" default="true" description="Auto encode mono images" > + <filterarg format="-dAutoFilterMonoImages\=%value" type="bool" name="monoautofilt" default="true" description="Auto encode mono images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dEncodeMonoImages=%value" type="bool" name="monoencodetype" default="/CCITTFaxEncode" description="Manual mono image encoding method" > + <filterarg format="-dEncodeMonoImages\=%value" type="bool" name="monoencodetype" default="/CCITTFaxEncode" description="Manual mono image encoding method" > <value name="/CCITTFaxEncode" description="CCITT compression" /> <value name="/FlateEncode" description="Flate compression" /> </filterarg> </filtergroup> - <filterarg format="-dDownsampleMonoImages=%value" type="bool" name="downsamplmono" default="false" description="Downsample mono images" > + <filterarg format="-dDownsampleMonoImages\=%value" type="bool" name="downsamplmono" default="false" description="Downsample mono images" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dMonoImageResolution=%value" type="int" min="0" max="2400" name="monores" default="300" description="Maximum mono image resolution" /> - <filterarg format="-sMonoImageDownsampleType=%value" type="list" name="monosampltype" default="Subsample" description="Mono image downsampling method" > + <filterarg format="-dMonoImageResolution\=%value" type="int" min="0" max="2400" name="monores" default="300" description="Maximum mono image resolution" /> + <filterarg format="-sMonoImageDownsampleType\=%value" type="list" name="monosampltype" default="Subsample" description="Mono image downsampling method" > <value name="Subsample" description="Sub-sampling" /> <value name="Average" description="Averaging" /> <value name="Bicubic" description="Bicubic interpolation" /> </filterarg> - <filterarg format="-dMonoImageDepth=%value" type="list" name="monodepth" default="-1" description="Mono image depth" > + <filterarg format="-dMonoImageDepth\=%value" type="list" name="monodepth" default="-1" description="Mono image depth" > <value name="-1" description="Use the depth of the original" /> <value name="1" description="1" /> <value name="2" description="2" /> @@ -122,15 +122,15 @@ </filtergroup> </filtergroup> <filtergroup name="fonts" description="Fonts" > - <filterarg format="-dEmbedAllFonts=%value" type="bool" name="embedfonts" default="true" description="Embed all fonts" > + <filterarg format="-dEmbedAllFonts\=%value" type="bool" name="embedfonts" default="true" description="Embed all fonts" > <value name="true" description="Enabled" /> <value name="false" description="Disabled" /> </filterarg> - <filterarg format="-dSubsetFonts=%value" type="bool" name="fontsubsets" default="true" description="Embed font subsets" > + <filterarg format="-dSubsetFonts\=%value" type="bool" name="fontsubsets" default="true" description="Embed font subsets" > <value name="true" description="Embed subset" /> <value name="false" description="Embed complete font" /> </filterarg> - <filterarg format="-dMaxSubsetPct=%value" type="int" min="0" max="100" name="fontsubsetpct" default="100" description="Maximum font subset percentage" /> + <filterarg format="-dMaxSubsetPct\=%value" type="int" min="0" max="100" name="fontsubsetpct" default="100" description="Maximum font subset percentage" /> <filterarg format="-r%value" type="list" name="resol" default="300x300" description="Bitmap font resolution" > <value name="72x72" description="72 dpi" /> <value name="144x144" description="144 dpi" /> A cleaner solution would be to change kdeprint such that it always invokes /bin/sh to execute these commands rather than the user's shell, which may or may not support Bourne shell syntax. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (900, 'testing'), (800, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.9 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Versions of packages kdelibs4 depends on: ii kdelibs-bin 4:3.3.2-1 KDE core binaries ii kdelibs-data 4:3.3.2-1 KDE core shared data ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi ii libarts1 1.3.2-2 aRts Sound system ii libasound2 1.0.8-1 ALSA library ii libaspell15 0.50.5-5 The GNU Aspell spell-checker runti ii libaudio2 1.7-2 The Network Audio System (NAS). (s ii libaudiofile0 0.2.6-5 Open-source version of SGI's audio ii libbz2-1.0 1.0.2-1 A high-quality block-sorting file ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libcupsys2-gnutls10 1.1.23-3 Common UNIX Printing System(tm) - ii libesd-alsa0 [libesd0] 0.2.35-2 Enlightened Sound Daemon (ALSA) - ii libfam0c102 2.7.0-6 client library to control the FAM ii libgcc1 1:3.4.3-6 GCC support library ii libglib2.0-0 2.6.1-3 The GLib library of C routines ii libice6 4.3.0.dfsg.1-10 Inter-Client Exchange library ii libidn11 0.5.2-3 GNU libidn library, implementation ii libjack0.80.0-0 0.99.0-2 JACK Audio Connection Kit (librari ii libjasper-1.701-1 1.701.0-2 The JasPer JPEG-2000 runtime libra ii libjpeg62 6b-9 The Independent JPEG Group's JPEG ii libmad0 0.15.1b-1 MPEG audio decoder library ii libogg0 1.1.0-1 Ogg Bitstream Library ii libopenexr2 1.2.1-3 runtime files for the OpenEXR imag ii libpcre3 4.5-1.1 Perl 5 Compatible Regular Expressi ii libpng12-0 1.2.8rel-1 PNG library - runtime ii libqt3c102-mt 3:3.3.3-8 Qt GUI Library (Threaded runtime v ii libsm6 4.3.0.dfsg.1-10 X Window System Session Management ii libstdc++5 1:3.3.5-8 The GNU Standard C++ Library v3 ii libtiff4 3.7.1-3 Tag Image File Format (TIFF) libra ii libvorbis0a 1.0.1-1 The Vorbis General Audio Compressi ii libvorbisenc2 1.0.1-1 The Vorbis General Audio Compressi ii libvorbisfile3 1.0.1-1 The Vorbis General Audio Compressi ii libx11-6 4.3.0.dfsg.1-10 X Window System protocol client li ii libxext6 4.3.0.dfsg.1-10 X Window System miscellaneous exte ii libxml2 2.6.11-5 GNOME XML library ii libxrender1 0.8.3-7 X Rendering Extension client libra ii libxslt1.1 1.1.8-5 XSLT processing library - runtime ii libxt6 4.3.0.dfsg.1-10 X Toolkit Intrinsics ii xbase-clients 4.3.0.dfsg.1-10 miscellaneous X clients ii xlibs 4.3.0.dfsg.1-10 X Keyboard Extension (XKB) configu ii zlib1g 1:1.2.2-3 compression library - runtime -- no debconf information -- Leonard Stiles <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]