Open brlin-tw opened 5 years ago
If I decide to create an official snap package, what would be the procedure to update it? Am I responsible for recompiling the package when I release a new version, or should I upload a source package to a build server as with Launchpad? Do I have to compile it on a specific version of Ubuntu?
I have some minimalistic Ubuntu chroot environments which I use for testing purposes, but they are 64-bit only. Would that be enough to push updates? I'd rather not deal with multiple full-featured VMs since it makes the update process too complicated.
If I decide to create an official snap package, what would be the procedure to update it?
If you make use of the snapcraft build service you can set-up automatic snap building on every code push(which will be published to the edge channel), and promote specific builds to the beta
, the candidate
, and the stable
channel via the snapcraft release
command and the snap's releases page https://snapcraft.io/simplescreenrecorder-brlin/releases on the website:
Check out Channels - Documentation for snaps: Universal Linux packages for more info regarding the snap release channels. I've added your committer e-mail address to the demonstration snap's collaborator list so that you can access the administration pages after login with the Ubuntu One account associated with that address.
Do I have to compile it on a specific version of Ubuntu?
Yes, it depends on the base snap the snap is targeting on, which is currently Ubuntu 18.04.
I have some minimalistic Ubuntu chroot environments which I use for testing purposes, but they are 64-bit only. Would that be enough to push updates?
That will be more or less challenging as the utility of building and pushing snaps, Snapcraft, is mainly distributed via snaps, which is not installable in a chroot environment due to snapd's dependency of systemd.
You can install Snapcraft in distros that are supported by snapd and Mac OS. By default Snapcraft makes use of Multipass to automatically fire up a minimal, clean Ubuntu virtual machine to build the snap.
I personally prefer LXD containers over chroots and VMs for building snaps (and any other development under Linux) locally as I can create snapshots and restore them at any time. Here's a tutorial: How to create a LXD container for snap development - doc - snapcraft.io
From what I understand with snap is that your building in canister or something like it. I never will understand it. if snap wants to be universal time to have there own system not push you to build in those environments. Linux is Linux. the libraries all work the same. playing with snap for a while I came to the conclusion another toy for linux. Slackware has it's own package manager. I see security issues with this down the road. just like malicious PPA's. fun toy to play with.
Hello, unlike the PPAs where the maintenance scripts run as the superuser and can do almost anything to the users' system, snap applications are run in multiple layers of confinement where it can only access the resources allowed by the connected Snapd security confinement interfaces. You can check out the Ubuntu Core Security Whitepaper for more info regarding this topic. :)
Dear maintainer(s),
Snaps are universal Linux packages that can be installed and run on many GNU+Linux distributions with ease. I've been following the Snapcrafters instructions and have built a working snap on the Snap Store, you may try it by running the following commands after installing snapd:
Currently the only feature that is not working is the OpenGL recording, which is technically not seemed to be possible due to the confined and dependency-separated nature of snap apps. In addition to make it build under non i386/AMD64 architectures this feature is currently disabled in the snap.
I'm looking forward to working with you to make the packaging work upstream (if you're interested). You may want to check out the current packaging recipe, the documentation, registering a developer account on the Snap Store, and get in touch with us to transfer the work under your control.
Thanks for your time and attention.