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/