Skip to content

Add support for building a snap #23

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

Merged
merged 1 commit into from
Dec 23, 2018
Merged

Add support for building a snap #23

merged 1 commit into from
Dec 23, 2018

Conversation

popey
Copy link
Contributor

@popey popey commented Dec 19, 2018

I recently discovered onefetch, and as a command-line nerd and fan of neofetch, I love it :D Thanks for making it. I’m keen to to help you reach more developers building software on Linux.

So I created a snap package of onefetch so it can be featured in the Snap Store, which is a cross-distribution app-store for Linux. Once in the store, it can be easily installed via ‘snap install’ or via GNOME Software or KDE Discover on most distros.

The single snap built from this yaml, once published in the Snap Store will be installable on numerous popular Linux distributions without change. It’ll also be discoverable via the Snap Store, where releases are under your control.

If you're willing to publish this under the onefetch project name, you just need to create an account and then register the onefetch 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 onefetch, and push them to the store automatically. Alternatively it’s possible to integrate publishing the snap via your existing travis CI / release process.
I appreciate you may not be aware of snaps and snapcraft, and I’d of course be happy to answer any questions you may have.

@o2sh o2sh merged commit 24f3f54 into o2sh:master Dec 23, 2018
@o2sh
Copy link
Owner

o2sh commented Dec 24, 2018

What a mess !
Impossible to build a snap on Manjaro. So I tried with an Ubuntu VM but turns out you cant launch a VM inside a VM...

My last attempt was to use a live USB with Ubuntu burned on it, but my 8GB usb stick wasn't sufficient to install all the packages required.

I guess, you must have an ubuntu machine for this to work properly.

Thanks @popey, I don't want to give up but the frustration is getting too high.

@popey
Copy link
Contributor Author

popey commented Jan 7, 2019

Sorry for the delay getting back to you. I blame Christmas :).

If you have an Ubuntu VM, you should be able to run snapcraft --destructive-mode in the VM to force it to use the native machine and not try and spin up a VM. Alternatively you may be able to build on Manjaro directly if you snap install multipass and do not use --destructive-mode at which point snapcraft will use multipass to make the VM.

@o2sh
Copy link
Owner

o2sh commented Jan 13, 2019

All right, so i ended up installing ubuntu on my machine. But I'm still stuck trying to build a snap. It seems like snap is trying to use a deprecated version of rustup.sh.

capture du 2019-01-13 12-53-23

Did I miss something @popey ?

@o2sh
Copy link
Owner

o2sh commented Jan 15, 2019

Seems related : canonical/snapcraft#2431

@o2sh
Copy link
Owner

o2sh commented Jan 30, 2019

It's done: https://snapcraft.io/onefetch
@popey

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.

2 participants