From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031114 Description of problem: While trying to setup a JetDirect print queue to a HPLJ 5M printer and using the Omni driver one has to select te printer vendor. There is a cosmetic problem with this list. Please see attached screen shot #1. My system uses German as default language, but the printer was setup to use US letter as default paper size. In the properties it is not possible to select A4 as the paper size. Please see attached screen shot #2. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. try to setup a JetDirect HP LJ5M with A4 paper size 2. 3. Additional info:
Created attachment 97653 [details] printer vendor list screen shot
Created attachment 97654 [details] page size list screen size
It is no use piling several issues into one report. Pick one, and file separate bug reports for the others.
The 'Letter' problem is in Omni, and is fixed in 0.9.1-5.
Sorry to reopen this bug again. With Omni-0.9.1-5 the printer config tool now correctly displays A4 (and all the other page sizes), but when I print any of the test pages they are send as Letter to the printer. The printer vendor list is still broken too.
You need to open a separate report for the other problem (and you'll need to be more specific -- I'm not sure what problem you're describing). I'll take a look at what's going on with the page size. The Omni-foomatic file omni-form.xml looks correct, so something must be going wrong inside the driver.
The option makes it into the PPD file, but then foomatic says this when processing input: The value DFO1_39 for PageSize is not a choice! --> Using Custom instead! The value DFO1_39 for PageRegion is not a choice! --> Using Custom instead! Investigating.
Reported to foomatic-devel: http://www.linuxprinting.org/pipermail/foomatic-devel/2004q1/001876.html
To fix the problem with the PageSize option not being populated with choices in the PPD files I have done a slight change on the PPD generator of Foomatic. You can either take a current CVS snapshot of the foomatic-db-engine package (both stable and unstable branch are appropriately changed) or get this patch for foomatic-db-engine (works on both branches): http://www.linuxprinting.org/till/tmp/foomatic-db-engine-3.0.1-db-pm-omni-0.91.patch But note that this fixes only the PageSize option, and only when Tim's patch is applied to Omni. There is still another bug in Omni. The "-sproperties='...'" option of the GhostScript command line has to contain the name of the printer's XML file in /usr/share/Omni/. See second "NOTE" in the "Common command line paramters" section of the docs/Usage file in the source tree of Omni. There are probably also other bugs in Omni's Foomatic generator.
The name of the printer's XML file in /usr/share/Omni/ is specified by the device-specific option "XMLMasterFile" whose Foomatic XML file is supposed to be generated by the lines 2697-2913 in Foomatic/OmniFoomaticGenerator.cpp (current CVS state). These lines are deactivated by enclosing them with "#if 0" and an "#endif". They are also marked as "// @TBD" (= To Be Done). I have activated them for testing and recompiled. The result is the following: --------------------------------------------------------------------- [tkamppeter@n1 Foomatic]$ make if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../hppcl3 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/libxml2 -DUSE_STANDARD_NAMES=1 -DRETAIL=1 -DLIBRARY_PATH=/usr/lib/Omni/ -DSHARE_PATH=/usr/share/Omni/ -DBIN_PATH=/usr/bin/ -O2 -fomit-frame-pointer -pipe -march=i586 -mcpu=pentiumpro -Wall -Wstrict-prototypes -Wmissing-declarations -Wmissing-prototypes -fno-builtin -fno-common -MT OmniFoomaticGenerator.o -MD -MP -MF ".deps/OmniFoomaticGenerator.Tpo" \ -c -o OmniFoomaticGenerator.o `test -f 'OmniFoomaticGenerator.cpp' || echo './'`OmniFoomaticGenerator.cpp; \ then mv -f ".deps/OmniFoomaticGenerator.Tpo" ".deps/OmniFoomaticGenerator.Po"; \ else rm -f ".deps/OmniFoomaticGenerator.Tpo"; exit 1; \ fi cc1plus: warning: "-Wmissing-declarations" is valid for C/ObjC but not for C++ OmniFoomaticGenerator.cpp: In function `int main(int, char**)': OmniFoomaticGenerator.cpp:2712: error: `listDeviceJobPropertyKeys' undeclared (first use this function) OmniFoomaticGenerator.cpp:2712: error: (Each undeclared identifier is reported only once for each function it appears in.) OmniFoomaticGenerator.cpp:2838: error: `listKeyValues' undeclared (first use this function) make: *** [OmniFoomaticGenerator.o] Error 1 [tkamppeter@n1 Foomatic]$ --------------------------------------------------------------------- either there is simply a bug or the methods 'listDeviceJobPropertyKeys' and 'listKeyValues' are not implemented yet for the 'pDevice' class. In this case Foomatic support for the XML-based drivers would not be available yet. In Mandrake Linux I have used the CUPS Raster driver /usr/lib/cups/filter/CUPSToOmni together with the PPD files generated by GenerateOmniPPDs (all in CUPS directory of Omni's source tree for the time being. But note that this way foomatic-rip is not used and so the special of Foomatic, as per-page specification of option settings (page overrides) are not possible.
I have committed Tim's patch from http://sourceforge.net/mailarchive/forum.php?thread_id=3941380&forum_id=2640 into the CVS of Omni.
We're not shipping the omni-xml driver, only the omni-compiled driver -- that should be okay shouldn't it? Today's rawhide push should have foomatic-3.0.1-2 with Till's fix; let's see what's still broken after that.
Looks much better now. The test pages are now printed as A4.
Great. I'll close this then. Till, thanks for your help.