Imported 2.607

No reason for CPC update specified.
impish
CloudBuilder 5 years ago
parent a83d0c4cb4
commit b4515f8ffb

16
debian/changelog vendored

@ -1,3 +1,19 @@
livecd-rootfs (2.607) eoan; urgency=medium
* snap seeding: Defer validation for regular image builds. When getting the
list of snaps to include on an image via germinate, we process the snaps
in alphabetical order. Currently we seed several packages `gnome-foo` and
also `gtk-common-themes`, the default provider of `gtk-3-themes`. Since
`gtk-common-themes` is alphabetically after `gnome-foo`, the `seed.yaml`
we generate is invalid when we are part way through generating. What we
really care about, though, is not that the `seed.yaml` is always valid at
every step, but it is that it is valid at the *end* of seeding. So for
the germinate case, let's defer validation to happen once at the end.
Other callsites of `snap_preseed`, where callers are careful to seed snaps
in the right order, are unaffected by this.
-- Iain Lane <iain.lane@canonical.com> Mon, 02 Sep 2019 14:22:49 +0100
livecd-rootfs (2.606) eoan; urgency=medium livecd-rootfs (2.606) eoan; urgency=medium
* Undivert update-initramfs more carefully: previously the wrapper script * Undivert update-initramfs more carefully: previously the wrapper script

@ -85,8 +85,9 @@ preinstall_snaps() {
snap_prepare chroot snap_prepare chroot
for snap in "$@"; do for snap in "$@"; do
snap_preseed chroot "${snap}" SNAP_NO_VALIDATE_SEED=1 snap_preseed chroot "${snap}"
done done
snap_validate_seed chroot
lb chroot_resolv remove lb chroot_resolv remove
} }

@ -650,13 +650,22 @@ snap_preseed() {
;; ;;
esac esac
# Do basic validation of generated snapd seed.yaml, doing it here # Do basic validation of generated snapd seed.yaml, doing it here
# means we catch all the places(tm) that snaps are added but the # 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, # 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. # 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" # Skip validation by setting SNAP_NO_VALIDATE_SEED=1.
if [ -z "${SNAP_NO_VALIDATE_SEED}" ]; then
snap_validate_seed "${CHROOT_ROOT}"
fi
}
snap_validate_seed() {
local CHROOT_ROOT=$1
if [ -e "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml" ]; then
snap debug validate-seed "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml"
fi fi
} }

Loading…
Cancel
Save