Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Add snapcraft configuration to build snaps #612
Hi! This pull request adds preliminary support for building snaps. This provides a single package which can be easily installed and updated on many common Linux distributions.
Snaps are a cross distro packaging format designed with simplicity and security in mind. I have successfully build both stable (0.1.1c) and edge (github master) snaps of openspades and uploaded them to the snap store. Users of snap enabled Linux systems can install openspades 0.1.1c with one command, and it will appear on the desktop menu, or be launch-able from a terminal:-
To install the current (as of last night) github master:-
I have tested this snap on 32-bit and 64-bit installs of Linux. I tested on Fedora 25, Debian 9, Elementary OS Loki, Ubuntu 16.04 and OpenSUSE Tumbleweed.
To test this PR on an up to date Ubuntu 16.04 system:-
You should then find openspades on the menu and runnable from the command line as
Ideally if/when this lands in master, you could hook up your build infrastructure using snapcraft to spit out a snap on each commit, and land that in the edge channel in the store. Adventurous users would then get automatic updates of openspades a few minutes/hours after each time you push a new change to master. If we get to that stage, then I can hand over the keys to the openspades builds in the store to you so you manage it rather than me. Happy to continue managing it in the meantime though. :)
I had to disable EAX by default as it crashes OpenAL on 32-bit Linux. Players can re-enable that of course if needed.
referenced this pull request
May 3, 2017
It's mostly automated, yes. You have a few options in order of preference, once this branch lands:-
The net result of those two is the same, auto landing your commits to edge. The final option is a last resort.
In any case, once you have a build in the store which you want to release, you can use snapcraft (e.g. snapcraft release snap-name revision channel) to release it (or the web UI dashboard in the store) to the stable channel.
However, currently I'm the registrant of the "openspades" name under my store account. Once you're ready and have a store account (at http://dashboard.snapcraft.io/) I can ask the store admins to hand it over to you for future updates.
@yvt Awesome! I'll get our store team to transfer ownership of the snap to you.
@NotAFile It's a popular misconception that snaps are geared for servers. It's not true. Snaps are designed to be universal packages. We have a ton of desktop applications snapped (more, and more diverse than there are flatpaks in flathub in fact)
@NotAFile I actually tried flatpak on openspades a while ago. I just pushed the flatpak-builder config into a github repository, in case you want to try it: https://github.com/theunknownxy/openspades-flatpak