feat(snapcraft_legacy): pack command runs the lifecycle
Metadata
Current evaluation
Merged PR #5616 (commit b511004af) made legacy core20 `snapcraft pack` run the lifecycle like newer bases, fixing issue #5425.
Resolution: closed resolved
Reason: PR #5616 was merged after approval and all reported checks passed. Commit b511004af records the resolution, and the repository history confirms it implemented the requested lifecycle behavior and closed #5425.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `make test`?
---
This PR makes the `snapcraft pack` command for core20 snaps have the same functionality as [core22 and core24 snaps](https://github.com/canonical/snapcraft/blob/a6f87915c8dc7e9d80681fe5178a266c81d26431/snapcraft/commands/lifecycle.py#L67-L74).
Fortunately, the legacy `snapcraft snap` command already had this behavior, so I was able to copy the implementation and tests.
Fixes #5425
(SNAPCRAFT-1046)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #5616 (commit b511004af) made legacy core20 `snapcraft pack` run the lifecycle like newer bases, fixing issue #5425. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged squash PR #5616 (b511004af), making legacy snapcraft pack run the lifecycle for core20 snaps and fixing #5425. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged squash PR #5616 (commit b511004af) makes `snapcraft pack` run the lifecycle for legacy core20 snaps, matching core22/core24 and the old `snapcraft snap` behaviour. Fixes #5425 (SNAPCRAFT-1046); all CI checks passed. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged squash PR #5616 made snapcraft pack run the lifecycle for legacy core20 snaps, matching core22/core24 and fixing #5425. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged squashed PR that aligns the core20 snapcraft pack command with core22 and core24 by running the lifecycle. Approved by three reviewers with all CI checks passing. Resolves #5425. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR aligning core20 snapcraft pack with core22 and core24 lifecycle behavior by adapting legacy snap command logic. Resolves #5425. Unrelated spread failures were noted prior to merge. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#5425
(confidence 100%)
PR #5616 explicitly fixes the core20 `snapcraft pack` lifecycle issue.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5426 `snapcraft pack` should run the lifecycle for core18|20 in Snapcraft 7 | snapcraft | closed | Closed as won't-fix-for-Snapcraft-7 by maintainer mr-cal: legacy core18|20 `snapcraft pack` now runs the lifecycle via merged PR #5616 (b511004af), shipped in Snapcraft 8.11, tracking #5425. | |
| #5425 `snapcraft pack` should run the lifecycle for core20 in Snapcraft 8 | snapcraft | closed | Fixed core20 snapcraft pack behavior in merged PR #5616 (commit b511004af): bare pack now runs the lifecycle, while snapcraft pack <dir> still invokes snap pack. | |
| #55 feat: support 'pack' command | craft-actions | merged | Merged PR #55 as commit abf3fbd, adding version-aware `snapcraft pack` support while retaining legacy `snapcraft` calls for older versions. Fixes #53. | |
| #4589 feat(lifecycle): add deprecated snap command | snapcraft | merged | Merged PR #4589 added a hidden deprecated `snap` lifecycle command that directs users to `pack`; landed as commit fa855f3b3. | |
| #1793261 Vendor legacy snapcraft to maintain backward compatibility | snapcraft (launchpad) | closed | Legacy Snapcraft was vendored into the snapcraft snap, dispatching projects without bases to it. Delivered via merged PRs canonical/snapcraft#2283 (commit f9592939a, override-build refactor) and #2285 (commit 5c1ee3b88). | |
| #5003 Building snap with `core20` failed with non-informative error message | snapcraft | open | The misleading core20 snapcraft-pack error was fixed by merged PR #5616 (commit b511004af), which ran the lifecycle for legacy core20 snaps. | |
| #3981 commands, lifecycle: provide snapcraft try for core22 | snapcraft | merged | Merged in snapcore/snapcraft#3981 (commit 2691262b8), adding snapcraft try for core22 by mounting the host prime directory into the build instance and priming without packing. | |
| #2285 snapcraft snap: vendor legacy snapcraft | snapcraft | merged | Merged in canonical/snapcraft#2285 (commit 5c1ee3b88), vendoring legacy Snapcraft and dispatching no-base projects to it to preserve backward compatibility. |