Differences between revisions 20 and 21
Revision 20 as of 2006-08-08 11:20:49
Size: 12354
Editor: ?PascalDeVuyst
Comment:
Revision 21 as of 2006-08-08 11:21:40
Size: 12355
Editor: ?PascalDeVuyst
Comment:
Deletions are marked like this. Additions are marked like this.
Line 68: Line 68:
 * Repack after running "foomatic-cleanupdrivers" to remove unwanted drivers that are only used to list supported printers on the linuxprinting.org website. It is not possible to generate PPDs from these pseudo-drivers since there is no command line. This avoids errors in tools that use foomatic-db. If you currently try to install a HP DeskJet 520 printer in foomatic-gui with driver "gutenprint" this won't work and gives no error message or warning. This is because "gutenprint" is a pseudo-driver only used to list supported printers on the linuxprinting.org website. Only if you install the foomatic-db-gutenprint package you get the real "gutenprint-ijs.5.0" driver that is able to generate PPDs.  * Repack after running "foomatic-cleanupdrivers" to remove unwanted drivers that are only used to list supported printers on the linuxprinting.org website. It is not possible to generate PPDs from these pseudo-drivers since there is no command line. This avoids errors in tools that use foomatic-db. If you currently try to install a HP !DeskJet 520 printer in foomatic-gui with driver "gutenprint" this won't work and gives no error message or warning. This is because "gutenprint" is a pseudo-driver only used to list supported printers on the linuxprinting.org website. Only if you install the foomatic-db-gutenprint package you get the real "gutenprint-ijs.5.0" driver that is able to generate PPDs.

Any comments or suggestions to this wikipage are welcome!!! ?BR Please openly discuss this on [http://lists.debian.org/debian-printing/ debian-printing mailing list].

Printer Driver Packages Suggested Changes

Created: 06/08/2006 by ?PascalDeVuyst ?BR Last update: 07/08/2006 ?BR

Introduction

This wikipage suggests the changes that should be considered to let the current packages in Debian, that provide printer drivers, conform with the PpdFileStructureSpecification. It also lists some issues that the current Debian packages have. I invite the Debian maintainers of the packages described below in particular and everyone who is interested to discuss the changes listed in this wikipage on the [http://lists.debian.org/debian-printing/ debian-printing mailing list]. Any comments or suggestions are welcome!!!

Printer Driver Packages in Debian

The following binary printer driver, prebuilt PPD and Foomatic database packages are available at this moment in Debian (feel free to add missing ones):

  • gs-gpl or gs-esp with foomatic-filters-ppds or PPDs generated from foomatic-db
  • hpijs with hpijs-ppds or PPDs generated from foomatic-db-hpijs
  • ijsgutenprint with PPDs generated from foomatic-db-gutenprint
  • foo2zjs, pnm2ppa, min12xxw, c2050, cjet, lexmark7000linux: PPDs in foomatic-filters-ppds or generated from foomatic-db
  • cupsys: rasterto binaries with cups-included PPDs
  • cupsys-driver-gutenprint: rastertogutenprint.5.0 binary with PPDs generated on installation
  • linuxprinting.org-ppds
  • hp-ppd

Suggested changes to packages

foomatic-db-engine

foomatic-filters-ppds

Instead of this package we should have 2 seperate packages with prebuilt PPDs: linuxprinting.org-gs-builtin-ppds and linuxprinting.org-gs-filter-ppds:

  • linuxprinting.org-gs-builtin-ppds should have all the prebuilt PPDs for binary printer Ghostscript drivers built into in gs-gpl and/or gs-esp.
  • linuxprinting.org-gs-filter-ppds should have all the prebuilt PPDs for Ghostscript filters like foo2zjs, pnm2ppa, ...

I think it is better to use the name linuxprinting.org instead of foomatic-filters since there are a lot of other packages that actually need foomatic-filters (e.g. hpijs, ijsgutenprint, ...) and they don't have foomatic-filters in their package name.

Suggested changes:

  • Remove real PostScript PPDs from foomatic-filters-ppds, these belong in linuxprinting.org-ppds ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363052 see Debian bug #363052]).

  • Include the custom PXL PPDs from Gestetner, Infotec, Lanier, NRG, Ricoh and Savin that were generated with their own tools instead of Foomatic. These PPDs use the pxlmono driver that is built into Ghostscript and should be in linuxprinting.org-gs-builtin-ppds package.
  • PPDs should be installed under /usr/share/ppd/foomatic-rip/linuxprinting.org-gs-builtin or /usr/share/ppd/foomatic-rip/ghostscript_filter_package_name, where ghostscript_filter_package_name is e.g. foo2zjs, pnm2ppa, ...

  • *NickName inside PPDs should use the PpdFileStructureSpecification indication.

  • If you currently set up a printer with CUPS web interface, e.g. a Minolta MagiColor 2430DL that uses foo2zjs binary driver you are able to do so without problems even if the foo2zjs package is not installed. This is also the case for printer drivers that have no Debian package, e.g. epl6100l. To avoid this linuxprinting.org-gs-filter-ppds package should depend on all the binary Ghostscript filter packages available in Debian and only include PPDs files for Ghostscript filter packages available in Debian. People only wanting a PPD for their printer can generate it from foomatic-db or use foomatic-configure or foomatic-gui to immediately setup their printer.

Currently the foomatic-filters-ppds package is generated from the tar.gz source with the same name from linuxprinting.org. It would be better to generate prebuilt PPDs from foomatic-db source.

linuxprinting.org-ppds

  • PPDs should be installed under /usr/share/ppd/postscript/linuxprinting.org/
  • Rename to linuxprinting.org-postscript-ppds and remove custom PPDs. ?BR This package should only include real PostScript PPDs. Currently there are some custom PXL PPDs from Gestetner, Infotec, Lanier, NRG, Ricoh and Savin that were generated with their own tools instead of Foomatic ([http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363054 see Debian bug #363054]). The PXL custom PPDs should be part of linuxprinting.org-gs-builtin-ppds.

  • *NickName inside PPDs should have the PpdFileStructureSpecification indication.

hpijs-ppds

Therefore I think it would be better to generate package hpijs-ppds from foomatic-db-hpijs, this would include ALL hpijs PPDs and the PpdFileStructureSpecification *NickName indication. This would also make sure that PPDs in hpijs-ppds are the same as PPDs generated from foomatic-db-hpijs at any time.

foomatic-db

  • Repack after running "foomatic-cleanupdrivers" to remove unwanted drivers that are only used to list supported printers on the linuxprinting.org website. It is not possible to generate PPDs from these pseudo-drivers since there is no command line. This avoids errors in tools that use foomatic-db. If you currently try to install a HP DeskJet 520 printer in foomatic-gui with driver "gutenprint" this won't work and gives no error message or warning. This is because "gutenprint" is a pseudo-driver only used to list supported printers on the linuxprinting.org website. Only if you install the foomatic-db-gutenprint package you get the real "gutenprint-ijs.5.0" driver that is able to generate PPDs.

  • Should include a Foomatic driver to Debian package mapping file. This would enable printer queue setup tools like foomatic-gui to give a warning message or give the possibility to install the needed Debian package immediately if you select a driver that is currently not installed on your system. This mapping file should list all Foomatic drivers with their corresponding Debian package, if there is no Debian package available for a driver this should be indicated by e.g. "nopackage". This would allow printer queue setup tools to give a different warning message that suggests to install the driver from source.

foomatic-db-hpijs

  • Remove driver/hpijs-rss.xml and opt/hpijs-rss-* ?BR These files are only used to generate hpijs 1.2.x supported PPDs. Debian no longer supports this old hpijs version. The PPDs are just very old and do not contain anything special to activate the rss patches, the only thing they do is confuse people. The rss patches are available in the hpijs version in Debian and will be used with PPDs generated form driver/hpijs.xml.

cupsys

  • PPDs should be installed under /usr/share/ppd/cups-raster/cups-included/
  • dymo.ppd should have *Manufacturer: "Dymo-CoStar".

  • *NickName inside PPDs should have the PpdFileStructureSpecification indication.

  • Should check if the /etc/ppd/ directory exists when this package is installed, if not create it and apply group-writable permissions for lpadmin user.
  • Currently CUPS looks under /usr/share/ppd/ for PPDs. In /usr/share/ppd/ is cups-transitional-dir, a symlink pointing to /usr/share/cups/model/. In /usr/share/cups/model is cups-included, a symlink that points to /usr/share/ppd/cups-included/. This makes CUPS find duplicate cups-included PPDs, first by directly looking in /usr/share/ppd/cups-included/ and second by following the cups-transitional-dir and cups-included symlinks. The cups-included symlink should be removed to resolve this issue.
  • Instead of using symlinks it would be better if CUPS directly looked for PPDs in both /usr/share/cups/model/, /usr/share/ppd/ and /etc/ppd/

cupsys-driver-gutenprint

  • PPDs should be installed under /usr/share/ppd/cups-raster/gutenprint-5.0.0/
  • *NickName inside PPDs should have the PpdFileStructureSpecification indication.

lpr

  • Should check if the /etc/ppd/ directory exists when this package is installed, if not create it and apply group-writable permissions for lpadmin user.

lprng

  • Should check if the /etc/ppd/ directory exists when this package is installed, if not create it and apply group-writable permissions for lpadmin user.

hp-ppd

Old resolved issues

  • hplip-ppds package (now hpijs-ppds) incorrectly uses *Manufacturer: "HP (HPLIP)" inside PPDs. See [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347264 bug #347264] [SOLVED].

  • foomatic-filters-ppds package contains the same hpijs ppds as hplip-ppds package. To avoid this duplication hpijs PPDs should be provided by only one package. The hpijs ppds should be provided by hplip-ppds package so they always match with the installed version of binary HPIJS Ghostscript drivers. Hpijs ppds from hplip project should be removed from package foomatic-filters-ppds, see [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347668 bug #347668] [SOLVED].

  • A package foomatic-db-postscript-ppds could be created to replace hp-ppd, this package should contain real PPDs for PostScript printers from foomatic-db project found at http://www.linuxprinting.org (this project currently contains real PPDs from different printer manufacturers). A new package linuxprinting.org-ppds has been created by ChrisLawrence [SOLVED].

  • CUPS does not yet include the symbolic link, see [http://bugs.debian.org/358186 bug #358186]. CUPS now directly looks for PPDs under /usr/share/ppd/ [SOLVED].

  • ?MartinPitt: where to put user-provided PPD files? (Proposal: /usr/share/ppd/custom -> /etc/ppd/ symlink; which package owns that?) It needs to be group-writable by user lpadmin, so that printer admins can install PPDs through e.g. gnome-cups-manager. Has been addressed in the PpdFileStructureSpecification. Printer queue setup tools should directly look under /etc/ppd for user-provided and custom PPDs, there is no need for a symlink.