snapcraft snap: vendor legacy snapcraft
Metadata
Current evaluation
Merged in canonical/snapcraft#2285 (commit 5c1ee3b88), vendoring legacy Snapcraft and dispatching no-base projects to it to preserve backward compatibility.
Resolution: closed resolved
Reason: PR #2285 was merged as commit 5c1ee3b88, resolving LP: #1793261 by vendoring legacy Snapcraft and using it when snapcraft.yaml specifies no base. PR #2283 provided the related prerequisite refactor.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
This PR resolves [LP: #1793261](https://bugs.launchpad.net/snapcraft/+bug/1793261), continuing support for the lack of a base by vendoring legacy snapcraft into the snapcraft snap and dispatching to it if there is no base specified in the snapcraft.yaml.
**Note:** These tests will fail until #2283 lands in legacy.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/snapcraft#2285 (commit 5c1ee3b88), vendoring legacy Snapcraft and dispatching no-base projects to it to preserve backward compatibility. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #2285 as 5c1ee3b88: vendored legacy snapcraft into the snapcraft snap and dispatched to it when snapcraft.yaml specifies no base, resolving LP: #1793261. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #2285 (commit 5c1ee3b88), vendoring legacy Snapcraft into the snapcraft snap and dispatching to it when snapcraft.yaml has no base, resolving LP #1793261. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Vendored legacy snapcraft into the snapcraft snap to resolve LP: #1793261, maintaining support when no base is specified in snapcraft.yaml. Approved by one reviewer and passed CI checks prior to integration. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Vendored legacy snapcraft into the snapcraft snap to resolve LP: #1793261, enabling fallback dispatch to the legacy version when snapcraft.yaml lacks a base specification. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#2283
(confidence 100%)
Prerequisite refactor identified in the PR description and merged as f9592939.
-
Related To:
snapcraft (launchpad)#1793261
(confidence 100%)
Launchpad bug explicitly resolved by this merged change.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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). | |
| #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. | |
| #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. | |
| #3087 meta: remove snapd workaround for classic for core20 onwards | snapcraft | merged | Merged canonical/snapcraft#3087 as commit 244b997ca, removing the automatic classic snapcraft-runner workaround for core20 and newer while retaining it for legacy bases. | |
| #1073 project: snapcraft.yaml in a snap directory | snapcraft | merged | Merged in commit 78f3d4fe3: new projects default to snap/snapcraft.yaml while both legacy manifest locations remain supported. | |
| #3616 cli: create new snapcraft entry point (CRAFT-729) | snapcraft | merged | Merged #3616, adding a new Snapcraft CLI entry point that initially delegates to the legacy implementation; dispatch logic was deferred to future work (merge 6d233500c). | |
| #1939713 snapcraft init create base: core18 snap | snapcraft (launchpad) | closed | Snapcraft init was updated to scaffold core20 instead of core18 by merged canonical/snapcraft#3587 (merge commit f91632aab). | |
| #2283 snapcraft snap: refactor override-build into a script | snapcraft | merged | PR #2283 merged as commit f9592939a, moving the Snapcraft snap's override-build logic into a script to reduce snapcraft.yaml duplication ahead of self-vendoring. | |
| #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. | |
| #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. |