Stage package fetching progress is useless
Metadata
Current evaluation
Closed without resolution. The stage package fetching progress issue, caused by fetch_archives() filename mangling breaking cache lookups, was abandoned. No fix or alternative implementation was developed.
Suggested action: —
No scores available.
Issue body
When Snapcraft fetches stage packages, as of 2.27 it does it individually, which doesn't provide an overall picture of how long pulling all of them will take. This is because fetch_archives(), the method used to do it previously, messes with some filenames so fetching from the cache didn't work. For example:
>>> import snapcraft.internal.repo as repo
>>> r = repo.Ubuntu('/tmp/foo')
>>> with r._apt.archive('/tmp/cache') as apt_cache:
....... p = apt_cache['cpp']
....... p.mark_install()
....... apt_cache.fetch_archives()
Results in 'cpp_4%3a5.3.1-1ubuntu1_amd64.deb' being fetched. Whereas:
>>> import snapcraft.internal.repo as repo
>>> r = repo.Ubuntu('/tmp/foo')
>>> with r._apt.archive('/tmp/cache') as apt_cache:
....... p = apt_cache['cpp']
....... p.candidate.fetch_binary(<downloaddir>)
Results in cpp_5.3.1-1ubuntu1_amd64.deb being fetched.
Using fetch_binary isn't ideal for the reasons stated above. A better method could be to store files in the cache by hash, but that adds overhead that should be unnecessary. Some investigation into fetch_archives() may be warranted.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The stage package fetching progress issue, caused by fetch_archives() filename mangling breaking cache lookups, was abandoned. No fix or alternative implementation was developed. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. Closed without comments or linked PRs. The stage package fetching progress issue remains unfixed, likely superseded by later Snapcraft versions that updated the fetching logic. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution due to prolonged inactivity. The reported Snapcraft stage package fetching progress and cache handling issue was abandoned, leaving the optimization request unaddressed. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Abandoned due to prolonged inactivity. The stage package fetching progress issue, caused by fetch_archives() filename mangling breaking cache lookups, remains unfixed. No comments or follow-up actions were recorded. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1661383 stage package cache no longer working | snapcraft (launchpad) | closed | Closed without resolution. Stage package cache regression remains unfixed, likely abandoned due to inactivity. | |
| #3110 repo: use persistent cache for fetching stage packages | snapcraft | closed | Proposed persistent caching for stage packages was closed without merging. Unresolved design questions regarding cache purging and location, alongside a lack of reviewer feedback, resulted in the changes being abandoned. |