> Since these PPDs come in two different source packages from upstream,
> there is no real way (that I can see) to sort them into "needing
> foomatic-rip" and "standalone" packages.

> The best we can do (that I can see) is sort them into
> linuxprinting.org-gs and linuxprinting.org-postscript within the two
> packages built from the -db and -filters-ppds source packages.

> As for 363052, I can't find any manufacturer-supplied PPD files in
> foomatic-filters-ppds; while there are some PostScript PPD files that
> don't need foomatic-rip, they are built using foomatic-configure and
> are not manufacturer PPDs.

As the author of the PPDFileStructureSpecification <http://wiki.debian.org/PpdFileStructureSpecification> I agree with you that PPDs should be sorted under /usr/share/ppd/linuxprinting.org-gs or /usr/share/ppd/linuxprinting.org-postscript.

The problem is that currently in foomatic-filters-ppds 20060712-1 and linuxprinting.org-ppds 20060712-1 this is NOT the case.

Package foomatic-filters-ppds installs PPDs only in /usr/share/ppd/linuxprinting.org-gs but contains real PostScript ppds that don't belong in /usr/share/ppd/linuxprinting.org-gs. Example: /usr/share/ppd/linuxprinting.org-gs/Oce/Oce-8465PS-Postscript.ppd.gz is a real PostScript PPD. There are 122 PPDs in foomatic-filters-ppds that don't belong in /usr/share/ppd/linuxprinting.org-gs and furthermore these are duplicates of PostScript PPDs already included in package linuxprinting.org-ppds (see attachment).

Package linuxprinting.org-ppds installs PPDs only in /usr/share/ppd/linuxprinting.org-postscript but contains non-PostScript PPDs that need foomatic-rip and don't belong in /usr/share/ppd/linuxprinting.org-postscript. Example: /usr/share/ppd/linuxprinting.org-postscript/NRG/NRG-DSm622_PXL.ppd.gz is a CUPS/Foomatic PPD needing foomatic-rip.

However the main problem at this moment is when you have installed both foomatic-filters-ppds and linuxprinting.org-ppds there are duplicate drivers when adding a printer with GUI tools like CUPS webinterface. The duplicate PostScript PPDs are there because most printer manufacturers misuse the driver/Postscript.xml file for adding their real PostScript printers to the foomatic database, further explanation below. This is a violation of Design rule #5 of the PPDFileStructureSpecification <http://wiki.debian.org/PpdFileStructureSpecification> and causes user confusion.

I) When looking in foomatic-filters-ppds source from linuxprinting.org we see it contains:

1) PPDs with CUPS/Foomatic extensions that were generated from foomatic xml files.

   2) PPDs for real PostScript printers.

The PostScript PPDs are there because most printer manufacturers misuse the driver/Postscript.xml file for adding their real PostScript printers to the foomatic database. The driver/Postscript.xml is normally meant as a PostScript Level Down driver needing ghostscript to convert PostScript from Level 2 or 3 to Level 1. There should be a seperate driver xml file for real PostScript printers and for printers needing the Level Down Driver. I have reported this upstream at linuxprinting.org, see <http://www.linuxprinting.org/forums.cgi?group=linuxprinting.foomatic.devel;article=2346>.

All real PostScript PPDs are just copied over and renamed from foomatic-db PPD directory when the foomatic-filters-ppds source is generated upstream.

II) When looking in foomatic-db source from linuxprinting.org under directory PPD we see it contains:

1) PXL PPDs with CUPS/Foomatic extensions from Gestetner, Infotec, Lanier, NRG, Ricoh and Savin that were generated by there own tool instead of foomatic xml files. These PPDs belong under /usr/share/ppd/linuxprinting.org-gs.

2) PS PPDs from Gestetner, Infotec, Lanier, NRG, Ricoh and Savin: real PostScript PPDs that have CUPS/Foomatic extensions for Job Log. It can be argued if these PPDs belong under /usr/share/ppd/linuxprinting.org-gs or /usr/share/ppd/linuxprinting. Linuxprinting.org marks these PPDs as real PPDs for PostScript printers by including them in drivers/Postscript.xml so the PPDs belong under /usr/share/ppd/linuxprinting.org-postscript.

3) real PostScript PPDs, these obviously belong under /usr/share/ppd/linuxprinting.org-postscript.

The best way to know if PPDs belong under /usr/share/ppd/linuxprinting.org-postscript or /usr/share/ppd/linuxprinting.org-gs is to use the driver information from foomatic-db by generating all PPDs from foomatic-db source. With the above mentioned suggestion under I.2 each true PostScript PPD would have a PostScript indication e.g HP-LaserJet_3200-PostScript in the name. This indication allows to split up the PPDs easily into two Debian packages: linuxprinting.org-postscript-ppds and linuxprinting.org-gs-ppds that respectively only contain real PostScript PPDs and non-PostScript PPDs. This means you should not use the upstream source for foomatic-filters-ppds upstream but instead generate everything from foomatic-db, also real PostScript PPDs. But this requires that the problem mentioned under I.2 is fixed upstream first.

As this fix may take a while I suggest the following change in Debian:

a) Package foomatic-filters-ppds:

Remove PostScript PPDs, this can easily be done by grepping for PPDs that don't have 'FoomaticRIPCommandLine'.

As mentioned before this can be done because the PostScript PPDs were just copied over and renamed from the foomatic-db PPD directory when the foomatic-filters-ppds source was generated upstream. Since these PPDs are duplicates of the PPDs in Debian package linuxprinting.org-ppds they can be safely removed from Debian package foomatic-filters-ppds.

=> This fixes the main problem of duplicate driver indications in GUIs like CUPS webinterface.

b) Package linuxprinting.org-ppds: no changes necessary.

The disadvantage is that PXL PPDs from Gestetner, Infotec, Lanier, NRG, Ricoh and Savin will be located wrongly under /usr/share/ppd/linuxprinting.org-postscript, while they don't really belong in Debian package linuxprinting.org-ppds.

Greetings,
Pascal

Epson-AcuLaser_C4100PS-Postscript.ppd.gz
Epson-EPL-N2500PS-Postscript.ppd.gz
Gestetner-F9199_9199nf-Postscript.ppd.gz
Gestetner-P7032-Postscript.ppd.gz
HP-Business_Inkjet_2250-Postscript.ppd.gz
HP-Business_Inkjet_2280-Postscript.ppd.gz
HP-Business_Inkjet_2300-Postscript.ppd.gz
HP-Business_Inkjet_2600-Postscript.ppd.gz
HP-Business_Inkjet_2800-Postscript.ppd.gz
HP-Business_Inkjet_3000-Postscript.ppd.gz
HP-Color_LaserJet_2500-Postscript.ppd.gz
HP-Color_LaserJet_2550-Postscript.ppd.gz
HP-Color_LaserJet_2605-Postscript.ppd.gz
HP-Color_LaserJet_2800-Postscript.ppd.gz
HP-Color_LaserJet_3000-Postscript.ppd.gz
HP-Color_LaserJet_3700-Postscript.ppd.gz
HP-Color_LaserJet_3800-Postscript.ppd.gz
HP-Color_LaserJet_4500-Postscript.ppd.gz
HP-Color_LaserJet_4550-Postscript.ppd.gz
HP-Color_LaserJet_4600-Postscript.ppd.gz
HP-Color_LaserJet_4610-Postscript.ppd.gz
HP-Color_LaserJet_4650-Postscript.ppd.gz
HP-Color_LaserJet_4700-Postscript.ppd.gz
HP-Color_LaserJet_4730_MFP-Postscript.ppd.gz
HP-Color_LaserJet_5500-Postscript.ppd.gz
HP-Color_LaserJet_5550-Postscript.ppd.gz
HP-Color_LaserJet_5M-Postscript.ppd.gz
HP-Color_LaserJet_8500-Postscript.ppd.gz
HP-Color_LaserJet_8550GN-Postscript.ppd.gz
HP-Color_LaserJet_9500_MFP-Postscript.ppd.gz
HP-Color_LaserJet_9500-Postscript.ppd.gz
HP-DesignJet_2500CP-Postscript.ppd.gz
HP-DesignJet_3500CP-Postscript.ppd.gz
HP-DesignJet_5500ps-Postscript.ppd.gz
HP-LaserJet_1200-Postscript.ppd.gz
HP-LaserJet_1220-Postscript.ppd.gz
HP-LaserJet_1300-Postscript.ppd.gz
HP-LaserJet_1320-Postscript.ppd.gz
HP-LaserJet_2100M-Postscript.ppd.gz
HP-LaserJet_2200-Postscript.ppd.gz
HP-LaserJet_2300-Postscript.ppd.gz
HP-LaserJet_2410-Postscript.ppd.gz
HP-LaserJet_2420-Postscript.ppd.gz
HP-LaserJet_2430-Postscript.ppd.gz
HP-LaserJet_3015-Postscript.ppd.gz
HP-LaserJet_3020-Postscript.ppd.gz
HP-LaserJet_3030-Postscript.ppd.gz
HP-LaserJet_3200m-Postscript.ppd.gz
HP-LaserJet_3200-Postscript.ppd.gz
HP-LaserJet_3300_MFP-Postscript.ppd.gz
HP-LaserJet_3310_MFP-Postscript.ppd.gz
HP-LaserJet_3320_MFP-Postscript.ppd.gz
HP-LaserJet_3320N_MFP-Postscript.ppd.gz
HP-LaserJet_3330_MFP-Postscript.ppd.gz
HP-LaserJet_3380-Postscript.ppd.gz
HP-LaserJet_4000-Postscript.ppd.gz
HP-LaserJet_4050-Postscript.ppd.gz
HP-LaserJet_4100-Postscript.ppd.gz
HP-LaserJet_4200-Postscript.ppd.gz
HP-LaserJet_4240-Postscript.ppd.gz
HP-LaserJet_4250-Postscript.ppd.gz
HP-LaserJet_4300-Postscript.ppd.gz
HP-LaserJet_4345_MFP-Postscript.ppd.gz
HP-LaserJet_4350-Postscript.ppd.gz
HP-LaserJet_4ML-Postscript.ppd.gz
HP-LaserJet_4_Plus-Postscript.ppd.gz
HP-LaserJet_4Si-Postscript.ppd.gz
HP-LaserJet_4V-Postscript.ppd.gz
HP-LaserJet_5000-Postscript.ppd.gz
HP-LaserJet_5100-Postscript.ppd.gz
HP-LaserJet_5200L-Postscript.ppd.gz
HP-LaserJet_5200-Postscript.ppd.gz
HP-LaserJet_5M-Postscript.ppd.gz
HP-LaserJet_5MP-Postscript.ppd.gz
HP-LaserJet_5Si-Postscript.ppd.gz
HP-LaserJet_6MP-Postscript.ppd.gz
HP-LaserJet_8000-Postscript.ppd.gz
HP-LaserJet_8100-Postscript.ppd.gz
HP-LaserJet_8150-Postscript.ppd.gz
HP-LaserJet_9000-Postscript.ppd.gz
HP-LaserJet_9040_MFP-Postscript.ppd.gz
HP-LaserJet_9040-Postscript.ppd.gz
HP-LaserJet_9050_MFP-Postscript.ppd.gz
HP-LaserJet_9050-Postscript.ppd.gz
HP-LaserJet_9055_MFP-Postscript.ppd.gz
HP-LaserJet_9065_MFP-Postscript.ppd.gz
HP-Mopier_240-Postscript.ppd.gz
HP-Mopier_320-Postscript.ppd.gz
HP-OfficeJet_9100-Postscript.ppd.gz
Lanier-2132-Postscript.ppd.gz
Lanier-LF510_515e-Postscript.ppd.gz
NRG-P7032-Postscript.ppd.gz
Oce-3145PS-Postscript.ppd.gz
Oce-3155PS-Postscript.ppd.gz
Oce-3165PS-Postscript.ppd.gz
Oce-8445PS-Postscript.ppd.gz
Oce-8465PS-Postscript.ppd.gz
Oce-PPC3073PS-Postscript.ppd.gz
Oce-PPC3074PS-Postscript.ppd.gz
Oce-PPC3093PS-Postscript.ppd.gz
Oce-PPC3094PS-Postscript.ppd.gz
Oce-PPC3113PS-Postscript.ppd.gz
Oce-PPC3114PS-Postscript.ppd.gz
Oce-PPC5115PS-Postscript.ppd.gz
Oce-PPC5160PS-Postscript.ppd.gz
Oce-VarioPrint_2045PS-Postscript.ppd.gz
Oce-VarioPrint_2050PS-Postscript.ppd.gz
Oce-VarioPrint_2055PS-Postscript.ppd.gz
Oce-VarioPrint_2060PS-Postscript.ppd.gz
Oce-VarioPrint_2065PS-Postscript.ppd.gz
Oce-VarioPrint_2070PS-Postscript.ppd.gz
Oce-VarioPrint_2090PS-Postscript.ppd.gz
Oce-VarioPrint_2100PS-Postscript.ppd.gz
Oce-VarioPrint_2105PS-Postscript.ppd.gz
Oce-VarioPrint_2110PS-Postscript.ppd.gz
Ricoh-Aficio_AP3200-Postscript.ppd.gz
Ricoh-DDP_70-Postscript.ppd.gz
Ricoh-DDP_92-Postscript.ppd.gz
Ricoh-EMP_156-Postscript.ppd.gz
Ricoh-FAX5510L_5510NF-Postscript.ppd.gz
Savin-FAX3799_3799nf-Postscript.ppd.gz
Savin-SLP32-Postscript.ppd.gz



























Reply via email to