ruma / homeserver

A Matrix homeserver written in Rust.
https://www.ruma.io/
1.08k stars 41 forks source link

Add the packaging metadata to build the ruma snap #163

Open come-maiz opened 7 years ago

come-maiz commented 7 years ago

This is a package for the secure installation of apps that will work in most Linux distributions. Landing it upstream will enable to push builds to the Ubuntu store, and get updated versions to many users.

come-maiz commented 7 years ago

Hello!

A few days ago I was using ruma to test a few bug fixes in snapcraft. Now with the latest release I can build the ruma snap, so I thought sending it upstream to see if you would like to deliver ruma in the Ubuntu store. It would be really useful for us to get feedback from rust developers, and I think that your project can also benefit from the nice features that snaps provide, and from exposing it to all the Ubuntu users out there.

You can find more information about snapcraft here: http://snapcraft.io/

To build it in an Ubuntu 16.04 machine:

$ sudo apt install git snapcraft
$ git clone https://github.com/elopio/ruma
$ cd ruma
$ git checkout snapcraft
$ snapcraft
$ sudo snap install *.snap --dangerous

If you have any questions or comments, please let me know.

jimmycuadra commented 7 years ago

Thank you for the PR and for sharing this work with us! For the time being, I'm going to let this sit, because we are still not ready for a release of Ruma and we haven't decided how we want to distribute it. We'll come back to it when we reach that point of development, but it may not be for a month or two.

come-maiz commented 7 years ago

Thanks for the review @jimmycuadra. It's ok for me if you want to wait on the release.

However, note that the Ubuntu store has 4 channels: edge, beta, candidate and stable. Only the snaps in the stable channel can be found by any user. They will only be able to know that a snap is in one of the other channels if the person who uploaded the snap tells them. So we usually do daily releases to edge, to gather feedback from early adopters. And we move them to higher stability channels when we are preparing a stable release. This has been really useful on the early stages of development, because users get automatic updates every time you push a new revision. If you have a small group of trusted contributors, tell them to install from edge and they will love to always have the freshest and latest version to try. Just a suggestion :)

As I mentioned before, we are also looking for feedback from early adopters to help us assign priorities in our backlog. So if you think there's something we can do to better support your development process, please let me know.