Shared content example - ubuntu-app-platform

knitzsche kyle.nitzsche at canonical.com
Thu Dec 8 00:56:03 UTC 2016


Great idea!

How do consumers (snap devs) know the lib/API versions contained? On 
touch we had the concept of a "framework", whose version implied a set 
of API commitments. Since this puts QT together with other (Ubuntu &etc) 
  libs, what's the reasonable expectation?

On 11/11/2016 02:46 PM, Timo Jyrinki wrote:
> Hi,
>
> I hinted at this earlier but 'ubuntu-app-platform' (name bikeshedded a
> few times) is now there offering a huge amount of libraries via
> content interface. We're using it for some builds of for example
> Calculator, Calendar and other apps, dropping the size of those from
> 50+MB to even under 1MB.
>
> It's used for the use case of using a same version of Qt (5.6.1) and
> certain Ubuntu libraries on disk space constrained devices for several
> (sn)apps, but it might also serve you as an example of how you could
> share content similarly between your own snaps.
>
> How it works is that there is now a snap in the store and an
> associated cloud part 'desktop-ubuntu-app-platform' (see documentation
> at the bottom of https://wiki.ubuntu.com/snapcraft/parts) that one can
> use to easily plug into the platform offered by ubuntu-app-platform.
> The extremely simple example produces 1MB snap
> (https://code.launchpad.net/~timo-jyrinki/+snap/uitk-gallery/+build/9676/+files/uitk-gallery_0.1_amd64.snap)
> that uses the hundreds of megabytes of shared libraries from the
> platform snap.
>
> Since this might be interesting approach to share libraries or other
> content between several snap in general, I invite you to look at the
> slot side maintained by the Ubuntu SDK team -
> https://git.launchpad.net/ubuntu-app-platform/tree/snapcraft.yaml -
> and the plug side of the simple(st) example -
> http://bazaar.launchpad.net/~timo-jyrinki/+junk/uitk-gallery/view/head:/snapcraft.yaml
>
> I hope this could help people interested in similar content sharing
> use cases. Note that it's useful to define the "default-provider"
> already even though the functionality of the field (automatic
> downloading of the providing snap) is not yet implemented.
>
> -Timo
>




More information about the Snapcraft mailing list