[lsb-discuss] Driver package repositories and distributions

Till Kamppeter till.kamppeter at gmail.com
Fri Jun 13 00:39:01 PDT 2008


Hi,

I have now driver package repositories with working apt-get and 
yum/zypper indices (not yet signed). See

http://www.linuxfoundation.org/en/OpenPrinting/Database/DriverPackages

for usage instructions.

Now there is the following problem: If you have several printers 
connected to one machine, for example a Samsung laser using SpliX and an 
Epson inkjet using Gutenprint. The Samsung works happily with the driver 
coming with your distro and the Epson is a rather new model which needs 
the new Gutenprint 5.2 which is still in beta state and therefore not 
shipped with the distros. So you install the new Gutenprint from 
OpenPrinting.

Now you want to have automatic updates for Gutenprint, the next beta, 
the RCs, the final, following bug fixes, ... If you add the whole 
OpenPrinting package repository to your system's package sources you 
would not only get your Gutenprint 5.2.x but also your SpliX package 
updated by us (at least in the case that your distro has it in a package 
named "splix" as we have it). Not every user wants that, especially if 
he gets commercial support from his distribution vendor.

There are two solutions for this:

1. Put each driver into its own component of the repository. So one can 
add each driver as a separate package source. In the example from above 
one adds only the "gutenprint52" component and so only Gutenprint 5.2.x 
gets auto-updated from OpenPrinting, not SpliX. SpliX will continue to 
only get updated by the repositories of the distro. A printer setup tool 
would add the package sources for each driver which it installs.

2. Rename all packages on OpenPrinting to have names which are never 
used by the distributions. For example we rename our "splix" package to 
"lsb-driver-splix". Renaming also links which point into system 
directories (like for CUPS backends) and adding somethig like "LSB 
Driver" into the Nickname of the PPD, we can make the driver perfectly 
co-existing with the distro's driver on the same system.

This way our packages will never auto-update packages from the distro, 
and even better, one will not run into problems if the distro splits a 
driver package in another way into several binary packages than we do. 
In addition, a user can easily switch between the distro's version of a 
driver and our version without installing and uninstalling packages.

We also do not need separate package sources for each driver any more. 
One adds one package source and so one can also get an overview of all 
available drivers with an arbitrary package management tool.

For testing, I have implemented (1) now with the sample packages on the 
OpenPrinting web site. But in general, I think (2) is the better solution.

WDYT?

    Till



More information about the lsb-discuss mailing list