Differences between revisions 8 and 9
Revision 8 as of 2006-08-07 22:26:23
Size: 11191
Editor: ?PascalDeVuyst
Comment:
Revision 9 as of 2006-08-07 22:28:23
Size: 11207
Editor: ?PascalDeVuyst
Comment:
Deletions are marked like this. Additions are marked like this.
Line 115: Line 115:
 * 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 specification. Printer queue setup tools should directly look under /etc/ppd for user-provided and custom PPDs, there is no need for a symlink.'''  * 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.'''

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 is also tries to solve 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

  • Patch /usr/share/perl5/Foomatic/DB.pm to use the PpdFileStructureSpecification *NickName indication.

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 used foo2zjs binary driver you are able to do so without problems even if the foo2zjs package is not installed. To avoid this linuxprinting.org-gs-filter-ppds package should depend on all the binary 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.

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. This avoids errors in tools that use foomatic-db. If you currently try to install a Minolta magicolor 2400W printer in foomatic-gui with driver "m2400w" this won't work and gives no error message or warning.

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 by 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.