diff --git a/debian/changelog b/debian/changelog index 87bbbf53..ac3ec015 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,19 @@ +livecd-rootfs (2.663) focal; 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 Fri, 17 Apr 2020 00:10:41 +0100 + +livecd-rootfs (2.662) focal; urgency=medium + + * Print subiquity ssh login details on s390x line based consoles. + + -- Dimitri John Ledkov Thu, 16 Apr 2020 23:54:33 +0100 + livecd-rootfs (2.661) focal; urgency=medium * Switch Ubuntu desktop to only hwe-20.04 kernel flavour. diff --git a/live-build/functions b/live-build/functions index f730e0ba..d86f27d6 100644 --- a/live-build/functions +++ b/live-build/functions @@ -482,34 +482,6 @@ _snap_preseed() { return fi - # Pre-seed snap's base - case $SNAP_NAME in - snapd) - # snapd is self-contained, ignore base - ;; - core|core[0-9][0-9]) - # core and core## are self-contained, ignore base - ;; - *) - # Determine which core snap is needed - local snap_info - - snap_info=$(snap info --verbose "${SNAP_NAME}") - - if [ $? -ne 0 ]; then - echo "Failed to retrieve base of $SNAP_NAME!" - exit 1 - fi - - local core_snap=$(echo "$snap_info" | grep '^base:' | awk '{print $2}') - - # If snap info does not list a base use 'core' - core_snap=${core_snap:-core} - - _snap_preseed $CHROOT_ROOT $core_snap stable - ;; - esac - sh -c " set -x; cd \"$CHROOT_ROOT/var/lib/snapd/seed\"; @@ -528,6 +500,35 @@ _snap_preseed() { mv -v $seed_dir/*.assert $assertions_dir mv -v $seed_dir/*.snap $snaps_dir + # Pre-seed snap's base + case $SNAP_NAME in + snapd) + # snapd is self-contained, ignore base + ;; + core|core[0-9][0-9]) + # core and core## are self-contained, ignore base + ;; + *) + # Determine which core snap is needed + local snap_info + + # 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!" + exit 1 + fi + + local core_snap=$(echo "$snap_info" | grep '^base:' | awk '{print $2}') + + # If snap info does not list a base use 'core' + core_snap=${core_snap:-core} + + _snap_preseed $CHROOT_ROOT $core_snap stable + ;; + esac + # Add the snap to the seed.yaml ! [ -e $seed_yaml ] && echo "snaps:" > $seed_yaml cat <> $seed_yaml diff --git a/live-build/ubuntu-server/hooks/032-installer-squashfs.binary b/live-build/ubuntu-server/hooks/032-installer-squashfs.binary index 72df7f8f..b48149b1 100755 --- a/live-build/ubuntu-server/hooks/032-installer-squashfs.binary +++ b/live-build/ubuntu-server/hooks/032-installer-squashfs.binary @@ -66,7 +66,9 @@ printf "%s\t%s\t%s\t%s\n" \ chroot $INSTALLER_ROOT dpkg-reconfigure --frontend=noninteractive cloud-init if [ `dpkg --print-architecture` = s390x ]; then - chroot $INSTALLER_ROOT apt-get -y install s390-tools-zkey + chroot $INSTALLER_ROOT apt-get -y install s390-tools-zkey + # because z/VM x3270 is just ttyS0 + cp -r $INSTALLER_ROOT/usr/lib/systemd/system/serial-getty@sclp_line0.service.d $INSTALLER_ROOT/usr/lib/systemd/system/serial-getty@ttyS0.service.d fi chroot $INSTALLER_ROOT apt-get clean diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf index 76864e20..7aa450d4 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf @@ -1,2 +1,6 @@ +[Unit] +After=cloud-final.service snapd.seeded.service [Service] +StandardOutput=tty ExecStartPre= +ExecStartPre=/usr/bin/snap run subiquity --ssh