[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#295136: marked as done (kdelibs4: Kdeprint problems when using non-Bourne shell)



Your message dated Sat, 13 May 2006 15:06:49 +0200
with message-id <20060513130649.GA25049@hades.madism.org>
and subject line kdelibs4 bug #295136: non-POSIX shells
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
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 <ljs@uk2.net>



--- End Message ---
--- Begin Message ---
On Mon, Oct 17, 2005 at 12:30:39AM +0200, Lionel Elie Mamane wrote:
> Pierre Habouzit dixit:
> 
> On Sun, Feb 13, 2005 at 11:13:20PM +0100, Leonard Stiles wrote:
> >> 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
> 
> > IMHO this is an es problem more than a kdelibs one. AFAIK no POSIX
> > shell require = to be escaped.
> 
> And who says that the user's shell has to be a POSIX shell? Could be
> tcsh, for example. If you expect a POSIX shell, use /bin/sh .

  except that it will work with tcsh. Of course one can setup
/usr/bin/perl as a $SHELL, but well, this is braindead.

  closing the bug
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply to: