Thunderbird snap needs write access to $HOME/.thunderbird

  • name: Thunderbird
  • description: Email client
  • snapcraft: snapcraft.yaml
  • upstream: upstream Thunderbird repository
  • upstream-relation: The Thunderbird snap is important for Ubuntu desktop and is co-maintained between the Ubuntu desktop team (@seb128 ) and the Thunderbird team (@hellsworth1 )
  • interfaces:
    • <interface-name>: personal-files
      • request-type: connection and auto-connection
      • reasoning: We want the snap to be able to use an existing $HOME/.thunderbird profile directory. If a user has been using the Thunderbird deb and then is transitioned to the snap, our logic to migrate the profile directory to within the snap breaks if the user’s profile dir is too large (which is quite common). To resolve this, we would like to just use the existing profile directory without needing to move it.

Here is the recent relevant change to the snapcraft.yaml that will allow us to use $HOME/.thunderbird and here is the bug that it fixes.

3 Likes

This fits the purpose and makes sense for the snap, +1 from me

2 Likes

I agree, this makes sense. +1 from me

1 Like

Hey, this requests also makes sense to me +1.

+3 for, 0 against for granting thunderbird write access to $HOME/.thunderbird via personal-files interface. The publisher is vetted. This is now live.

1 Like

Thank you so much for this approved change!

Actually I just went to make sure this was live and I’m being prevented from installing the thunderbird snap from latest/stable at all:

$ sudo snap install thunderbird
error: cannot perform the following tasks:
- Mount snap "thunderbird" (609) (installation not allowed by "dot-thunderbird" plug rule of interface "personal-files" for "thunderbird" snap)

Is there something wrong with the way we’ve defined the personal-files plug usage or does anyone know what is going on here?

Note that I am able to install from the --beta channel with no problem.

Hey @hellsworth1,

I’m sorry, that was my bad. When I updated the declaration to grant the snap write access I just change the attribute from read to write as write is supposed to grant both read and write access. However, the installation check is not that smart and only exactly matches attributes. Thus, the snap was allowed (via declaration) to define a write attribute, but the revision in stable defined a read attribute, which was not explicitly allowed. On the other hand, the version in beta defined a write attribute which was actually allowed.

It should be working now, please let me know if anything is still not working as expected and sorry again for any inconvenience.

Thanks!

1 Like

Thanks so much for fixing it! I can install the stable snap just fine now :slight_smile: