From 1fd54c49ee2e911ca400dc35fed5438131ebc13b Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 1/8] * Consolidate cloud images - Remove .tar.gz and .tar.xz (removed in favour of the squashfs). - Remove the MBR-only disk image in favour of the shared GPT/MBR UEFI image. --- debian/changelog | 9 ++++++ .../ubuntu-cpc/hooks/030-root-tarball.binary | 32 ------------------- .../ubuntu-cpc/hooks/031-root-xz.binary | 13 -------- .../ubuntu-cpc/hooks/032-disk-image.binary | 4 +++ .../ubuntu-cpc/hooks/032-root-squashfs.binary | 31 ++++++++++++++++-- .../ubuntu-cpc/hooks/040-qcow2-image.binary | 6 +--- 6 files changed, 43 insertions(+), 52 deletions(-) delete mode 100755 live-build/ubuntu-cpc/hooks/030-root-tarball.binary delete mode 100755 live-build/ubuntu-cpc/hooks/031-root-xz.binary diff --git a/debian/changelog b/debian/changelog index 05956f7e..1c8c0e95 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +livecd-rootfs (2.416) UNRELEASED; urgency=medium + + * Consolidate cloud images + - Remove .tar.gz and .tar.xz (removed in favour of the squashfs). + - Remove the MBR-only disk image in favour of the shared GPT/MBR UEFI + image. + + -- Daniel Watkins Thu, 09 Jun 2016 10:34:13 +0100 + livecd-rootfs (2.415) yakkety; urgency=medium [ Michael Vogt ] diff --git a/live-build/ubuntu-cpc/hooks/030-root-tarball.binary b/live-build/ubuntu-cpc/hooks/030-root-tarball.binary deleted file mode 100755 index f3e1c9e5..00000000 --- a/live-build/ubuntu-cpc/hooks/030-root-tarball.binary +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -ex - -if [ -n "$SUBARCH" ]; then - echo "Skipping rootfs build for subarch flavor build" - exit 0 -fi - -. /build/config/functions - -mkdir binary/boot/filesystem.dir -cp -a chroot/* binary/boot/filesystem.dir - -setup_mountpoint binary/boot/filesystem.dir - -chroot binary/boot/filesystem.dir dpkg-divert --local --rename /usr/sbin/grub-probe -chroot binary/boot/filesystem.dir touch /usr/sbin/grub-probe -chroot binary/boot/filesystem.dir chmod +x /usr/sbin/grub-probe - -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/filesystem.dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+' -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/filesystem.dir apt-get --purge remove --assume-yes '^grub-.*' -env DEBIAN_FRONTEND=noninteractive chroot binary/boot/filesystem.dir apt-get autoremove --purge --assume-yes -chroot binary/boot/filesystem.dir mkdir /lib/modules - -chroot binary/boot/filesystem.dir rm /usr/sbin/grub-probe -chroot binary/boot/filesystem.dir dpkg-divert --remove --local --rename /usr/sbin/grub-probe - -mv resolv.conf.tmp "binary/boot/filesystem.dir/etc/resolv.conf" -umount "binary/boot/filesystem.dir/proc" -umount "binary/boot/filesystem.dir/sys" -umount "binary/boot/filesystem.dir/dev/pts" -umount "binary/boot/filesystem.dir/dev" -umount "binary/boot/filesystem.dir/tmp" diff --git a/live-build/ubuntu-cpc/hooks/031-root-xz.binary b/live-build/ubuntu-cpc/hooks/031-root-xz.binary deleted file mode 100755 index 33489e92..00000000 --- a/live-build/ubuntu-cpc/hooks/031-root-xz.binary +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -ex -# vi: ts=4 noexpandtab -# -# Generate the rootfs.tar.gz and manifest - -if [ -n "$SUBARCH" ]; then - exit 0 -fi - -dpkg-query --admindir=binary/boot/filesystem.dir/var/lib/dpkg -W > livecd.ubuntu-cpc.rootfs.manifest - -(cd "binary/boot/filesystem.dir/" && tar -c *) | \ - xz > "livecd.ubuntu-cpc.rootfs.tar.xz" diff --git a/live-build/ubuntu-cpc/hooks/032-disk-image.binary b/live-build/ubuntu-cpc/hooks/032-disk-image.binary index 386fbe3b..0ed08b04 100755 --- a/live-build/ubuntu-cpc/hooks/032-disk-image.binary +++ b/live-build/ubuntu-cpc/hooks/032-disk-image.binary @@ -12,6 +12,10 @@ case $ARCH:$SUBARCH in echo "POWER disk images are handled separately" exit 0 ;; + amd64|arm64) + echo "We only create EFI images for $ARCH." + exit 0 + ;; armhf:raspi2) # matches the size of the snappy image IMAGE_SIZE=$((4*1000*1000*1000)) diff --git a/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary b/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary index 9e3bb61e..e338a05f 100755 --- a/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary +++ b/live-build/ubuntu-cpc/hooks/032-root-squashfs.binary @@ -4,16 +4,43 @@ # Generate a squashfs root and manifest if [ -n "$SUBARCH" ]; then + echo "Skipping rootfs build for subarch flavor build" exit 0 fi +. /build/config/functions + +mkdir binary/boot/squashfs.dir +cp -a chroot/* binary/boot/squashfs.dir + +setup_mountpoint binary/boot/squashfs.dir + +chroot binary/boot/squashfs.dir dpkg-divert --local --rename /usr/sbin/grub-probe +chroot binary/boot/squashfs.dir touch /usr/sbin/grub-probe +chroot binary/boot/squashfs.dir chmod +x /usr/sbin/grub-probe + +env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^linux-.*' 'linux-base+' +env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get --purge remove --assume-yes '^grub-.*' +env DEBIAN_FRONTEND=noninteractive chroot binary/boot/squashfs.dir apt-get autoremove --purge --assume-yes +chroot binary/boot/squashfs.dir mkdir /lib/modules + +chroot binary/boot/squashfs.dir rm /usr/sbin/grub-probe +chroot binary/boot/squashfs.dir dpkg-divert --remove --local --rename /usr/sbin/grub-probe + +mv resolv.conf.tmp "binary/boot/squashfs.dir/etc/resolv.conf" +umount "binary/boot/squashfs.dir/proc" +umount "binary/boot/squashfs.dir/sys" +umount "binary/boot/squashfs.dir/dev/pts" +umount "binary/boot/squashfs.dir/dev" +umount "binary/boot/squashfs.dir/tmp" + apt-get -qqy install squashfs-tools squashfs_f="${PWD}/livecd.ubuntu-cpc.squashfs" squashfs_f_manifest="${squashfs_f}.manifest" -dpkg-query --admindir=binary/boot/filesystem.dir/var/lib/dpkg -W > ${squashfs_f_manifest} +dpkg-query --admindir=binary/boot/squashfs.dir/var/lib/dpkg -W > ${squashfs_f_manifest} -(cd "binary/boot/filesystem.dir/" && +(cd "binary/boot/squashfs.dir/" && mksquashfs . ${squashfs_f} \ -no-progress -xattrs -comp xz ) diff --git a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary index 602d871e..8281b365 100755 --- a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary +++ b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary @@ -14,10 +14,6 @@ apt-get install -qqy qemu-utils . /build/config/functions -if [ -f binary/boot/disk.ext4 ]; then - convert_to_qcow2 binary/boot/disk.ext4 livecd.ubuntu-cpc.disk1.img -fi - if [ -f binary/boot/disk-uefi.ext4 ]; then - convert_to_qcow2 binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.uefi1.img + convert_to_qcow2 binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.disk1.img fi From 0a8a704b0b820d6c0f8bcbdbca6c6237424358a8 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 2/8] Remove '-disk1' from bootable image names. --- debian/changelog | 1 + live-build/ubuntu-cpc/hooks/040-qcow2-image.binary | 2 +- live-build/ubuntu-cpc/hooks/040-vmdk-image.binary | 8 +------- live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary | 4 ++-- live-build/ubuntu-cpc/hooks/042-vagrant.binary | 2 +- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1c8c0e95..d95d8ddd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ livecd-rootfs (2.416) UNRELEASED; urgency=medium - Remove .tar.gz and .tar.xz (removed in favour of the squashfs). - Remove the MBR-only disk image in favour of the shared GPT/MBR UEFI image. + - Remove '-disk1' from bootable image names. -- Daniel Watkins Thu, 09 Jun 2016 10:34:13 +0100 diff --git a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary index 8281b365..6cdda432 100755 --- a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary +++ b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary @@ -15,5 +15,5 @@ apt-get install -qqy qemu-utils . /build/config/functions if [ -f binary/boot/disk-uefi.ext4 ]; then - convert_to_qcow2 binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.disk1.img + convert_to_qcow2 binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.img fi diff --git a/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary b/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary index 80e4142c..8454f829 100755 --- a/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary +++ b/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary @@ -3,8 +3,6 @@ # # Generate VMDK files -extension="disk1.vmdk" - case $ARCH in i386|amd64) ;; *) echo "VMDK images are not supported for $ARCH yet."; @@ -13,10 +11,6 @@ esac . /build/config/functions -if [ -e binary/boot/disk.ext4 ]; then - create_vmdk binary/boot/disk.ext4 livecd.ubuntu-cpc.disk1.vmdk -fi - if [ -e binary/boot/disk-uefi.ext4 ]; then - create_vmdk binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.uefi.vmdk + create_vmdk binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.vmdk fi diff --git a/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary b/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary index c48ca75b..defb74df 100755 --- a/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary +++ b/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary @@ -17,9 +17,9 @@ esac cur_d=${PWD} my_d=$(dirname $(readlink -f ${0})) -base_vmdk="livecd.ubuntu-cpc.disk1.vmdk" +base_vmdk="livecd.ubuntu-cpc.vmdk" if [ "$ARCH" = "amd64" ]; then - base_vmdk="livecd.ubuntu-cpc.uefi.vmdk" + base_vmdk="livecd.ubuntu-cpc.vmdk" fi if [ ! -e ${base_vmdk} ]; then diff --git a/live-build/ubuntu-cpc/hooks/042-vagrant.binary b/live-build/ubuntu-cpc/hooks/042-vagrant.binary index bb9f8db1..a784aa21 100755 --- a/live-build/ubuntu-cpc/hooks/042-vagrant.binary +++ b/live-build/ubuntu-cpc/hooks/042-vagrant.binary @@ -15,7 +15,7 @@ cur_d=${PWD} my_d=$(dirname $(readlink -f ${0})) -base_vmdk="livecd.ubuntu-cpc.disk1.vmdk" +base_vmdk="livecd.ubuntu-cpc.vmdk" case $ARCH in amd64|i386) ;; From fe81277a0f0a2c28dab867fad8d27ce3bb5d9d74 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 3/8] Continue producing non-UEFI images on non-UEFI arches --- live-build/ubuntu-cpc/hooks/040-qcow2-image.binary | 2 ++ 1 file changed, 2 insertions(+) diff --git a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary index 6cdda432..39c41066 100755 --- a/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary +++ b/live-build/ubuntu-cpc/hooks/040-qcow2-image.binary @@ -16,4 +16,6 @@ apt-get install -qqy qemu-utils if [ -f binary/boot/disk-uefi.ext4 ]; then convert_to_qcow2 binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.img +elif [ -f binary/boot/disk.ext4 ]; then + convert_to_qcow2 binary/boot/disk.ext4 livecd.ubuntu-cpc.img fi From dd9cf219c79b2e5ab8914a66eab5c6e58d1dca59 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 4/8] Create a VMDK image on i386 --- live-build/ubuntu-cpc/hooks/040-vmdk-image.binary | 2 ++ 1 file changed, 2 insertions(+) diff --git a/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary b/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary index 8454f829..ac4f1c36 100755 --- a/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary +++ b/live-build/ubuntu-cpc/hooks/040-vmdk-image.binary @@ -13,4 +13,6 @@ esac if [ -e binary/boot/disk-uefi.ext4 ]; then create_vmdk binary/boot/disk-uefi.ext4 livecd.ubuntu-cpc.vmdk +elif [ -f binary/boot/disk.ext4 ]; then + create_vmdk binary/boot/disk.ext4 livecd.ubuntu-cpc.vmdk fi From c1a36eb3cdd07b5180d7f9cfe1748fcdb21261c7 Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 5/8] Don't ignore failures to find a base VMDK for OVAs We should always build them, and treat them not existing as a failure. --- live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary b/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary index defb74df..b7c21474 100755 --- a/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary +++ b/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary @@ -24,7 +24,7 @@ fi if [ ! -e ${base_vmdk} ]; then find . | grep vmdk - exit 0 + exit 1 fi # Lets be safe about this From d97134679df69fc9e9246eafc39e85daf89526b1 Mon Sep 17 00:00:00 2001 From: Phil Roche Date: Thu, 9 Jun 2016 10:47:25 +0100 Subject: [PATCH 6/8] Removed HWCLOCKACCESS=no from /etc/default/rcS HWCLOCKACCESS=no in /etc/default/rcS is no longer required and prompts a confirmation dialog on upgrade. (bug 1581044) --- debian/changelog | 3 +++ live-build/ubuntu-cpc/hooks/051-hwclock.chroot | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100755 live-build/ubuntu-cpc/hooks/051-hwclock.chroot diff --git a/debian/changelog b/debian/changelog index d95d8ddd..7eb61763 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ livecd-rootfs (2.416) UNRELEASED; urgency=medium image. - Remove '-disk1' from bootable image names. + [ Phil Roche ] + * Removed HWCLOCKACCESS=no from /etc/default/rcS (LP: #1581044) + -- Daniel Watkins Thu, 09 Jun 2016 10:34:13 +0100 livecd-rootfs (2.415) yakkety; urgency=medium diff --git a/live-build/ubuntu-cpc/hooks/051-hwclock.chroot b/live-build/ubuntu-cpc/hooks/051-hwclock.chroot deleted file mode 100755 index 946b1cbc..00000000 --- a/live-build/ubuntu-cpc/hooks/051-hwclock.chroot +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -printf "HWCLOCKACCESS=no" >> /etc/default/rcS From 319e3668b9690414fb998338197525a354072ece Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Thu, 9 Jun 2016 15:48:38 +0100 Subject: [PATCH 7/8] [cpc][ppc64el] apt-get update before installing grub2 --- live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary | 1 + 1 file changed, 1 insertion(+) diff --git a/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary b/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary index d085ba38..d8c6cd3a 100755 --- a/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary +++ b/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary @@ -26,6 +26,7 @@ install_grub() { mkdir mountpoint mount_partition "${rootfs_dev_mapper}" mountpoint + chroot mountpoint apt-get -qqy update chroot mountpoint apt-get -qqy install grub2 chroot mountpoint apt-get -qqy remove --purge grub-legacy-ec2 From a3f28d7a1bab84d2587aa0f490effa2fc3885c7e Mon Sep 17 00:00:00 2001 From: Daniel Watkins Date: Fri, 10 Jun 2016 11:29:44 +0100 Subject: [PATCH 8/8] Fix changelog formatting --- debian/changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/changelog b/debian/changelog index 7eb61763..e566af69 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ livecd-rootfs (2.416) UNRELEASED; urgency=medium + [ Daniel Watkins ] * Consolidate cloud images - Remove .tar.gz and .tar.xz (removed in favour of the squashfs). - Remove the MBR-only disk image in favour of the shared GPT/MBR UEFI