Run snap info on the downloaded snap, rather than against the store. First of all snap info doesn't have --channel argument, thus queries the wrong channel, and depening on the cohort, a different snap might be visible too. Thus seed the base of the snap revision we dowanloaded, rather than some random one from the store.

xnox/lp-uc20-8gb
Dimitri John Ledkov 5 years ago
parent 28b531d1ea
commit ad64e38c48

10
debian/changelog vendored

@ -1,3 +1,13 @@
livecd-rootfs (2.663) UNRELEASED; urgency=medium
* Run snap info on the downloaded snap, rather than against the
store. First of all snap info doesn't have --channel argument, thus
queries the wrong channel, and depening on the cohort, a different
snap might be visible too. Thus seed the base of the snap revision we
dowanloaded, rather than some random one from the store.
-- Dimitri John Ledkov <xnox@ubuntu.com> Fri, 17 Apr 2020 00:00:52 +0100
livecd-rootfs (2.662) focal; urgency=medium
* Print subiquity ssh login details on s390x line based consoles.

@ -482,6 +482,24 @@ _snap_preseed() {
return
fi
sh -c "
set -x;
cd \"$CHROOT_ROOT/var/lib/snapd/seed\";
SNAPPY_STORE_NO_CDN=1 snap download \
--cohort="${COHORT_KEY:-}" \
--channel=\"$CHANNEL\" \"$SNAP_NAME\"" || snap_download_failed=1
if [ $snap_download_failed = 1 ] ; then
echo "If the channel ($CHANNEL) includes '*/ubuntu-##.##' track per "
echo "Ubuntu policy (ex. stable/ubuntu-18.04) the publisher will need "
echo "to temporarily create the channel/track to allow fallback during"
echo "download (ex. stable/ubuntu-18.04 falls back to stable if the"
echo "prior had been created in the past)."
exit 1
fi
mv -v $seed_dir/*.assert $assertions_dir
mv -v $seed_dir/*.snap $snaps_dir
# Pre-seed snap's base
case $SNAP_NAME in
snapd)
@ -494,7 +512,8 @@ _snap_preseed() {
# Determine which core snap is needed
local snap_info
snap_info=$(snap info --verbose "${SNAP_NAME}")
# snap info doesn't have --channel, so must run agains the downloaded snap
snap_info=$(snap info --verbose ${snaps_dir}/${SNAP_NAME}_[0-9]*.snap)
if [ $? -ne 0 ]; then
echo "Failed to retrieve base of $SNAP_NAME!"
@ -510,24 +529,6 @@ _snap_preseed() {
;;
esac
sh -c "
set -x;
cd \"$CHROOT_ROOT/var/lib/snapd/seed\";
SNAPPY_STORE_NO_CDN=1 snap download \
--cohort="${COHORT_KEY:-}" \
--channel=\"$CHANNEL\" \"$SNAP_NAME\"" || snap_download_failed=1
if [ $snap_download_failed = 1 ] ; then
echo "If the channel ($CHANNEL) includes '*/ubuntu-##.##' track per "
echo "Ubuntu policy (ex. stable/ubuntu-18.04) the publisher will need "
echo "to temporarily create the channel/track to allow fallback during"
echo "download (ex. stable/ubuntu-18.04 falls back to stable if the"
echo "prior had been created in the past)."
exit 1
fi
mv -v $seed_dir/*.assert $assertions_dir
mv -v $seed_dir/*.snap $snaps_dir
# Add the snap to the seed.yaml
! [ -e $seed_yaml ] && echo "snaps:" > $seed_yaml
cat <<EOF >> $seed_yaml

Loading…
Cancel
Save