RedHat: please mark this "non beta only" once seawolf is offical. This was originally reported against kmail since that was the only application that appears to use qt's print function. The problem is that the "simplistic" parsing in the function parsePrintcap in qprintdialog.cpp considers everything between the beginning of a printer definition and a '|' character to be the "name" of a print queue, it has problems with the /etc/printcap created by RedHat's new printconf package. A Unix printer queue is handled properly but not a JetDirect queue. The following definition DOES NOT work: lp:\ :sh:\ :ml=0:\ :mx=0:\ :sd=/var/spool/lpd/lp:\ :lp=|/usr/share/printconf/jetdirectprint:\ :lpd_bounce=true:\ :if=/usr/share/printconf/mf_wrapper: Everything starting with "lp:" and stopping at the '|' after "lp=" is treated as the print queue "name". Circumvention: Define the print queue as a remote Unix Printer OR define another Unix printer (e.g., lp1) pointing to 127.0.0.1 for queue lp OR give lp an alias (!). All of these seem to work properly (at least for my kmail test case). Looking at the printcap man page, the use of '|' to indicate piping the output seems to be proper. However, it is still a problem with the parsing of /etc/printcap. Another thing I noticed about the parsePrintcap function is that it does not seem to handle "include" processing so that if you had everything in an included file it would not find any printers defined.
*** Bug 31371 has been marked as a duplicate of this bug. ***
Qt is doing the right thing for "normal" printcaps... It just doesn't know about LPRng extensions. Fixing.
Created attachment 15366 [details] Fix for lp=/stuff; doesn't handle Include files yet.
Fixed in qt-2.3.0-4.
*** Bug 36841 has been marked as a duplicate of this bug. ***