CUPS in a snap: Using content interface to connect printer driver snaps

Till Kamppeter till.kamppeter at
Wed Jan 25 18:29:04 UTC 2017


I am currently snapping CUPS (both for server and for desktop/phone 
printing needs) and testing it on Ubuntu Core.

Another reason to put CUPS into a snap is that one could also snap 
printer drivers to have them in a distribution-independent package 
format (so that manufacturers need to publish only one driver package, 
not one per distro) and couple the driver snap to the CUPS snap as a 
kind of plug-in.

As there can be any arbitrary number of different printers connected to 
one machine running CUPS, it must be possible to connect any combination 
of driver snaps to the installed CUPS snap, also the CUPS snap should 
not be required to know which driver snaps exist. Manufacturers should 
be able to publish a new driver snap at any time and every CUPS snap 
user should be immediately able to use the new driver snap.

Each driver snap should provide files to CUPS, PPDs in some form (PPDs 
themselves, PPD generator executable, or *.drv file), if needed, driver 
executable/CUPS filter, and auxiliary files. These files are the plug of 
each driver snap.

So CUPS needs to provide a slot to take these files somehow and this 
slot needs to accept any printer driver snap and any number of printer 
driver snaps.

Can one do this with the "content" interface? And if yes, how?


More information about the Snapcraft mailing list