5.5.0 changes pack semantics if the project file has different metadata
Metadata
Current evaluation
Charmcraft pack skips repacking when only charmcraft.yaml metadata (e.g. summary, config, platforms) changes, leaving a stale .charm. Triaged and moved to craft-application; workaround is clean. Conditional repacking support added in #1111.
Suggested action: keep open
Reason: Maintainer lengau triaged it (Status: Triaged, Type: Bug), moved it to craft-application, and noted a testcraft spread test should be added when fixed. The root cause is in craft-application's pack-skip logic (needs_packing in services/package.py), where metadata-only changes to the project file are not detected as requiring a repack. Related work #1111 (conditional repacking) and #829 (gate around skipping repack) show active development in this area, but no commit explicitly closes this issue.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
60
Quick Win:
27.0
Staleness:
55
Complexity:
55
Confidence:
70
Support Request:
5
|
keep open | Charmcraft pack skips repacking when only charmcraft.yaml metadata (e.g. summary, config, platforms) changes, leaving a stale .charm. Triaged and moved to craft-application; workaround is clean. Conditional repacking support added in #1111. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
55
Confidence:
85
Support Request:
10
|
keep open | charmcraft pack skips rebuilding when charmcraft.yaml metadata changes, incorrectly reporting Already packed. Issue is triaged, moved to craft-application, and awaiting resolution. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
50
Confidence:
80
Support Request:
10
|
keep open | Pack commands skip rebuilding when project metadata changes, outputting Already packed. Triaged, moved to craft-application, and has a clean command workaround, but has been inactive for over 345 days. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
75
Complexity:
55
Confidence:
85
Support Request:
10
|
keep open | Pack skips rebuilding when project metadata changes, incorrectly reporting "Already packed". Triaged and moved to craft-application for a fix. Users can run clean to force a rebuild. |
Update history
No update history recorded yet.
Related work
-
Related To:
craft-application#1111
(confidence 75%)
feat: add conditional repacking support — directly touches the repack-decision logic in services/package.py that this issue is about.
-
Related To:
craft-application#829
(confidence 70%)
fix(pack): put a gate around skipping repack — earlier fix in the same skip-repack code path.
-
Caused By:
craft-application#810
(confidence 65%)
feat(lifecycle): only pack files if not already packed — introduced the 'Already packed' skip behavior the reporter identified as the regression.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1530 Changing charmcraft.yaml doesn't update the resulting charm's metadata.yaml | charmcraft | open | Bug: editing charmcraft.yaml then re-running `charmcraft pack` does not update the resulting charm's metadata.yaml. Filed by a maintainer (lengau); last comment (2024-09-09) says it's unclear if still reproducible. Related open craft-application#821 describes the same 'Already packed' skip behavior. | |
| #777 Do not modify the charm's project when packing using the reactive plugin (CRAFT-928). | charmcraft | merged | Merged to resolve issue #693. The change prevents the reactive plugin from modifying the charm's project during packing. Approved by one reviewer with zero unresolved comments. Two files modified, netting a 21-line reduction. | |
| #2498 fix: `charmcraft pack --project-dir` with metadata.yaml | charmcraft | closed | Merged fix for charmcraft pack --project-dir failing with legacy metadata.yaml. Resolved by changing the working directory to the project directory before loading and preprocessing configuration files. Resolves issue #2493. | |
| #710 `charmcraft pack` retains no longer existing files from previous packs | charmcraft | open | charmcraft pack includes files deleted from the working directory in the charm archive; clean fixes it. Triaged as a known bug, re-confirmed present in Oct 2024, upstream craft-parts bug filed, per-part clean workaround documented. | |
| #1160 `charmcraft pack` does not recognize updated `charmcraft.yaml` file | charmcraft | open | charmcraft pack ignores updated build-snaps channel in charmcraft.yaml without a clean; tracked as a craft-parts bug (canonical/craft-parts#496, still open) awaiting a dependency patch release to pull into charmcraft. | |
| #2341 Packing a bundle produces a zip that is rejected by charmhub | charmcraft | open | charmcraft 3.x pack produces a bundle zip with metadata.yaml instead of bundle.yaml, so charmcraft upload is rejected by charmhub. A maintainer asked for the charmcraft.yaml on 2025-06-27; no further activity since. | |
| #2705 docs(pack): refer to inline charmcraft.yaml metadata in pack help | charmcraft | merged | Merged documentation update to pack help that replaces legacy metadata.yaml references with modern inline charmcraft.yaml metadata guidance. Approved by two reviewers and passed CI checks. |