I’m working on creating snaps for GNOME app using the gnome-3-24 snap’s content interface. In order to keep all the libs linked in the build from being included we have to trick snapcraft in stripping all those files. For example:
# workaround snapcraft trying to outsmart us by copying ldd listed libraries
workaround:
plugin: nil
stage-packages:
- libgtk-3-0
prime:
- "-*"
This strips everything out of the workaround part because we know it’s actually available via the content interface from the gnome-3-24 snap.
This is hacky, but isn’t too bad for apps that really only need libs provided by that interface. However, say for example you have an app that needs a couple other libs, like gedit needs libgspell and libgtksourceview. We need to expand that “-*” out into a much more extensive list to strip out everything provided from the interface.
It would be handy if snapcraft could mount the content interface and determine which libs are provided there and automatically strip those out from prime.