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

Bug#590163: Changes in foomatic-db



OdyX, you are partially wrong.

The OpenPrinting database, available through the OpenPrinting web site ot through the foomatic-db package, provides two types of data:

1. XML files from which the pages of the OpenPrinting web site and also PPD files, the so-called Foomatic PPDs are generated. On the local system the foomatic-db-engine package generates the PPDs. The link /usr/lib/cups/driver/foomatic makes CUPS auto-generating the PPDs on-the-fly, so that they are available in printer setup tools and also if one creates a print queue on the command line as I showed in my previous posting.

2. Ready-made PPD files. Many PPD files are available as physical PPDs. These files are provided by printer manufacturers, mainly for PostScript printers and some also for PCL printers.

If you install foomatic-db from upstream, (2) causes a much higher disk occupation than (1), even if each PPD file is individually gzipped.

The former foomatic-filters-ppds package contained all Foomatic PPDs from (1) pre-built as ready-made PPDs and the PPDs of (2) plus the foomatic-filters package. So this was a one-package solution without need of generating PPDs, so mainly for easy use with CUPS 1.1.x (no PPD generator support) or non-CUPS spoolers. foomatic-db-engine was not needed. So this package was a major disk space killer, so completely unsuitable for live CDs or CUPS installations on routers.

The foomatic-db source package builds three binary packages:

1. foomatic-db: This package contains the XML data of the OpenPrinting database, no PPD files.

2. openprinting-ppds and openprinting-ppds-extra: These two packages contain all manufacturer-supplied physical PPDs, and no PPDs generated from Foomatic XML data. The splitting into two packages was done to be able to ship the most important PPDs on the Ubuntu Desktop CD without occupying to much of the CD space with PPD files. These packages DO NOT contain any PPD files which is generated from the Foomatic XML data of (1).

The change we have done is to replace the PPDs which are present as physical files in the openprinting-ppds and openprinting-ppds-extra packages by one single highly (but losslessly) compressed file from which CUPS automatically extracts the PPDs needed. The compressed PPDs are in the files

/usr/lib/cups/driver/openprinting-ppds
/usr/lib/cups/driver/openprinting-ppds-extra

This leads to the following savings (on Ubuntu Maverick):

Binary Package             *.deb file       installed system
------------------------------------------------------------
openprinting-ppds               ~4 MB                  ~5 MB
openprinting-ppds-extra        ~18 MB                 ~28 MB

Compression is by a factor of 10 better than file-by-file gzip compression.

See also

http://pypi.python.org/pypi/pyppd
https://bugs.launchpad.net/bugs/493282
  hplip-data ballooned by 2.5 MB in lucid
https://bugs.launchpad.net/bugs/446245
  lzma more efficient than gzip

   Till



Reply to: