cli: use snap pack instead of mksquashfs
Metadata
Current evaluation
Merged in snapcore/snapcraft#3173 (63bc74cba), replacing direct mksquashfs packaging with snap pack and removing the obsolete skeleton-check flow.
Resolution: closed resolved
Reason: The approved pull request was merged as commit 63bc74cba. It moved packaging to snap pack, aligned behavior with snapd, and removed obsolete fixtures while documenting the Windows limitation.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Moving to using snap pack for everything as agreed with the snapd team.
This makes it easy to ensure snapcraft is not deviating from snapd
standards. Additionally, --check-skeleton is no longer needed as snap
pack does that out of the box.
Some test fixtures were killed along the way.
The code was moved to snapcraft.cli as most of the implementation left
in lifecycle.pack was mostly presentation related.
The downside here is that this makes it harder to support some commands
in Windows, but luckily Snapcraft for Windows is yet unreleased and the
broken commands (pack and upload-metadata) can eventually be
passthroughed through multipass.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in snapcore/snapcraft#3173 (63bc74cba), replacing direct mksquashfs packaging with snap pack and removing the obsolete skeleton-check flow. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #3173 as commit 63bc74cba, replacing direct mksquashfs use with snap pack and removing the obsolete --check-skeleton option. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3173 in commit 63bc74cba, replacing mksquashfs with snap pack, removing --check-skeleton, and moving CLI implementation to snapcraft.cli. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Replaced mksquashfs with snap pack, aligning with snapd standards and removing the --check-skeleton flag. Code refactored into snapcraft.cli. Windows support deferred to multipass. Approved and merged after passing CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged PR switching CLI packaging from mksquashfs to snap pack to align with snapd standards. Removes --check-skeleton as snap pack handles validation natively. Code moved to snapcraft.cli. Windows support temporarily limited. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1891 lifecycle: use in-snap mksquashfs if running from snap | snapcraft | merged | PR #1891 merged (commit f3d870e4e) so lifecycle uses the mksquashfs bundled inside the snapcraft snap when running as a snap, instead of relying on $PATH. Later replaced by `snap pack` in #3173. | |
| #3743 pack: check skeleton | snapcraft | merged | Merged #3743, adding an explicit snap pack --check-skeleton validation step until snap pack performs skeleton checks natively. | |
| #2528 packaging: use our patchelf branch | snapcraft | merged | Merged (commit bd26cafd6, squashed merge of #2528): snapcraft.yaml now points patchelf sources at Snapcore's own patchelf branch with the failing s390x test disabled, unblocking s390x package builds; later reverted by #2531. | |
| #307 ci: pack snap using craft-actions | imagecraft | merged | Merged in commit 3f26a09 via #307, replacing action-build with canonical/craft-actions' Snapcraft pack action. |