PrinterDriverAutoDownload

Differences between revisions 20 and 22 (spanning 2 versions)
Revision 20 as of 2006-11-10 20:20:14
Size: 6772
Editor: 207
Comment:
Revision 22 as of 2006-11-10 23:27:27
Size: 6417
Editor: 207
Comment: clarify package installation
Deletions are marked like this. Additions are marked like this.
Line 66: Line 66:
On our site we will do We will create a source package `openprinting-drivers` which can automatically
Line 68: Line 68:
 * A daily process checks whether there are new drivers at FSG OpenPrinting and adds them to a TODO list  * download available drivers from upstream,
 * create one binary package per vendor,
 * ensure that there will be no packaging conflicts,
 * run a test suite over all available drivers (set up a temporary print queue for this driver, print some standard PostScript files throuh it into a file, check whether the driver finished successfully and the resulting binary blob has a reasonable size).
Line 70: Line 73:
 ''[pitti: this is underspecified, and I don't think it's necessary either; we usually want to update the drivers several times until UVF; see comment below for new driver check]'' This package should be updated several times during the release cycle until UVF. Those drivers should also be considered for `*-updates` if we can get reliable test results on real hardware.
Line 72: Line 75:
 * QA people at Ubuntu test the driver by installing it and doing some tests (which do not require the printer, like printing into a file) === Printer setup tool integration ===
Line 74: Line 77:
 ''[pitti: the interface of these drivers is certainly homogenuous enough to allow for an automated test suite? like feeding it various kinds of postscript files and checking whether they succeed converting it to a binary blob?]'' If there is no matching driver installed, the printer setup tool will check the apt database for available ones. If there is one, ask the user and call the package manager for installing it (synaptic supports this mode with some special command line arguments).
Line 76: Line 79:
 * If all is fine, we make a Debian package of this driver and do perhaps small adaptations

  ''[pitti: It should be possible to create a generic source package that can update itself from upstream sources, run the test suite, and arrange the drivers in several binary packages, preferably split by vendor. please discuss and spec this out a little.]''

 * The Debian package gets into the Ubuntu repositories

The printer setup tool in Ubuntu will then look into the Ubuntu repositories for driver auto downloads.

 ''[pitti: How would this process look like? How does it tie into synaptic/gnome-app-install/etc.?]''

The user can still (on his own responsibility) download drivers directly from FSG OpenPrinting and install them.

 ''[pitti: this option should not be enabled by default, and should point out that this is *entirely* unsupportable]''
The user can still (on his own responsibility) download drivers directly from FSG OpenPrinting and install them by explicitly enabling this functionality in the printer setup tool and confirm that this mode is entirely unsupported by Ubuntu.
Line 101: Line 91:
''[pitti: however, the existing printer driver packages should be dropped to the extent possible and their equivalent functionality be provided by the automatically generated packages.]'' The existing printer driver packages should be dropped to the extent possible and their equivalent functionality be provided by the automatically generated packages.

Automatic download of printer drivers through the internet

Summary

Printer drivers are continually being created or updated - especially as new printers can come out at any time between distribution releases. It is not reasonable to expect all distributions to be completely up to date all of the time, yet users expect to be able to use a brand new printer straight away.

Rationale

Many printers do not get set up automatically straight away due to their drivers not being shipped with the distribution. Giving easy access to drivers from an external source will widen the scope of printers which will 'just work' a lot.

Use cases

  • User A has an uncommon printer for which there are no drivers in their distribution.
  • User B has a printer for which the manufacturer supplies a closed-source driver which distributions cannot ship
  • User C has a new printer whose driver is not yet in the release of the distribution that they are using.

Scope

All Ubuntu distributions, depending on implementation progress Feisty or Feisty+1.

Design

We will add a functionality to our printer setup tool (PrinterDrake) which lets printer drivers automatically being downloaded on request, dependent on the printer model which is detected.

This will be based on a new service provided by [http://www.openprinting.org FSG OpenPrinting]. linuxprinting.org is currently merging with FSG OpenPrinting and with the release of LSB 3.2 next year distribution-independent driver packages will be offered for download from linuxprinting.org. Especially there will be also available drivers directly uploaded from printer manufacturers.

Description of the new printer driver download service at FSG OpenPrinting

Note: This service is completely independent from Ubuntu and is provided to all distributions and also to end users.

This will be implemented as follows:

  • Add requirements for common printer driver interfaces to LSB 3.2: Driver/renderer (currently GhostScript interfaces IJS, CUPS raster, OpenPrinting Vector, FHS (File System Hierarchy) extension for printer drivers and PPDs.

  • Make use of other LSB standards, like packaging
  • Make distribution independent driver packages which work with every LSB-3.2-compliant distro
  • Attach these packages as downloadable files to the driver entries of the Foomatic database at linuxprinting.org (FSG OpenPrinting)

  • Make the access both human- and machine-readable
  • Provide an API for client software to access: List of all printers, drivers, driver packages, available/recommended drivers for a given printer (specified by device ID or Foomatic printer entry), driver free/non-free?, digital signatures, driver download
  • A printer setup tool could for example detect a printer, check local driver availability and in addition ask the FSG OpenPrinting database for available drivers for this printer. Then install the remote driver if there is no local driver is available or if the local driver is older (update).

For more details see:

To give the best possible reliability and integrity every FSG OpenPrinting driver package will provide the following data:

  • Driver name
  • Release version
  • Release date
  • Is it free or non-free?
  • Contact info to get support, report bugs, ...
  • Digital signature of the supplier (for example printer manufacturer)

How we will provide automatic driver download at Ubuntu

For security and stability reasons we do not directly download and install printer driver packages from FSG to the User's system. Instead, we will create a package infrastructure which makes these upstream drivers available as Ubuntu packages in the Ubuntu archive after a QA process.

Implementation

Packaging infrastructure

We will create a source package openprinting-drivers which can automatically

  • download available drivers from upstream,
  • create one binary package per vendor,
  • ensure that there will be no packaging conflicts,
  • run a test suite over all available drivers (set up a temporary print queue for this driver, print some standard PostScript files throuh it into a file, check whether the driver finished successfully and the resulting binary blob has a reasonable size).

This package should be updated several times during the release cycle until UVF. Those drivers should also be considered for *-updates if we can get reliable test results on real hardware.

Printer setup tool integration

If there is no matching driver installed, the printer setup tool will check the apt database for available ones. If there is one, ask the user and call the package manager for installing it (synaptic supports this mode with some special command line arguments).

The user can still (on his own responsibility) download drivers directly from FSG OpenPrinting and install them by explicitly enabling this functionality in the printer setup tool and confirm that this mode is entirely unsupported by Ubuntu.

Assignments

Implementation on the FSG OpenPrinting side will soon be started by Till Kamppeter.

Implementation on the Ubuntu will start as soon as all needed APIs and specs are published by FSG, at least in a testing state.

Printer setup tool in which the implementation of this feature will be done principally is PrinterDrake.

The drivers for the most important printers (HPLIP, Gutenprint, ...) will be provided on the CDs, so that users without internet connection or with only dial-up will be able to set up their most printers without needing to download anything from the internet.

The existing printer driver packages should be dropped to the extent possible and their equivalent functionality be provided by the automatically generated packages.

-- CategorySpec

PrinterDriverAutoDownload (last edited 2008-08-06 16:35:34 by localhost)