"cups" interface merged into snapd - Additional steps to complete

Some updates:

  • The Snap Store team has no granted auto-connect of the cups slot of the CUPS Snap.
  • No special permission is needed for using the cups-socket-directory attribute.
  • For the CUPS Snap auto-installation to work, there must be a version of the CUPS Snap in the stable channel of the Snap Store. This I have done now.
  • For the CUPS Snap we will later on look into adding appropriate functionality to snapd that it is simply done if a Snap is installed which plugs cups. For the time being there is a workaround which does not require any change in the snapcraft.yaml of the CUPS Snap, it is enough to add the default-provider: cups to the snapcraft.yaml files of the client Snaps which plug cups using a placeholder content interface as shown below.
  • Later on default-provider support should be added directly to the cups interface. @mvo, could you work on this with me?

Here is what has to be added to client application Snaps which plug cups in order to auto-install the CUPS Snap (if it is not already installed):

plugs:
  foo-install-cups:
    interface: content
    content: foo
    target: $SNAP_DATA/foo
    default-provider: cups

What is mainly still missing is:

  • snapd 2.55 release
  • /var/snap directory to be created in the base Snaps
  • Add cups-socket-directory: $SNAP_COMMON/run and assumes: [snapd2.55] to snapcraft.yaml of CUPS Snap (required snapd 2.55 release)

TODO list above updated.

@ijohnson @mvo how will we proceed?