From f3da39011e97071be1a3a2ae9afc17cd45a19e5e Mon Sep 17 00:00:00 2001 From: Valentin Haudiquet Date: Fri, 30 Oct 2026 21:22:33 +0100 Subject: [PATCH] build(snap): stage libarchive for the image build Populating an ext4 image from a tarball is a runtime dlopen of libarchive in mke2fs, not a linked dependency: the deb does not pull it in, the stage set did not have it, and the first snap build failed with "you need libarchive to be able to process tarballs". Stage libarchive13t64 next to e2fsprogs. --- snap/snapcraft.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 175346d..6ef0f1a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -65,7 +65,10 @@ parts: build-packages: [cmake, perl] # mkfs.ext4 builds the cache image and debugfs provisions it; both # ship in e2fsprogs and run as child processes of the binary. - stage-packages: [e2fsprogs] + # Populating from a tarball is dlopen("libarchive.so.13") at + # runtime — no hard dependency, so staging e2fsprogs alone leaves + # the run failing with "you need libarchive"; stage the lib too. + stage-packages: [e2fsprogs, libarchive13t64] override-pull: | craftctl default # [workspace.package] version — the single `version = "..."` at