Web lists-archives.com

Bug#911335: ITP: cpdb-libs -- Common Print Dialog Backends - Interface Library for Backends




Package: wnpp
Severity: wishlist
Owner: Till Kamppeter <till.kamppeter@xxxxxxxxx>

* Package name    : cpdb-libs
  Version         : 1.1.2
  Upstream Author : Nilanjana Lodh <nilanjanalodh@xxxxxxxxx>
* URL             : https://github.com/OpenPrinting/cpdb-libs
* License         : MIT
  Programming Lang: C
  Description     : Common Print Dialog Backends - Interface Library for Backends

This is already packaged for Ubuntu. This is the long description of
the Ubuntu package:

 The Common Print Dialog Backends project provides a D-Bus interface
 so that the print dialogs of GUI applications and the communication
 with the print technologies (CUPS/IPP, Google Cloud Print, Save to
 File, ...)  are put into separate executables to be separately
 exchangeable.
 .
 The print dialogs of the different GUI toolkits and applications
 (GTK, Qt, LibreOffice, ...) are the frontends and to communicate with
 the different print technologies they use common backends. This way
 one simply adds new backends for new print technologies and updates
 the backends for changes in the print technologies, and immediately
 all applications are up-to-date, without need of modifying the code
 of the GUI toolkits or applications.
 .
 This package contains the library which provides the functions needed
 by both the frontends and the backends.

The idea is to decouple the print dialog's GUI code (GTK, Qt,
LibreOffice, ... The frontends) from the code which communicates with
actual print technologies (CUPS, IPP, Google Cloud Print, Save to
File, ... The backends) to make them independently
interchangable. This way one can do things like

- Add a new print technology and it is immediately available for all
  GUI apps. Especially an online print service provider could simply
  put its backend into the Snap Store and asks his Linux users to
  install it.

- A change in a print technology, for example new functionality in
  CUPS, can be covered by simply updating the CUPS backend. No need to
  change all GUI libraries.

- User logs in for Google Cloud Print once and not separately for each
  GUI platform to get his cloud printers into all the apps.

- In case of a security bug in the communication code with one print
  technology only the backend needs to get fixed, not several GUI
  libs.

This package contains the general libraries which especially provide a
session D-Bus interface between the print dialogs (frontends) and the
print technology backends.

For this to work at least one print technology backend package is
needed. These packages are suggested in separate bug reports.

Of the GUIs LibreOffice already supports this system and only needs to
get rebuilt with this library. Patches for GTK and a modified Qt print
dialog are in the works.

All packages are already available as Ubuntu packages in Ubuntu's
Universe part. The maintenance in Debian should be done in the Debian
Printing Team.

I am not a Debian Developer but OdyX (Didier Raboud, odyx@xxxxxxxxxx)
is willing to upload these packages.