snapcraft update won't fetch from SNAPCRAFT_PARTS_URI
Metadata
Current evaluation
Fixed by snapcore/snapcraft PR #1856, which keyed cached parts data by SNAPCRAFT_PARTS_URI so alternate part sources were no longer treated as already current.
Resolution: closed resolved
Reason: The maintainer traced the failure to shared headers.yaml and parts.yaml cache files that ignored SNAPCRAFT_PARTS_URI, then linked PR #1856 as the fix. The change isolates cached data using a hashed URI-derived subdirectory.
Evaluated by: mr-cal-bot
No scores available.
Issue body
I looked into it with Sergio, he pointed out that it's probably because ~/.local/share/snapcraft/headers.yaml says it's already up to date.
Removing the file allows `snapcraft update` to see the right parts.yaml file.
More information about the issue here:
https://bugs.kde.org/show_bug.cgi?id=385062
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by snapcore/snapcraft PR #1856, which keyed cached parts data by SNAPCRAFT_PARTS_URI so alternate part sources were no longer treated as already current. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #1856 (commit 5a0a8c075), which stores remote-parts metadata in a subfolder hashed from SNAPCRAFT_PARTS_URI to prevent stale-cache collisions. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/snapcraft#1856 (commit 5a0a8c075): remote-parts caches are now keyed by a hash of the parts URI, preventing stale headers.yaml from masking a custom parts.yaml. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without code changes. The fetch failure stemmed from a cached headers.yaml file incorrectly marking parts as current. Deleting the cache file resolved the issue, allowing snapcraft to properly retrieve the updated parts.yaml. | |
| qwen/qwen3.6-35b-a3b | — | — | Resolved by clearing a cached headers.yaml file in ~/.local/share/snapcraft/. The report was closed as the stale cache prevents snapcraft update from fetching new parts. No code changes were made. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcore/snapcraft#1856
(confidence 98%)
The linked PR implements URI-specific caching proposed in the maintainer's closing update.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1816 snapcraft update won't fetch from `SNAPCRAFT_PARTS_URI` | snapcraft | closed | Superseded by Launchpad #1719928 and fixed by merged PR #1856 (commit 5a0a8c075), adding URI-specific remote-parts cache folders to prevent stale metadata collisions. | |
| #1719951 SNAPCRAFT_PARTS_URI doesn't work with cleanbuild | snapcraft (launchpad) | closed | Fixed cleanbuild remote-part resolution by forwarding SNAPCRAFT_PARTS_URI into LXD; merged in snapcore/snapcraft#1585 (13ea598d5). | |
| #1778081 Snapcraft saves the fact that parts need to be rebuilt rather than discovering them | snapcraft (launchpad) | closed | Fixed by snapcore/snapcraft PR #2165, replacing persisted dependency-dirty state with dependency rebuild discovery. | |
| #1599856 Use If-Modified-Since instead of If-None-Match when updating the remote parts | snapcraft (launchpad) | closed | Fixed remote-parts cache freshness handling in snapcore/snapcraft#635, committed as f35b0992a, by using Last-Modified/If-Modified-Since. | |
| #841 Replace SNAPCRAFT_PART_INSTALL in the part attributes. | snapcraft | merged | Merged as 6cef6c0f9 via canonical/snapcraft#841, replacing SNAPCRAFT_PART_INSTALL in part attributes with the part-specific install path. | |
| #1628915 SNAPCRAFT_PART_INSTALL is not being replaced when called by the build tools | snapcraft (launchpad) | closed | SNAPCRAFT_PART_INSTALL expansion in part attributes was fixed by merged canonical/snapcraft PR #841 in commit 6cef6c0f9, resolving the malformed nested install paths. | |
| #1670100 Snapcraft includes files from installed snaps in new snap | snapcraft (launchpad) | closed | Fixed by excluding /snap/ paths from crawled dependencies in snapcore/snapcraft PR #1231 (commit 0e9b5a84e). | |
| #1585 lxd: pass SNAPCRAFT_PARTS_URI through into container | snapcraft | merged | Merged in canonical/snapcraft#1585 (13ea598d5), forwarding SNAPCRAFT_PARTS_URI into LXD containers so cleanbuild can resolve remote parts; fixes Launchpad #1719951. | |
| #1583718 snapcraft command doesn't include expected changes | snapcraft (launchpad) | closed | Local source edits now trigger refreshed pull/build steps, fixing stale packaged files; snapcraft#2167 was merged in commit 39c4c39f1. | |
| #1594643 snapcraft update | snapcraft (launchpad) | closed | snapcraft update command implemented in merged PR ubuntu-core/snapcraft#588 (commit b23494269); snapcraft-parser 2.12 published to xenial-proposed, verified by elopio (verification-done), then released to xenial-updates; bug closed. |