From 5072fbcbed1552e57c4c9a859227aedc01759a39 Mon Sep 17 00:00:00 2001 From: Valentin Haudiquet Date: Fri, 30 Oct 2026 03:25:49 +0100 Subject: [PATCH] build(snap): build arm64 and drop the riscv64 target The pool carries an arm64 libkrunfw5 next to the amd64 one, so the part now picks the flavor and the install path from the target arch (CRAFT_ARCH_BUILD_FOR / CRAFT_ARCH_TRIPLET_BUILD_FOR) with the checksum pinned per arch. riscv64 goes: the pool has no libkrunfw5 build for it, and libkrun does not target it. --- snap/snapcraft.yaml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 81839a3..401c501 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -37,7 +37,6 @@ confinement: strict platforms: amd64: arm64: - riscv64: apps: ecrou: @@ -86,17 +85,25 @@ parts: libkrunfw: plugin: nil - # libkrunfw5 ships only in stonking universe today, - # not in any LTS base, so the .deb comes straight from the pool. - # The library embeds its kernel and has no external symbols, so - # it runs on the base's older glibc. + # libkrunfw5 ships only in stonking universe today, not in any LTS + # base, so the .deb comes straight from the pool — one flavor per + # target arch. The library embeds its kernel and has no external + # symbols, so it runs on the base's older glibc. The pool carries + # no riscv64 build, and libkrun does not target riscv64, so the + # snap builds for amd64 and arm64 only. build-packages: [curl] override-pull: | + arch="$CRAFT_ARCH_BUILD_FOR" + case "$arch" in + amd64) digest="924cd545080aaf5da66740d12a51b7a5cbd9a5c0b502d21cbef9bc82bf1c8b6b" ;; + arm64) digest="9570e82feac79fd41a6a9674cc02a9b2f09948ac30ad480d05fc73a957843e56" ;; + *) echo "no libkrunfw5 build for $arch in the Ubuntu pool" >&2; exit 1 ;; + esac curl -fL -o libkrunfw5.deb \ - https://archive.ubuntu.com/ubuntu/pool/universe/libk/libkrunfw/libkrunfw5_5.5.0+ds-1_amd64.deb - echo "924cd545080aaf5da66740d12a51b7a5cbd9a5c0b502d21cbef9bc82bf1c8b6b libkrunfw5.deb" | sha256sum -c + "https://archive.ubuntu.com/ubuntu/pool/universe/libk/libkrunfw/libkrunfw5_5.5.0+ds-1_${arch}.deb" + echo "$digest libkrunfw5.deb" | sha256sum -c override-build: | dpkg -x libkrunfw5.deb unpack - install -Dm755 unpack/usr/lib/x86_64-linux-gnu/libkrunfw.so.5.5.0 \ + install -Dm755 "unpack/usr/lib/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/libkrunfw.so.5.5.0" \ "$CRAFT_PART_INSTALL/lib/libkrunfw.so.5.5.0" ln -s libkrunfw.so.5.5.0 "$CRAFT_PART_INSTALL/lib/libkrunfw.so.5"