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 snapcraft support for building snaps #53

Merged
merged 3 commits into from Dec 14, 2018

Conversation

popey
Copy link
Contributor

@popey popey commented Dec 12, 2018

I’ve been using fx for a while to make consumption of various APIs more palatable on the command line. I wish I’d know about it earlier, as it’s far superior to jq! :)

This pull request enables creation of a snap package of fx. The single snap (built for many architectures) in the Snap Store will be installable on numerous popular Linux distributions with no changes. It’ll also be discoverable via the Snap Store, where releases are under your control.

If you're willing to publish this under the fx project name, you just need to create an account and then register the fx name.

A snap file created by snapcraft (our free software tool for building snaps) can then be released in the Snap Store with snap push --release stable *.snap. You'll want to install snapcraft (brew install snapcraft, snap install snapcraft, or apt install snapcraft) and login (snapcraft login) first, though.

You may also want to consider using https://build.snapcraft.io/ which is a free build service, that can create armhf, amd64, i386, arm64 and other builds of fx, and push them to the store automatically. Alternatively it’s possible to integrate publishing the snap via a third party CI system such as travis or circle-ci.

I appreciate snaps and snapcraft may be a new thing to you, so I’d be happy to answer any questions you may have.

@antonmedv
Copy link
Owner

Is snapcraft popular? We already have npm, brew and binary distribution. How many user will install it through span?

@antonmedv
Copy link
Owner

ping @popey

@popey
Copy link
Contributor Author

popey commented Dec 14, 2018

Apologies for the delay replying.
Good question. Snap support is built into Ubuntu 16.04 and above, which covers the majority of all desktop Linux users (by a significant margin). Support for snaps has been ported to the major distros including Debian, Fedora, openSUSE and many more. You can see the spread of distros where snaps are used by looking at the spread (bottom right) of use of the core snap which is a runtime snaps run against.

From a developer point of view, some significant developers have adopted it for shipping their products. Such as Google, Amazon, Microsoft, NodeSource and so on.

So, millions of users have it pre-installed. Hundreds of thousands more can optionally install support for snaps. Thousands of developers are distributing command line utilities, server products and desktop graphical applications as snaps.

We like to promote snaps via the social channels, and blog posts, so while I can't tell you how many installs you'll get, I can say we'll do our best to promote the application. However, once in the store, you get access to metrics, so you can see how many installs you have, across which distributions and geographies, which may be useful to you as a decision maker on your project. This kind of thing.

image

Hope that all makes sense.

@antonmedv antonmedv merged commit cb5a16a into antonmedv:master Dec 14, 2018
@antonmedv
Copy link
Owner

Done: https://build.snapcraft.io/user/antonmedv/fx
But someones failed to build? Do you know why @popey ?

@popey
Copy link
Contributor Author

popey commented Dec 14, 2018

Looks like nodejs don't currently support s390x and ppc64el architectures. I'll do a PR to disable building on those for now.

popey pushed a commit to popey/fx that referenced this pull request Dec 14, 2018
antonmedv pushed a commit that referenced this pull request Dec 14, 2018
@antonmedv
Copy link
Owner

@popey I'm gonna publish on tuesday blog post on medium. Can you also promote fx?

@popey
Copy link
Contributor Author

popey commented Dec 14, 2018

Totally. Will line up a social post for Tuesday. Throw us the URL when it's ready and I'll share it.

@antonmedv
Copy link
Owner

@popey Hi, just published https://medium.com/@antonmedv/discover-how-to-use-fx-effectively-668845d2a4ea
Please, share it 🤗

@popey
Copy link
Contributor Author

popey commented Dec 18, 2018

Awesome, great post. They'll go out over the snapcraftio socials today and ubuntu socials tomorrow. Thanks!

brewingcode added a commit to brewingcode/fx that referenced this pull request Dec 19, 2018
This removes:

- find.js
- find-releated code in fx.js
- statusBar in fx.js

* upstream/master:
  Update snapcraft.yaml
  Update snapcraft.yaml
  Update README.md
  Add snap
  Release 10.0.0
  Fix style on search cancel
  Search on keys, not paths
  Implement for advance highlighting
  Update docs.md
  Show status bar if pattern not found
  Forgive errors to user
  Fix pattern creation
  Separate regexp generation
  Update package.json
  Make current highlight path different
  Remove console.error
  Search feature
  Only build on supported architectures (antonmedv#55)
  Update snapcraft.yaml
  Add snapcraft support for building snaps (antonmedv#53)
brewingcode added a commit to brewingcode/fx that referenced this pull request Dec 19, 2018
* merge-upstream:
  Update snapcraft.yaml
  Update snapcraft.yaml
  Update README.md
  Add snap
  Release 10.0.0
  Fix style on search cancel
  Search on keys, not paths
  Implement for advance highlighting
  Update docs.md
  Show status bar if pattern not found
  Forgive errors to user
  Fix pattern creation
  Separate regexp generation
  Update package.json
  Make current highlight path different
  Remove console.error
  Search feature
  Only build on supported architectures (antonmedv#55)
  Update snapcraft.yaml
  Add snapcraft support for building snaps (antonmedv#53)
@antonmedv
Copy link
Owner

@popey Hi, some users got this error EACCES: permission denied (#60) on Ubuntu 18.04 after installing with snap. Do I need to specify some permissions on my snap?

@LyzardKing
Copy link

Hi!
I got the same error, so I added the home plug and that solved the issue.

@antonmedv
Copy link
Owner

@popey Hi, why snap build isnt working couple days now? :)

brewingcode pushed a commit to brewingcode/fx that referenced this pull request Dec 21, 2021
* Add support to build snaps

* Update snapcraft.yaml

* Update snapcraft.yaml
brewingcode pushed a commit to brewingcode/fx that referenced this pull request Dec 21, 2021
brewingcode added a commit to brewingcode/fx that referenced this pull request Dec 21, 2021
This removes:

- find.js
- find-releated code in fx.js
- statusBar in fx.js

* upstream/master:
  Update snapcraft.yaml
  Update snapcraft.yaml
  Update README.md
  Add snap
  Release 10.0.0
  Fix style on search cancel
  Search on keys, not paths
  Implement for advance highlighting
  Update docs.md
  Show status bar if pattern not found
  Forgive errors to user
  Fix pattern creation
  Separate regexp generation
  Update package.json
  Make current highlight path different
  Remove console.error
  Search feature
  Only build on supported architectures (antonmedv#55)
  Update snapcraft.yaml
  Add snapcraft support for building snaps (antonmedv#53)
brewingcode added a commit to brewingcode/fx that referenced this pull request Dec 21, 2021
* merge-upstream:
  Update snapcraft.yaml
  Update snapcraft.yaml
  Update README.md
  Add snap
  Release 10.0.0
  Fix style on search cancel
  Search on keys, not paths
  Implement for advance highlighting
  Update docs.md
  Show status bar if pattern not found
  Forgive errors to user
  Fix pattern creation
  Separate regexp generation
  Update package.json
  Make current highlight path different
  Remove console.error
  Search feature
  Only build on supported architectures (antonmedv#55)
  Update snapcraft.yaml
  Add snapcraft support for building snaps (antonmedv#53)
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.

None yet

3 participants