couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Hall <>
Subject CouchDB 2.0 as Snap
Date Mon, 19 Sep 2016 01:47:08 GMT
First off, congratulations on the upcoming 2.0 release!

I would love to see this new version available as a Snap package for
users of Ubuntu 16.04 LTS, since the archive version will be frozen on
1.6.0 for the next 5 years of it's lifecycle.

Snaps are self-contained packages that include all of the dependencies
they need, which lets them run as you (the upstream) intended across new
releases of Ubuntu, Debian, Arch, and many other distros. They run in a
sandbox that protects them from changes made to the user's system, but
with a number of optional interfaces if you need deeper interaction or
to share data with other apps.

Every snap includes its own file tree, and is run on top of the same
base image regardless of distro or form factor. This keeps the
application's own files isolated from other apps and the host system, in
a read-only filesystem, which makes updating them safe and simple while
keeping you in control of the whole stack that your application runs on.
The snappy runtime then provides writable areas for storing both
versioned and unversioned data, as well as system-wide or per-user data.

We also provide a Snap Store, which combines the speed of
self-publishing with the discoverability of a central archive. It is
used by default across all Ubuntu 16.04 flavors and derivatives, and any
distro where snaps have been enabled. Thanks to Snap's confinement,
applications can be published immediately after uploading. This means
that your application and updates are available to tens of millions of
users as soon as you press the button.

I started the work on producing a Snap package for Couchdb 2.0, but as I
couldn't find a binary release I had to try building it from source and
unfortunately I was not successful on that step. I am happy to share my
packaging configuration with anybody here who knows the build process
better than me, but it would be even simpler to create the snap package
at the end of whatever process you already have to build binary
releases. I am happy to help with either or both approaches, and you can
also learn more about the snap format and tools here:

Michael Hall

View raw message