This is a base snap for snapd that is based on Ubuntu 18.04
To build this snap locally you need snapcraft. The project must be built as real root.
For i386 and amd64
$ sudo snapcraft
For any other architecture we recommend remote-build as multipass has limited support for cross-building, and lack of stable releases for some architectures. To use remote-build you need to have a launchpad account, and follow the instructions here
$ sudo snapcraft remote-build --build-on={arm64,armhf,ppc64el,s390x}
The usual way to add functionality is to write a shell script hook
with the .chroot extenstion under the hooks/ directory. These hooks
are run inside the base image filesystem.
Each hook should have a matching .test file in the hook-tests
directory. Those tests files are run relative to the base image
filesystem and should validates that the coresponding .chroot file
worked as expected.
The .test scripts will be run after building with snapcraft or when
doing a manual "make test" in the source tree.
Once built you can boot it for testing inside qemu and spread. You will need additional tool (see tests/lib/README.md for details). In order to prepare an image for either exploratory manual tests or for spread tests run this command:
$ make update-image
With this available you can either run: spread -debug -v or make -C tests/lib just-boot, depending on what you want to do. The interactive (just
boot) test should allow you to move to VT7 where a root shell awaits.
Each release of the base snap includes a ChangeLog at
/usr/share/doc/ChangeLog that summarises the package updates bundled in
that release, along with the aggregated updates from previous releases.
If the base snap is already installed on the system, the ChangeLog is available
at /snap/core18/current/usr/share/doc/ChangeLog.
You can list all installed revisions with snap list --all core18. To inspect
a specific revision that is not the active one, replace current with the
revision number (e.g. /snap/core18/1234/usr/share/doc/ChangeLog).
You can download a snap without installing it, then extract the ChangeLog from the squashfs image:
# Download the snap
snap download core18
# Extract the changelog into a local directory
unsquashfs -d core18-unpacked core18*.snap usr/share/doc/ChangeLogThe ChangeLog is then available at core18-unpacked/usr/share/doc/ChangeLog.