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

Re: Prebuilt ppd packages

Hash: SHA1

Pascal De Vuyst <pascal.devuyst@gmail.com> writes:

(Sorry about the delay in replying; I took some time to consider it.)

> It would be nice if the current prebuilt ppd packages in debian could
> cooperate more as described in the Specification below.
> Any comments and suggestions to this Specification are welcome.

Thanks for taking the time to write this.  I've added a few comments
below for your consideration and comment.

> Created: 26/12/2005 by Pascal De Vuyst
> Contributors:
> Packages affected: foomatic-filters-ppds, hplip-ppds,
> cupsys-driver-gimpprint-data (or cupsys-driver-gutenprint-data) and
> hp-ppd.

cupsys-driver-gimpprint-data no longer exists, it's replaced by
cupsys-driver-gutenprint, which generates the data during

> Database in /usr/share/ppd formed by several packages
> -----------------------------------------------------
> 1. The database of ppds should be located in /usr/share/ppd
> according to the FSH because it contains static and arch-independent
> information.



> 2. This ppd directory should contain subdirectories according to the
> "driver type":
> /usr/share/ppd/gs for drivers common to all Ghostscripts (gs-esp,
> gs-gpl and gs-afpl);
> /usr/share/ppd/cups-raster for CUPS-only drivers;
> /usr/share/ppd/ps-printer for drivers for PostScript printers.

I don't agree with this (though I might be convinced otherwise).  A
PPD is a "Postscript Printer Description".  That is, a definition of
the capabilities of a PostScript printer.

CUPS-only (cups-raster) PPDs, for example, are not proper PPDs,
because they are describing a "pretend" PostScript printer to allow
printing on a non-PostScript device.  They are specific to CUPS, and
as such, I don't think they should live outside /usr/share/cups/model.

Are there currently any PPDs for gs-(esp|gpl|afpl)?

The Foomatic PPDs are a little different, I think, because they are
intended to work with multiple spoolers, and IIRC some are "genuine"

To summarise, I think /usr/share/ppd should be reserved for vendor
PPDs for hardware PostScript printers.  If they use extensions to tie
into some other system, they belong with the system in question
(possibly another directory in /usr/share).

> 3. The gs, cups-raster and ps-printer directory should contain
> subdirectories according to *Manufacturer string as specified in the
> PPD specification v4.3 that can be found at
> http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf
> e.g. /usr/share/ppd/gs/HP, /usr/share/ppd/ps-printer/Epson,
> /usr/share/ppd/gs/Lexmark, ...

This sounds reasonable.

> 4. Inside the ppds a *Manufacturer string should be contained
> according to the above specification. This allows GUI tools to provide
> a list of printers by unique Manufacturer.

Yes.  I think all PPDs currently comply with the standard.  It should
probably be noted that it's case sensitive, so getting the case wrong
results in multiple entries for the same Manufacturer.  Copying the
practice in the vendor's own PPDs is the best approach, I think.

> 5. All ppds should be gzipped to reduce disk space usage.

Are there any systems which can't handle this?  Otherwise, it's good.

> 7. Package names for prebuilt ppds should contain the "project
> name" where they originate from.

It might be useful to have a common naming scheme, such as foo-ppd,
and possibly a package which depends upon them all, to make
installation easier.  Dependencies/Recommends/Suggests from spooler
and driver packages should also be considered.

> Current issues that need to be addressed
> ----------------------------------------
> * hplip-ppds package incorrectly uses *Manufacturer: "HP
> (HPLIP)" inside ppds.
> * foomatic-filters-ppds package contains the same hpijs ppds as
> hplip-ppds package. To avoid this duplication and have a database of
> unique ppds, hpijs ppds should be provided by only one package. The
> hpijs ppds should be provided by hplip-ppds package and originate from
> hplip project so they always match with the installed version of HPIJS
> Ghostscript drivers. Hpijs ppds from hplip project should be removed
> from package foomatic-filters-ppds.
> * hp-ppd should be deprecated if it contains no ppds that are not in
> hplip-ppds packages.

The hplip maintainer will have to comment upon this.  You could file a
bug, if necessary.


- -- 
Roger Leigh
                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>


Reply to: