lz4/contrib/snap/README.md
Edward Hope-Morley bd5869a5aa Add snap packaging support
This commit adds a snapcraft.yaml file to allow lz4
to be distributed as a snap (see https://snapcraft.io/
for more info on snaps).

Building the Snap
-----------------

To build the snap simply install snapcraft and build the
snap e.g. on Ubuntu by doing:

$ sudo apt install snapcraft
$ cd contrib; snapcraft

This will build a snap that can be published [1] to
e.g. https://snapcraft.io/lz4

If you want to test the snap before publishing you
can do:

$ snap install <snapname>.snap --dangerous

And that will install it on your local host. You
will then have lz4 as a command to run.

Installing the Snap
-------------------

Once published and released in the snapstore your snap
can be installed on any platform that supports snaps
by doing:

snap install lz4

[1] https://docs.snapcraft.io/releasing-to-the-snap-store
2018-12-12 17:16:01 +00:00

1.1 KiB

Snap Packaging

This directory contains the config required to generate a snap package of lz4. Snaps are universal Linux packages that allow you to easily build your application from any source and ship it to any Linux distribution by publishing it to https://snapcraft.io/. A key attribute of a snap package is that it is (ideally) confined such that it executes within a controlled environmenti with all its dependencies bundled with it and does not share dependencies with of from any other package on the system (with a couple of minor exceptions).

The basic anatomy and workflow is:

  • ensure snap.snapcraft.yaml is up-to-date e.g. with version info

  • build the snap by installing the snapcraft package and running it

  • push snap/* changes to the repo (excluding any crud generated by a build of course)

  • register yourself as owner of lz4 name in snapstore

  • publish new snap to the snap store

  • install snap by doing 'snap install lz4' on any Linux distro

  • all installed copies of lz4 will be automatically updated to your new version

For more information on Snaps see https://docs.snapcraft.io and https://forum.snapcraft.io/