Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the packaging metadata to build the electrum snap #2521

Merged
merged 4 commits into from
Jun 20, 2017

Conversation

come-maiz
Copy link

This package will let you publish the latest electrum in the Ubuntu store, and from there reach many users on all the supported Ubuntu versions, and more Linux distributions in progress.

@come-maiz
Copy link
Author

Hello!

Here at ubuntu we are working a new packaging and delivery system. If you haven't heard about snaps before, here's a lot of info: https://snapcraft.io/

I used electrum to test our new snapcraft release, and it worked nicely so here it is for you.
I think it would be great if you push it to the store. After landing this PR, you can go to https://build.snapcraft.io/ and it will take care of the building and continuous delivery of new versions to your users.

To test this in an Ubuntu 16.04 machine:

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

(--dangerous because the snap you build doesn't come signed from the store. Once you publish it, your users will just have to do sudo snap install electrum).

If you have any questions, please let me know.

pura vida.

description: |
Lightweight Bitcoin client

grade: devel # must be 'stable' to release into candidate/stable channels
Copy link
Collaborator

@bauerj bauerj Jun 15, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be changed later? Why is it set to devel?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just as a safeguard during the initial tests. Once it's move to the stable channel in the store it will be installable by millions of users of Ubuntu who can find it in the software center. I'm usually cautious to make sure that there is a commit that marks when the snap is stable. But this is not strictly necessary.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense. Thank you!

@ghost
Copy link

ghost commented Jun 19, 2017

Background. I maintain a unofficial Snap of Electrum. I'm not aware of any Bitcoin wallet that's in any Linux repository. So it might be a first. Normally my packages have a -tpaw suffix. Shuttleworth convinced me to drop the suffixes so I made another Electrum package without it but I recently regretted that in favor of future wanting to proper official distributors to continue where I left off. I have no idea give up claim on the package name. However, I noticed packages are presented as package.maintainer on the developer dashboard which makes me question if there would be no conflicts.

Anyway, my experience with maintaining the Snap is pretty straightforward and not that complicated. The setup pulls in the upstream binaries and packages the snap as you would it expect. Nothing overlay complicated. Updating from one release has pretty is simple as replacing the version numbers with a simple find and replace in a editor. It all works as you would expect.

@come-maiz
Copy link
Author

Making the transfer is easy. All the users @tomascw has will switch to the official publisher. And you can even make him a contributor on the store, this might be handy because he already has some good experience maintaining snaps.

@ecdsa ecdsa merged commit 2d48aa3 into spesmilo:master Jun 20, 2017
@come-maiz come-maiz deleted the snapcraft branch June 21, 2017 16:42
@come-maiz
Copy link
Author

Thanks for the merge @ecdsa!
When you have an account in https://dashboard.snapcraft.io/, let me know the name and I will start the transfer between @tomascw and your team.

@ecdsa
Copy link
Member

ecdsa commented Jun 22, 2017

@ElOpio why? I do not plan to do so

@come-maiz
Copy link
Author

@ecdsa so you can automate the delivery, get a new version in the edge channel of the store every time you change master, and use the community of testers in Ubuntu to get early feedback.

Also, to control when you send a stable update to the users of this snap. (more than 1000, with ~10 new installs every day, and growing).

@ecdsa
Copy link
Member

ecdsa commented Jun 22, 2017

@ElOpio I have no time to do that. if merging your PR is not useful, let me know and I will remove it.

@come-maiz
Copy link
Author

@ecdsa that's the beauty of it, it's the most low maintenance store that you will find. You just need to click a couple of buttons in build.snapcraft.io.
And if you don't have time to click one checkbox to move it to stable, @tomascw can help there. (I think, haven't asked :))

But of course, to get this going, somebody with access to your github repo needs to create an account. That's the only way to get access to this repo.

parity, parity-bitcoin, cpp-ethereum, kovri, and some others already have the snapcraft.yaml in their repo, are taking advantage of the continuous delivery and getting their software exposed to all the Ubuntu users.

@hoschi-it
Copy link

Actually, there is a snap in the store since September 2016 (meaning it's v2.6.4-tpaw0), maintained by Tomas CaseyWilcox. Snap store is not meant to hold deprecated versions but to let users easily get updates...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants