Add snapcraft.yaml so you can `snapcraft build` #800

Merged
merged 1 commit into from Aug 13, 2016

Conversation

Projects
None yet
3 participants
Contributor

spads-spads commented Aug 2, 2016

Now that #795 is merged, enabling snaps, we can merge the snapcraft.yaml.

This file is essentially the "Makefile" for the snapcraft binary, which will build a squashfs that can be mounted and run in a heavily AppArmor-constrained process space.

Right now this snapcraft.yaml allows access to the user's home directory through the home plug on line 15, but in future it would be possible to bundle games into their own snaps along with specific revisions of scummvm, and those could operate entirely without filesystem access outside the snap jail. This can work no matter the base OS, as the environment overlays atop a ~60MB ubuntu-core image.

I've demonstrated this work in person to fuzzie, and have built 1.9.0git snaps using snapcraft cleanbuild which even does the build step in an lxd of the ubuntu-core environment.

I'm not sure how best to document this build information, so any guidance there would be welcomed.

Contributor

spads-spads commented Aug 3, 2016

It's also possible to have travis build these and upload to the "edge" channel, as in: https://github.com/evandandrea/cassandra-snap/blob/master/.travis.yml

@sev- sev- merged commit fe256bb into scummvm:master Aug 13, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
Owner

sev- commented Aug 13, 2016

It would be cool if you add the description to our Wiki. Also if you have time for building these for the releases, and probably help with the packaging subsystem, which describes the game and has several output interfaces, including the snapcraft format, that would be awesome.

Owner

wjp commented Sep 5, 2016

Can we move this to a subdirectory? dists/snapcraft (or dists/snap) maybe?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment