foomatic-rip-hplip lets Ghostscript stdout messages appear on the printer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HPLIP |
Confirmed
|
Undecided
|
Unassigned | ||
hplip (Arch Linux) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
We (i.e. openSUSE/Novell) got this bug report:
https:/
In short:
The way how foomatic-rip-hplip calls gs lets whatever
Ghostscript stdout messages appear on the printer.
Details:
I can reproduce it with HPLIP 3.10.2
on a openSUSE 11.3 x86_64 system.
We build HPLIP with those configure settings:
./configure --prefix=/usr \
The PPDs which use the hpijs driver contain lines like
*cupsFilter: "application/
*cupsFilter: "application/
foomatic-rip-hplip calls gs in a traditional way
gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE \
-sDEVICE=... -sOutputFile=- -
This way, unexpected output of Ghostscript on stdout
like whatever Ghostscript error and warning messages
are sent like the usual payload to the next filtering stage
so that in the end it appears on the printer.
Unfortunately there is no simple Ghostscript commmand line switch
which completely disables such unwanted output on stdout.
Only -q and -dQUIET are not sufficient in any case
but meanwhile '-sstdout=%stderr' might be sufficient.
Therefore e.g. foomatic-rip calls gs nowadays this way
gs -sstdout=%stderr -dBATCH -dPARANOIDSAFER -dQUIET \
-dNOPAUSE -sDEVICE=... -sOutputFile=
This way, unexpected output of Ghostscript on stdout
like whatever Ghostscript error and warning messages
are redirected to stderr whereto they acutally belong.
Since 2006-08-27 Till Kamppeter used the -sstdout=%stderr
in foomatic-rip - his foomatic-rip ChangeLog entry is:
-------
foomatic-
standard output of PostScript programs ("-sstdout=
newer GhostScript versions. More reliable then using /dev/fd/3
(not always available, difficult to check presence) or '|cat >3'
(not seekable and some GhostScript output devices require
seekability of the output file),
-------
I suggest to enhance foomatic-rip-hplip accordingly
because I think Ghostscript versions which are available
since 2006 are meanwhile (hopefully) used
on all Linux distributions for which you provide HPLIP.
By the way:
There have been "rumors" that foomatic-rip-hplip is no longer
needed at all by HPLIP and that it can be replaced by foomatic-rip
but if this is really true, why does HPLIP still provide its own
foomatic-rip-hplip?
If I could get a authoritative statement from HPLIP that
foomatic-rip-hplip is not and will not be needed by HPLIP
I would like to get rid of it in the next version of openSUSE.
Please note that I will still provide readymade static PPD files
because I perfer to make them during build time of the package
(which is what I can check whether or not it works)
instead of generating PPDs during run time on each individual
end-user's particular (posibly somewhat broken) system
because I like to avoid possible issues with PPD generation
which depend on each individual end-user's system.
Changed in hplip: | |
status: | New → Confirmed |
Changed in hplip (Arch Linux): | |
status: | New → Confirmed |
Correction:
It seems the parameters of the "gs" call andLine
are not set up by foomatic-rip-hplip but
stored in the FoomaticRIPComm
value in each PPD, see in particular
https:/ /bugzilla. novell. com/show_ bug.cgi? id=633468# c18
how this might be changed to fix the issue.