Releases: canonical/snapcraft
7.2.8
What's Changed
- tests: allow local git submodules by @cmatsuoka in #3979
- lifecycle: fix double emit.pause() call by @mr-cal in #3982
- linters: fix classic linter interpreter warning by @cmatsuoka in #3978
Full Changelog: 7.2.7...7.2.8
7.2.7
What's Changed
Full Changelog: 7.2.6...7.2.7
7.2.6
What's Changed
Full Changelog: 7.2.5...7.2.6
7.2.5
What's Changed
Full Changelog: 7.2.4...7.2.5
7.2.4
7.2.3
7.2.2
What's Changed
- onprem store: support new credentials format by @sergiusens in #3955
Full Changelog: 7.2.1...7.2.2
7.2.1
What's Changed
- legacy/plugins: improve nil plugin docstring by @cmatsuoka in #3949
- providers: capture logs with debug-level logging by @mr-cal in #3950
Full Changelog: 7.2.0...7.2.1
7.2.0
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
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
- linters: add linting infrastructure by @cmatsuoka in #3847
- lint: lint legacy code with isort by @mr-cal in #3852
- lint: lint legacy code with black by @mr-cal in #3853
- lint: lint legacy code with flake8 by @mr-cal in #3854
- linters: add classic confinement linter by @cmatsuoka in #3849
- Release/7.1 merge by @sergiusens in #3861
- store: move package out of commands by @sergiusens in #3862
- whoami command: account for missing expires by @sergiusens in #3863
- Add binding for amdgpu.ids by @sergio-costas in #3859
- names command: move presentation logic to StoreClientCLI by @sergiusens in #3864
- plugins command: support for core22 by @sergiusens in #3870
- meta: get content provider dirs from snap metadata by @cmatsuoka in #3871
- linters: add missing library linter by @cmatsuoka in #3872
- lint: lint legacy code with black by @mr-cal in #3865
- meta: fix content plug detection by @cmatsuoka in #3874
- store: on prem base client by @sergiusens in #3880
- extensions: replace execs with source by @sergio-costas in #3869
- ua: add support to ua token management by @cmatsuoka in #3883
- store: initial support for an onprem store by @sergiusens in #3885
- store: support status for an onprem store by @sergiusens in #3887
- Hotfix/7.1.2 merge by @sergiusens in #3888
- Write passthrough to meta data and add some missing fields by @valentindavid in #3882
- DT-500 Fix Cups for Gtk support in Gnome-42 by @sergio-costas in #3867
- ua: specify and enable ua services by @cmatsuoka in #3886
- ua: enable ua services in legacy by @cmatsuoka in #3890
- store: support close for an on prem store by @sergiusens in #3892
- Merge 7.1.3 release by @sergiusens in #3894
- Hotfix/7.1.4 merge by @sergiusens in #3900
- config: add snap config model by @mr-cal in #3898
- store: on prem support for list-revisions by @sergiusens in #3901
- commands: update lifecycle docstrings by @cmatsuoka in #3902
- providers: choose default provider from snap config for core 22 by @mr-cal in #3899
- providers: choose legacy default provider from snap config by @mr-cal in #3903
- providers: pass http-proxy and https-proxy to craft-providers by @mr-cal in #3906
- parts: minor refactoring in instance log capture by @cmatsuoka in #3905
- tests: minor refactoring in shell/shell-after tests by @cmatsuoka in #3904
- parts: use part validator from craft-parts by @cmatsuoka in #3909
- tests unit: add for on prem store list-revisions by @sergiusens in #3908
- store: improve error message for 401 error by @sergiusens in #3907
- unit tests: minor improvement to fixture usage by @sergiusens in #3910
- requirements: update craft-providers to 1.4.2 by @mr-cal in #3911
- discovery.py: correct comment, "extensions" should say "plugins" by @rpjday in #3912
- build(deps): bump oauthlib from 3.2.0 to 3.2.1 by @dependabot in #3914
- legacy: install unpinned build packages by @cmatsuoka in #3915
- cli: move remote build out of legacy by @sergiusens in #3919
- schema: allow the gnome extension by @sergiusens in #3920
- store: correctly logout when credentials are invalid for legacy by @sergiusens in #3921
- providers: move
get_instance_name()
to providers.py by @mr-cal in #3926 - requirements: update craft-parts to 1.14.2 by @cmatsuoka in #3924
- providers: move
get_command_environment()
to providers.py by @mr-cal in #3927 - build(deps): bump protobuf from 3.20.1 to 3.20.2 by @dependabot in #3923
- test_pip.py: correct typo "enviroment" consistently so things keep wo… b...
7.1.4
What's Changed
- cli: disable log filename report in managed hosts by @cmatsuoka in #3891
- requirements: update craft-providers to 1.4.1 by @mr-cal in #3896
- cli: graciously handle keyboard interrupt by @cmatsuoka in #3897
- parts: allow debug shell after the lifecycle by @cmatsuoka in #3895
Full Changelog: 7.1.3...7.1.4