snap packaging: fetch remote icons configured via appstream
Metadata
Current evaluation
Merged PR #3241 (commit 5158fe2fd, 'meta: fetch remote icons configured via appstream') by cjp256: consolidated icon handling into _finalize_icon() and allowed http(s) URLs in the icon schema.
Resolution: closed resolved
Reason: The PR was approved and merged into main as commit 5158fe2fd, which added _finalize_icon() in snapcraft/parts/setup_assets.py to fetch remote http(s) icons from appstream metadata and relaxed schema validation to accept remote URLs. The function is present in the current codebase, confirming the change shipped.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- Consolidate various icon handling into _finalize_icon()
in _SnapPackaging.finalize_icon().
- Add support for http(s) URLs to 'icon' schema to allow for
validation for remote URLs once merged. To be clear, this
has the effect of allowing http(s) URLs in snapcraft.yaml.
Alternatively, we would either need to resolve it earlier
before the validation, or drop the schema validation check
on 'icon' after the appstream merge. The approach taken
here was to make behavior consistent.
- Add spread test for coverage.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #3241 (commit 5158fe2fd, 'meta: fetch remote icons configured via appstream') by cjp256: consolidated icon handling into _finalize_icon() and allowed http(s) URLs in the icon schema. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged snap packaging support for downloading AppStream-configured remote icons, consolidating icon handling and allowing validated HTTP(S) icon URLs in snapcraft.yaml. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Implements remote icon fetching for appstream-configured http(s) URLs, consolidates icon handling into _finalize_icon(), updates schema validation, and adds spread tests. Approved by reviewer and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds support for fetching remote http(s) icons configured via AppStream in snap packaging. Consolidates icon handling into _finalize_icon(), updates schema validation, and includes a spread test. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2512 many: better handling of appstream icons | snapcraft | merged | Merged in PR #2512 (commit 9e8601b80): AppStream stock icons are resolved at packaging time, with desktop-file icons used as fallback. | |
| #3380 snap packaging: fix broken path check when copying local icon | snapcraft | merged | Merged PR #3380 fixed copying local icons referenced by desktop files and added spread-test coverage for the previously missed AppStream path. | |
| #1742348 support remote icons | snapcraft (launchpad) | closed | Remote AppStream icon support was implemented in canonical/snapcraft#3241 and merged as commit 5158fe2f, fetching icons into snap GUI metadata. |