← Back to issue list

fix: Make `stage-packages` deterministic

View original Github issue

Metadata

Project
craft-parts
Number
#1752
Type
pull request
State
merged
Author
carlcsaposs-canonical
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #1752 in commit 26f4b35e, preserving stage-packages input order during deduplication and APT marking to make resolution deterministic; fixes #1751.

Resolution: closed resolved

Reason: PR #1752 was merged as commit 26f4b35e. It preserves user-provided package order in Deb.stage_packages and AptCache.mark_packages, resolving the nondeterministic resolution reported in #1751.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Fixes https://github.com/canonical/craft-parts/issues/1751 Assisted-by: z-ai/glm-5.3

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #1752 in commit 26f4b35e, preserving stage-packages input order during deduplication and APT marking to make resolution deterministic; fixes #1751.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 20
Complexity: 40
Confidence: 75
Actionability: 60
needs review Fixes nondeterministic stage-packages resolution (issue #1751) by making apt package marking order deterministic in deb.py/apt_cache.py; +98/-9 across 5 files. Approved by one reviewer but has 1 unresolved review comment; OSV-scanner check failing, several slow-test checks pending.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 21
Complexity: 35
Confidence: 75
Actionability: 60
needs review Fixes nondeterministic stage-packages (issue #1751) by making apt package marking order deterministic. +98/-9 across 5 files. Approved by 1 reviewer, 1 unresolved review comment. CI: OSV-scanner failing, 10 arch-specific jobs pending.
qwen/qwen3.8-27b
Impact: 50
Quick Win: 15
Complexity: 40
Confidence: 70
Actionability: 50
needs review Fixes nondeterministic stage-packages (issue #1751) by making apt package marking order deterministic in apt_cache.py/deb.py; +95/-9 across 5 files with tests. Review pending, 1 unresolved comment, 7 CI jobs failing (author claims unrelated).
qwen/qwen3.8-27b
Impact: 50
Quick Win: 21
Complexity: 25
Confidence: 75
Actionability: 55
needs review Fixes nondeterministic stage-packages (issue #1751) by making apt package marking order deterministic. Small focused diff (+95/-9, 5 files). Awaiting first review; 7 CI jobs failing, author says unrelated.
qwen/qwen3.8-27b
Impact: 60
Quick Win: 15
Complexity: 45
Confidence: 65
Actionability: 45
needs review Fixes nondeterministic stage-packages (issue #1751) by making apt package marking order deterministic. +95/-9 across 5 files; fresh PR with no review yet; 7 CI checks failing (OSV-scanner, Minimum dependencies, plugin slow tests) and 2 pending.

Update history

Date Change
merged
updated
updated
updated
updated
updated
updated
updated
updated
created

Related work

  • Related To: canonical/craft-parts#1751 (confidence 100%)

    The linked issue describing nondeterministic stage-packages resolution was fixed by this PR.

Related issues

Issue Project State Summary Similarity
#834 fix: use partitions for stage-packages tracking craft-parts merged Merged PR #834 as 4cbc6006, making stage-package tracking search primed files across partitions and fixing #804 for common cases; duplicate files across partitions remain unsupported.
74%
#1751 `stage-packages` is nondeterministic craft-parts closed Fixed by preserving user-specified stage-package order before APT marking; commit 26f4b35e uses list(dict.fromkeys(package_names)), removing hash-seed-dependent dependency selection.
72%
#234 executor: fix update build stage packages craft-parts merged Merged PR #234 via d498420e (implementation 40c0a2d1), aligning update-build stage-package handling and preventing unpacked part files from being deleted.
72%
#2119 repo: automatically prune unneeded stage-packages snapcraft merged Merged as b9faf80bd, adding APT cache analysis to remove automatically installed stage-packages left unneeded after alternative dependency resolution.
70%