← Back to issue list

Stage package fetching progress is useless

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1663365
Type
issue
State
closed
Author
~kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

Fixed by merged snapcore/snapcraft#1949 (commit 54323e13b), restoring aggregate stage-package fetch progress while suppressing deb-cache output.

Resolution: closed resolved

Reason: The maintainer linked resolution to PR #1949, which merged as commit 54323e13b and reimplemented fetch_binary to provide useful progress without noisy deb-cache output.

Evaluated by: mr-cal-bot

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
stealth/space-bunny-alpha — closed resolved Fixed by merged snapcore/snapcraft#1949 (commit 54323e13b), restoring aggregate stage-package fetch progress while suppressing deb-cache output.
stealth/space-bunny-alpha — closed resolved Merged PR #1949 added aggregate progress reporting for stage-package downloads, resolving the lack of overall fetch progress.
stealth/space-bunny-alpha — closed stale Stage-package fetching progress was closed without resolution; no fixing PR, replacement implementation, or maintainer explanation was recorded.
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

Date Change
created

Related work

Related issues

Issue Project State Summary Similarity
#1661383 stage package cache no longer working snapcraft (launchpad) closed Stage-package cache reuse was restored: snapcraft PR #1122 (commit 20b422459, 'repo: cache stage packages for faster future use') merged, reusing cached debs and copying the apt cache into cleanbuild containers, closing LP #1661383.
71%