← Back to issue list

Do not run apt update in a compulsive way

View original Github issue

Metadata

Project
craft-parts
Number
#566
Type
issue
State
open
Author
sergiusens
Labels
—
Created
Updated
Closed
—

Current evaluation

Debian builds still refresh apt metadata implicitly when requested packages are missing, which can fail managed environments despite pre-updated images; the issue remains open.

Suggested action: keep open

Reason: The executor still invokes package installation with the default refresh_package_cache=True, and the Debian implementation calls refresh_packages_list when a requested package is not installed, leaving the reported implicit apt-get update path active. Commit 425a84f1 and PR #752 only skip refreshes for non-superusers; despite missing labels and only an autogenerated Jira comment, this maintainer-authored defect remains valid and open.

Evaluated by: mr-cal-bot

Impact: 52 Quick Win: 17 Complexity: 55 Confidence: 84 Actionability: 72

Issue body

### Bug Description Apt update is always run, this makes little sense as in: - managed mode, we are provided with an updated environment - in host mode, we can update if required ### To Reproduce setup a craft project that requires apt packages ### part yaml ```shell parts: hello: plugin: autotools source: https://ftp.gnu.org/gnu/hello/hello-2.12.1.tar.gz ``` ### Relevant log output ```shell Initialising lifecycle :: Unknown error: Failed to refresh package list: failed to run apt update. ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 52
Quick Win: 17
Complexity: 55
Confidence: 84
Actionability: 72
keep open Debian builds still refresh apt metadata implicitly when requested packages are missing, which can fail managed environments despite pre-updated images; the issue remains open.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 12
Complexity: 50
Confidence: 75
Actionability: 55
keep open Maintainer report that craft-parts runs apt update unconditionally at lifecycle start, causing hard failures in managed mode where the environment is already updated. Code still refreshes package lists in several paths; no fix found. Open, unlabelled, no maintainer response.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 90
Actionability: 80
close resolved Issue requesting that apt update not run compulsively in managed/host mode. Fixed by PR #752 which now only runs apt update as superuser.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 70
Complexity: 55
Confidence: 55
Support Request: 10
needs triage craft-parts runs apt update compulsively during lifecycle, which fails in managed mode and is unnecessary in host mode. Reported 1050 days ago; code has since evolved (superuser guard, lru_cache, conditional refresh) but no maintainer has responded or labelled it.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 22
Staleness: 75
Complexity: 45
Confidence: 70
Support Request: 10
needs triage Maintainer-reported design concern that apt update runs unconditionally during builds. Code has since evolved to make refresh conditional (only when install required, superuser-only, LRU-cached), but issue remains open with no triage or maintainer response in 17+ months.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 25
Confidence: 85
Support Request: 10
close stale Unnecessary apt update execution causing failures in managed and host modes. Open for nearly 3 years with no maintainer response or progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 92
Complexity: 40
Confidence: 75
Support Request: 10
close stale Unnecessary forced apt update during lifecycle initialization causes failures. Reported by a maintainer, lacks labels, and has seen no activity or maintainer response in over a year.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#752 (confidence 90%)

    Merged commit 425a84f1 makes apt update conditional on superuser, but does not remove the default cache refresh for root or establish a managed-versus-host policy.

Related issues

No related issues found above the similarity threshold.