diff --git a/debian/changelog b/debian/changelog index 8c9138fd..94ff2e91 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +livecd-rootfs (2.601) eoan; urgency=medium + + [ Michael Vogt ] + * Run "snap debug validate-seed" during preseeding to do basic validation of + the generated seed.yaml + + -- Iain Lane Tue, 16 Jul 2019 11:30:27 +0100 + livecd-rootfs (2.600) eoan; urgency=medium [ Tobias Koch ] 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..e837582d 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() {