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: