Description of problem: I got this mail from George Liu, a contact I have at Richo who is helping us flesh out Richo printing support: 1. Duplicated PPD file for Ricoh family printers. Ricoh releases Postscript PPD files and for some models, also PXL (pxlmono) PPD files. Therefore, there should be up to two PPD files for each printer (Aficio 3245C PS and Aficio 3245C PXL, for example). However, from RedHat print tool, I saw up to five printer entries: Ricoh Aficio 3245C Aficio 3245C Foomatic/Postscript Aficio 3245C Foomatic/pxlmono (recommended) Aficio 3245C PS Aficio 3245C PXL All Ricoh PPD files are integrated into foomatic-db, may I know how Red Hat build its PPD package?
I've been working on this today. This is now handled correctly (0.7.19-1), but there are some other cases which are still not.
Okay, 0.7.20-1 has fixed the other cases I think. Thanks for the report.
(In reply to comment #2) > Okay, 0.7.20-1 has fixed the other cases I think. Thanks for the report. I downloaded FC6 test 2, the duplicated PPDs are still there. It happens to other printer manufactures who also provide PPD files to LP.org. Aficio 3245C Foomatic/Postscript Aficio 3245C Foomatic/pxlmono (recommended) Aficio 3245C PS Aficio 3245C PXL (Aficio 3245C Foomatic/Postscript and Aficio 3245C PS are identical; Aficio 3245C Foomatic/pxlmono (recommended) and Aficio 3245C PXL are identical) Root cause: 1. From /usr/share/cups/model, I saw foomatic-db-ppds directory, which includes Aficio 3245C PS and Aficio 3245C PXL. (I believe foomatic-db package put a symbolic link there) 2. From /usr/lib/cups/driver, I also saw a link to foomatic-ppdfile. Since step 2 put a foomatic-ppdfile in /usr/lib/cups/driver, it should not put the PPD symbolic link in /usr/share/cups/model. http://www.die.net/doc/linux/man/man8/cups-driverd.8.html -------------------------------------------- DRIVERS Drivers can be static PPD files under the /usr/share/cups/model directory or programs under the /usr/lib/cups/driver directory. -------------------------------------------- After I deleted the foomatic-db-ppds symbolic link from /usr/share/cups/model, duplicated PPD entries disappeared.
It is incorrect to remove that symlink. The symlink should be there. I can't reproduce what you see here on FC6test2. I see just 'Aficio 3245C' in the models list, with 4 entries in the drivers list: Postscript foomatic:Ricoh-Aficio_3245C-Postscript.ppd foomatic:Ricoh-Aficio_3245C-pxlmono.ppd pxlmono (recommended) The models list is now easy to navigate because each model is only listed once. There are 4 distinct entries in the drivers list, not duplicates: * Postscript This uses the local foomatic database's generated PPD for the Postscript driver for that model. * pxlmono (recommended) This uses the local foomatic database's generated PPD for the recommended pxlmono driver for that model. * foomatic:Ricoh-Aficio_3245C-Postscript.ppd This uses the generated PPD from the foomatic database on the server -- which may be a different machine altogether. * foomatic:Ricoh-Aficio_3245C-pxlmono.ppd And again, this comes from the server. There might be good reasons for using the local or remote foomatic databases for generating the PPDs. However, it does need to be made more clear in the UI which is which. :-/
(In reply to comment #4) > It is incorrect to remove that symlink. The symlink should be there. > > I can't reproduce what you see here on FC6test2. I see just 'Aficio 3245C' in > the models list, with 4 entries in the drivers list: That's exactly the problem! (Sorry I missed the message when you posted.) I didn't find out your posting until I installed FC6 test 3. foomatic:Ricoh-Aficio_3245C-Postscript.ppd == Postscript foomatic:Ricoh-Aficio_3245C-pxlmono.ppd == pxlmono (recommended) Foomatic-db includes already made PPD files (Postscript and pxlmono) and put them in /usr/share/cups/model/foomatic-ppd Recently, foomatic also adds foomatic script into /usr/lib/cups/driver, which returns *ALL* printer entries, including already-made PPDs. (Rename them) The contents of foomatic:Ricoh-Aficio_3245C-pxlmono.ppd is exactly the same as pxlmono (recommended), for example. I think the fix should be removing the symbolic link from /usr/share/cups/model/foomatic-ppds > > Postscript > foomatic:Ricoh-Aficio_3245C-Postscript.ppd > foomatic:Ricoh-Aficio_3245C-pxlmono.ppd > pxlmono (recommended) > > The models list is now easy to navigate because each model is only listed once. > > There are 4 distinct entries in the drivers list, not duplicates: > > * Postscript > This uses the local foomatic database's generated PPD for the > Postscript driver for that model. > > * pxlmono (recommended) > This uses the local foomatic database's generated PPD for the > recommended pxlmono driver for that model. > > * foomatic:Ricoh-Aficio_3245C-Postscript.ppd > This uses the generated PPD from the foomatic database on the > server -- which may be a different machine altogether. > > * foomatic:Ricoh-Aficio_3245C-pxlmono.ppd > And again, this comes from the server. > > There might be good reasons for using the local or remote foomatic databases for > generating the PPDs. However, it does need to be made more clear in the UI > which is which. :-/
I have fixed this problem now upstream in the foomatic-db-engine package on linuxprinting.org. Now the call /usr/lib/cups/driver/foomatic list does not show entries for ready-made PPD files any more as it is assumed that Foomatic's PPD directories are symlinked so that CUPS finds these PPDs directly. This way we can leave the symlink to the PPDs in and do not losse PPDs which are provided by the Foomatic database but have no corresponding printer XML file linking to the PPD. http://www.linuxprinting.org/download/foomatic/foomatic-db-engine-3.0-20061109.tar.gz (or newer) contains the fix.
Fixed in update: foomatic-3.0.2-39.1.fc6