A snap’s executable is exposed to the host system via the top-level
apps section of snapcraft.yaml. Its name needs to correspond with with part name responsible for staging the executable within your snap.
For example, here’s a complete snapcraft.yaml for a fully-functional snap:
name: os-release base: core18 version: '0.1' summary: Outputs the contents of /etc/os-release description: Prints the contents of os-release grade: stable confinement: strict apps: part-os-release: command: bin/os-release.sh part: part-os-release: plugin: dump source: . organize: os-release.sh: bin/
The above example creates a snap from the following simple script, called
os-release.sh, and located within the top-level snap of the directory:
#! /bin/sh cat /etc/os-release
os-release.sh executable is brought into the snap via
part-os-release, which is a part using the dump plugin. It then uses
organize to to copy the os-release.sh file into the snap’s
bin/ directory before the top-level apps section exposes the
bin/os-release.sh executable to the host system
Last updated a month ago. Help improve this document in the forum.