Vendor legacy snapcraft to maintain backward compatibility
Metadata
Current evaluation
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).
Resolution: closed resolved
Reason: The two-step plan in the closing comments was implemented: PR #2283 (commit f9592939a) refactored override-build into a script to cut duplication, and PR #2285 (commit 5c1ee3b88, "snapcraft snap: vendor legacy snapcraft") vendored legacy snapcraft and dispatches no-base projects to it. Both merged and the LP bug was closed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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). | |
| stealth/space-bunny-alpha | — | closed resolved | Legacy Snapcraft was vendored, with no-base projects dispatched to it for backward compatibility. Merged in canonical/snapcraft#2285 as 5c1ee3b88. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by PR snapcore/snapcraft#2285 (commit 5c1ee3b88), vendoring legacy Snapcraft and using it when snapcraft.yaml has no base. | |
| stealth/space-bunny-alpha | — | closed resolved | Preserved pre-base compatibility by vendoring legacy Snapcraft. PR canonical/snapcraft#2285 merged as 5c1ee3b88, dispatching to legacy when snapcraft.yaml has no base. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposal to vendor legacy snapcraft for backward compatibility was abandoned or superseded by newer architecture, receiving no further discussion or action. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposal to vendor legacy snapcraft for backward compatibility was abandoned. No comments or resolution details were provided, indicating the approach was likely superseded by later snapcraft architecture changes. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposal to vendor legacy snapcraft for backward compatibility was abandoned or superseded by alternative compatibility measures. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Vendoring legacy snapcraft to maintain backward compatibility was closed without implementation. Zero comments indicate the suggestion was abandoned. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#2285
(confidence 96%)
Merged as commit 5c1ee3b88; vendored legacy snapcraft and dispatches no-base projects to it, directly implementing the requested dispatch behavior.
-
Related To:
snapcraft#2283
(confidence 92%)
Merged as commit f9592939a; prerequisite refactor of override-build into a script to reduce snapcraft.yaml duplication ahead of vendoring.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #3608 many: rename snapcraft package to snapcraft_legacy (CRAFT-726) | snapcraft | merged | Merged PR #3608 renamed the existing snapcraft package to snapcraft_legacy, freeing the snapcraft name for a craft-library-based application while leaving its entry point unchanged. | |
| #4194 Migrate snapcraft_legacy subcommands to use craft-cli | snapcraft | closed | Requested legacy-handler bypass was abandoned; verbosity support landed in #5646/#5680, and snapcraft_legacy was later removed in ffb164b7a. | |
| #5682 Remove legacy help and version code | snapcraft | closed | Merged PR #5777 removed the unused snapcraft_legacy help/version commands and their tests; the legacy package was later removed wholesale for Snapcraft 9. | |
| #4090 snapcraft_legacy: inject current snapcraft snap into instances | snapcraft | merged | Merged #4090 as d680b8437, enabling snapcraft_legacy to inject the current Snapcraft snap into build instances for core18 and core20 snaps. | |
| #5616 feat(snapcraft_legacy): pack command runs the lifecycle | snapcraft | merged | Merged PR #5616 (commit b511004af) made legacy core20 `snapcraft pack` run the lifecycle like newer bases, fixing issue #5425. | |
| #5982 Trim down snapcraft_legacy and plan migration effort | snapcraft | closed | Superseded by a revised plan to migrate store commands first, then delete snapcraft_legacy; the package was later removed in ffb164b7a and 995f0a3bc. | |
| #1647699 Support classic building in snapcraft | snapcraft (launchpad) | closed | Classic-snap builds were implemented by merged snapcore/snapcraft#949 (commit 058f5626d), resolving libraries from the core/base snap. | |
| #2311 snap: legacy needs to now it is legacy for re-exec | snapcraft | merged | Merged #2311 fixed root re-exec invoking legacy Snapcraft with the correct interpreter, resolving LP #1795501. | |
| #3609 tests: move legacy snapcraft tests (CRAFT-728) | snapcraft | merged | Merged PR #3609 in commit a71aeff54, moving snapcraft_legacy unit tests from tests/unit to tests/legacy to match the package rename. |