let me start off by introducing myself: I am an Arch Linux and Manjaro Linux user and also maintain some packages in Arch’s AUR. However, I never had any experience with snap, neither as maintainer nor as user.
In particular I maintain a package for Shutter in the AUR and some months ago I also started to maintain it upstream. Since I don’t know Perl, the “maintaining” mostly consists of applying patches submitted by people in the bug reports, giving support to users etc.
Recently I got to know that Ubuntu kicked several optional dependencies for Shutter from its repositories for Ubuntu 18.04 and Shutter itself most likely will be kicked out as well, because it relies on outdated libraries. However, a bunch of people still use it and so a vivid discussion emerged on this issue: https://bugs.launchpad.net/ubuntu/+source/libgoo-canvas-perl/+bug/1765726
At some point, a user brought up the idea that a snap is quite a fitting packaging format for Shutter since it would ship all the dependencies which are otherwise unavailable. This is why I ended up here. Since I have no experience with snap, I have some difficulties getting into it which I think will be easy to sort out for experienced snap users in this community.
My first question is the following: When clicking the “Build” button at snapcraft.io, I am offered to connect to Github. I use Github myself so this is not a problem. However, Shutter is hosted at Launchpad, not Github. Does it mean that I have to reupload Shutter’s code to Github in order to create a snap for it? What about the dependencies which should also be part of the snap? What exactly should be contained inside the Github repo?
Thanks in advance for your assistance,