questions about connecting bluez interface

Jamie Strandboge jamie at canonical.com
Thu Oct 27 14:06:54 UTC 2016


On Thu, 2016-10-27 at 13:36 +0200, Simon Fels wrote:
> Hey Robert,
> 
> the bluez plug and slot are now auto-connected as we put a snap-declaration
> for it on the store side in place. That assertion tells snapd that the
> bluez snap should get its slots/plugs automatically connected. But this
> only applies for the bluez snap coming from the store. If you install one
> you built locally you don't have the signed assertion from the store which
> would tell snapd to auto-connect the relevant plugs and slots.
> 
> However I am not sure why the interface connection is denied when you do it
> manually. @Samuele, Jamie: Any idea?
> 
Robert and Simon, interfaces typically give privileged access to the system to
slot implementations and the idea is that slot implementations need store
approval to protect against bad slot implementations that can be used to harm
the system. As such the base declaration will typically deny connections to slot
implementations which means a snap declaration from the store is required for
your snap in order to allow plugging snaps to connect to it.

Gustavo, while the base and snap declarations are working as designed and with
the intended purpose, it seems that there is a rough edge for slot
implementation snap developers-- namely, it seems local installs of the snap
block connections when we have something like this in the base declaration:

  foo:
    deny-connection: true
    deny-auto-connection: true

The only way I can see for a slot implementation developer to work within the
system as implemented is to a) upload to the store and request a snap
declaration and b) upload snaps to edge so as to 'snap refresh --edge ...' to
test their changes. Perhaps I am missing something... should --dangerous (or
something else) try to do something smart here so Robert can develop the bluez
snap locally before uploading to the store? Should we provide a way for the
developer to sign a snap declaration for this sort of thing?

Thanks!

> regards,
> Simon
> 
> On Thu, Oct 27, 2016 at 6:54 AM, Robert Liu <robert.liu at canonical.com>
> wrote:
> 
> > 
> > Hi list,
> > 
> > I have 2 questions about connecting bluez interface.
> > In Interfaces reference [1], it said the bluez is not auto-connected. But
> > after I installed the bluez snap, the bluez interface is connected. Do I
> > misunderstnad the definition?
> > 
> > root at localhost:/tmp# snap install --edge bluez
> > bluez (edge) 5.37-2 from 'canonical' installed
> > root at localhost:/tmp# snap interfaces
> > Slot                    Plug
> > bluez:service           bluez:client
> > 
> > 
> > The other question is that I cannot connect the interface when using my
> > own bluez snap. Should I sign my snap to make this work?
> > 
> > root at localhost:/tmp# snap install --dangerous bluez_5.37-2_amd64.snap
> > bluez 5.37-2 installed
> > root at localhost:/tmp# snap interfaces
> > Slot                    Plug
> > bluez:service           -
> >   [snipped]
> > -                       bluez:client
> > root at localhost:/tmp# snap connect bluez:client bluez:service
> > error: cannot perform the following tasks:
> > - Connect bluez:client to bluez:service (connection denied by slot rule of
> > interface "bluez")
> > 
> > [1] http://snapcraft.io/docs/reference/interfaces
> > 
> > BR,
> > Robert
> > 
> > --
> > Snapcraft mailing list
> > Snapcraft at lists.snapcraft.io
> > Modify settings or unsubscribe at: https://lists.ubuntu.com/
> > mailman/listinfo/snapcraft
> > 
> > 
-- 
Jamie Strandboge             | http://www.canonical.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20161027/18ba1ec7/attachment.sig>


More information about the Snapcraft mailing list