diff --git a/debian/control b/debian/control index 1b8b558c..73519d8b 100644 --- a/debian/control +++ b/debian/control @@ -34,7 +34,7 @@ Depends: ${misc:Depends}, python3-yaml, qemu-utils, rsync, - snapd, + snapd (>= 2.39), squashfs-tools (>= 1:3.3-1), sudo, u-boot-tools [armhf arm64], diff --git a/live-build/functions b/live-build/functions index 3339d72e..0083f9c8 100644 --- a/live-build/functions +++ b/live-build/functions @@ -649,6 +649,15 @@ snap_preseed() { touch "$CHROOT_ROOT/var/lib/snapd/seed/.snapd-explicit-install-stamp" ;; esac + + + # Do basic validation of generated snapd seed.yaml, doing it here + # means we catch all the places(tm) that snaps are added but the + # downside is that each time a snap is added the seed must be valid, + # i.e. snaps with bases need to add bases first etc. + if [ -e chroot/var/lib/snapd/seed/seed.yaml ]; then + snap debug validate-seed "$CHROOT_ROOT/var/lib/snapd/seed/seed.yaml" + fi } snap_from_seed() {