Snap is the package management system available for the wide range of Linux distributions.
Unlike AppImage, Snap requires a daemon (
snapd) installed in the system in order to operate. Under the hood, Snap is based on
Snap is Canonical initiative. Usually, applications are distributed via snapcraft store, but it’s not mandatory.
Snap provides fine-grained control to system resources (e.g. camera, removable media, network, etc.).
The major advantage is plug-in system, which allows to easily integrate
Snap with different languages and build systems (e.g. CMake, autotools, etc.).
The packaging process could be summed up in the following steps:
- Install the snapcraft
- Edit the
snapcraftin order to produce the snap
- Publish and upload snap, so it could be installed on other systems.
In order to integrate with build process managed with help of the conan, the following steps could be used:
- Use deploy generator (or json generator with custom script) to prepare the assets
- Use the dump plug-in of snapcraft to simply copy the files deployed on previous step into the