Thank Kenneth,

On Oct 4 2018, at 3:07 pm, Kenneth Loafman <[email protected]> wrote:
>
> Here's the checklist I use. Launchpad handles the build process to make 
> .deb's. What's a snap package?
Very helpful, thank you.
Snaps are conceptually similar to Flatpak packages, if you are more familiar 
with those, but are the preferred choice for Ubuntu users (though they run on 
most distributions), are generally considered easier for developers to create 
and the tools to make them look to be built into Launchpad (I see a "recipe" 
option for Snaps similar to how it sounds like you are building the debs). 
Compared to what we do today, I see the following advantages:
All dependencies are included within the package, so we can be sure all 
users/bug reporters are using the same set of packages we are using/testing on. 
This includes all the runtime requirements, including the exact versions of 
system libraries and the Python interpreter 
(https://docs.snapcraft.io/build-snaps/python).

We can ship the same version of the app (using whichever versions of 
dependencies we like) for nearly all distros and versions of Ubuntu: 
https://docs.snapcraft.io/core/install - we may still choose to build selected 
.debs, but I am hoping this will stop all the work you have to do each release 
for all the old Ubuntu versions.

It is easy (and more secure) for users to install up-to-date versions of our 
app on old releases (e.g. "snap install duplicity --classic"), as compared to 
adding PPAs and keys.

Snaps have a built-in channel model 
(https://docs.snapcraft.io/reference/channels), so we can manage the concepts 
of stable, beta and edge as distinct from our 0.7, 0.8 series concepts. We can 
discuss this separately, but we could, for example, move to a model where we 
have a single series (0.8) and declare a version "stable" if it has been in 
Beta with no issues for x months. Maintaining two series is more work and all 
the backporting risks breaking our "stable" with changes that have not had much 
testing.

If you are interested more generally in the advantage of snaps, this old talk 
by Mark Shuttleworth: https://www.youtube.com/watch?v=0z3yusiCOCk and the 
Snapcraft site https://snapcraft.io/ are good resources.

Snaps are the recommended app package for anything that traditionally changed 
enough to warrant a PPA (instead of people using the version that shipped with 
the release) and actually a lot of the apps that ship with Ubuntu are moving 
that way to disconnect app updates from OS upgrades (similar to how things work 
in smartphones etc).
While I have been looking at this for a while, I have not personally ever built 
a substantive Snap package, so no promises. I will let the list know if I 
manage to put together anything usable.
Kind regards,
Aaron
_______________________________________________
Mailing list: https://launchpad.net/~duplicity-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~duplicity-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to