7397
Comment:
|
7276
simplification + bug status
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
Please openly discuss this on [http://lists.debian.org/debian-printing/ debian-printing mailing list]. | Please openly discuss this on [http://lists.debian.org/debian-printing/ debian-printing mailing list].''' |
Line 6: | Line 6: |
Created: 05/01/2006 by [mailto:pascal.devuyst@gmail.com Pascal De Vuyst] [[BR]] | Created: 05/01/2006 by Pascal De Vuyst [[BR]] |
Line 8: | Line 8: |
Contributors: [mailto:rleigh@whinlatter.ukfsn.org Roger Leigh], [mailto:hmh@debian.org Henrique de Moraes Holschuh] and [mailto:lawrencc@debian.org Chris Lawrence] [[BR]] | Contributors: Roger Leigh, Henrique de Moraes Holschuh and Chris Lawrence [[BR]] |
Any comments or suggestions to this Specification are welcome!!! ?BR Please openly discuss this on [http://lists.debian.org/debian-printing/ debian-printing mailing list].
PPD File Structure Specification
Created: 05/01/2006 by Pascal De Vuyst ?BR Last update: 16/01/2006 ?BR Contributors: Roger Leigh, Henrique de Moraes Holschuh and Chris Lawrence ?BR Packages affected: foomatic-filters-ppds, hplip-ppds, cupsys-driver-gutenprint and hp-ppd. ?BR When writing this specification the ?PrintingFilesystem Specification has been taken into consideration.
Introduction
There are several packages in Debian that provide Postscript Printer Descriptions (PPDs) for PostScript and non-PostScript printers. These packages should cooperate to form a single database of unique PPDs. This allows GUI tools like gnome-cups-add, foomatic-gui, ... to provide users a printer model list for adding printers.
Design
The main idea is to have the following file structure to make it possible for GUI tools to locate PPDs easy and fast: ?BR common directory/upstream project/manufacturer/filename.ppd
- The database of PPDs should be located in a common directory.
- Furthermore PPDs should be classified according to the upstream project (foomatic-db, hplip or gutenprint) where they originate from to avoid possible filename clashes between projects.
- Inside "upstream project" a further classification by manufacturer of the printer is necessary.
- The database is formed by several packages which provide PPD files inside this structure and it is not necessary to install all off these packages.
- Two different packages should not provide the same PPDs to avoid duplicate printer model entries in GUI tools.
Implementation
- PPDs should be located in /usr/share according to the Filesystem Hierarchy Standard because they contain static and arch-independent information.
As common directory /usr/share/ppd should be used (this directory is currently used for this purpose).
- This ppd directory should contain subdirectories according to the "upstream project" where the PPDs originate from:
/usr/share/ppd/foomatic-db for non-PostScript PPDs from foomatic-db project;
/usr/share/ppd/hplip for PPDs from hplip project;
/usr/share/ppd/gutenprint for PPDs from gutenprint project;
/usr/share/ppd/foomatic-db-postscript or simply /usr/share/ppd/postscript for real PPDs for PostScript printers from linuxprinting.org's foomatic-db project.
The foomatic-db, hplip, gutenprint and (foomatic-db-)postscript directory should contain subdirectories according to the *Manufacturer string as specified in the [http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf PPD specification v4.3]. The *Manufacturer strings are case sensitive and must be noted literally as in the PPD specification. ?BR e.g. /usr/share/ppd/gs/HP, /usr/share/ppd/postscript/Epson, /usr/share/ppd/gs/Lexmark, ...
- All PPDs should be gzipped to reduce disk space usage.
- Inside the PPDs a *Manufacturer string should be contained according to the PPD specification (case-sensitive).
- Packages that need PPDs should symlink to the PPDs in /usr/share/ppd. For example the cupsys package should simply include a symlink from /usr/share/cups/model/ppd to /usr/share/ppd.
Current PPD packages in Debian
- foomatic-filters-ppds
- hplip-ppds
- PPDs generated when installing package cupsys-driver-gutenprint
- hp-ppd
Current issues that need to be addressed
hplip-ppds package incorrectly uses *Manufacturer: "HP (HPLIP)" inside PPDs. ?BR See [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347264 bug #347264] [IN PROGRESS].
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. ?BR See [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347668 bug #347668] [RESOLVED].
hp-ppd package should be deprecated because it is not actively maintained anymore. ?BR 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) [IN PROGRESS].