github canonical/snapcraft 7.2.0

latest releases: 8.4.3, 8.4.2, 7.5.7...
pre-release2 years ago

Snapcraft 7.2.0

Snap Linting

This feature is applicable for those using core22 as a base. The resulting snap is now linted with messages to help out with resolving the issue.

Linters

classic

This is mostly a rework of the mix of behavior with classic confinement that automatically patched binaries, welcomed by some, fraught by others, to a more indicative message of what needs to happen for a snap to work properly in classic.

Output from this linter will look as follows:

Running linter: classic
Lint OK:
- classic: Snap confinement is set to classic.
Lint warnings:
- classic: usr/bin/toilet: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/bin/toilet: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'.
- classic: usr/lib/x86_64-linux-gnu/caca/libgl_plugin.so.0.0.0: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/lib/x86_64-linux-gnu/caca/libgl_plugin.so.0.0.0: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'.
- classic: usr/lib/x86_64-linux-gnu/caca/libx11_plugin.so.0.0.0: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/lib/x86_64-linux-gnu/caca/libx11_plugin.so.0.0.0: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'.
- classic: usr/lib/x86_64-linux-gnu/libcaca++.so.0.99.19: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/lib/x86_64-linux-gnu/libcaca++.so.0.99.19: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'.
- classic: usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'.
- classic: usr/lib/x86_64-linux-gnu/libslang.so.2.3.2: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'.
- classic: usr/lib/x86_64-linux-gnu/libslang.so.2.3.2: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'.

library

This linter reports missing library dependencies.

The output looks as follows:

Running linter: library
Lint warnings:
- library: my-app: missing dependency 'libcaca.so.0'.
- library: my-app: missing dependency 'libslang.so.2'.

Future iterations of this linter will warn of unused libraries too.

Disabling

Linting can be disabled per lint type or for a specific file path.

To completely disable a linter type, set the following at the root of your snapcraft.yaml:

lint:
  ignore:
    - library

To disable linting for a specific file path for a linter, set the following at the root of your snapcraft.yaml:

lint:
  ignore:
    - classic:
	    - usr/lib/x86_64-linux-gnu/libcaca.so.0.99.19

Switching the default provider

Linux users of Snapcraft can now switch the default provider (LXD) to Multipass. Do to so, run:

snap set snapcraft provider=multipass

To go back to LXD, run:

snap set snapcraft provider=lxd

Store

Validation Sets

Incorrecly YAML formated Validation Sets or those not completely accepted by the store can now be interactively edited for further iteration

asciicast

On Prem Store

Supported commands are:

  • upload
  • release
  • list-revisions
  • close
  • status
  • login
  • export-login
  • logout
  • whoami

To work with a deployed on premises store, the following must be set:

  • STORE_DASHBOARD_URL=http[s]://<store-IP>/publishergw
  • STORE_UPLOAD_URL=http[s]://<store-IP>
  • SNAPCRAFT_STORE_AUTH=onprem

Credentials Format

Snapcraft 7.2 now outputs a new standard (to the tools that require it) export login. This format is usable by Ubuntu Image and Snapd.

Existing exported credentials remain compatible, however these newly exported tokens are not backwards compatible with versions lower than Snapcraft 7.2.0.

All changes

New Contributors

Full Changelog: 7.1.4...7.2.0

Don't miss a new snapcraft release

NewReleases is sending notifications on new releases.