[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Please add new PPD/driver directories for LSB 3.2 to your distribution



Henrique de Moraes Holschuh wrote:
On Tue, 23 Jan 2007, Till Kamppeter wrote:
There is nothing needed to find the driver directories, they are found by using absolute paths to the driver binaries.

Are these hardcoded absolute paths in PPD files?   Are
linuxprinting.org-distributed PPD files going to hardcode any absolute
paths?


The source tarballs of the drivers should not have the paths hardcoded. In the PPD files (or in the source files from which the PPDs are generated) there should be variables or macros which get substituted with the install target directory by "./configure" or "make".

Are there guidelines on how to use the PPD and driver directories?  Debian
has one as work-in-progress for PPDs (and Ubuntu probably is following it as
well), available at: http://wiki.debian.org/PpdFileStructureSpecification


The guidelines are not officially posted, but they are as follows:

A driver package contains one or more PPDs (one for each supported printer model with distinct IEEE-1284 device ID) and all files belonging to the driver. The directories for the PPDs and the driver files have to be used as stated in

http://lists.freestandards.org/pipermail/printing-architecture/2006/001512.html

This means that the location of the files depends on the way how the driver gets onto the system/who compiles the driver:

- Driver comes as binary package with distro -> /usr/...
- Driver comes as binary package from distro-independent place
  (OpenPrinting, manufacturer, driver author, ...) --> /opt/...
- Driver is compiled/packaged by local admin --> /usr/local/...

So the source code of the driver should allow all three locations and should default to /usr/local/...

The driver itself should connect to GhostScript via the interfaces IJS, CUPS Raster, or OpenPrinting Vector, GhostScript built-in drivers are deprecated. Also drivers calling GhostScript with the "pxlmono" or the "pxlcolor" output device are allowed.

The driver package should not contain ghostscript and/or foomatic-rip, as the LSB 3.2 requires the presence of these programs as part of the system.

The PPD files should contain an absolute path to the driver binary, usually in the cupsFilter line in case of CUPS filter and in the FoomaticRIPCommandLine if foomatic-rip is used. The path is ideally inserted by the "./configure" or "make" process.

A driver package can consist of only PPDs, for example if the supported printers are PostScript printers.

To make a distribution-independent driver package, in addition the following is needed:

- The driver can only use resources (like libraries, ...) which are
  provided by the current LSB, any other resources it has to ship.

- The driver must be packaged following the packaging standards of the
  current LSB.


   Till



Reply to: