From 6227a6abfb06b6c4786e8e366820806d00bb95a8 Mon Sep 17 00:00:00 2001 From: Robert C Jennings Date: Thu, 23 Mar 2017 14:40:59 -0400 Subject: [PATCH] Import patches-unapplied version 2.408.9 to ubuntu/xenial-proposed Imported using git-ubuntu import. Changelog parent: 7b0112eea72aa1b63afa8ea110f70b6442c544b9 New changelog entries: [ Daniel Watkins ] * Don't overwrite the default sources.list in cloud images. * Replace sources.list generated using COMPONENTS with the sources.list from an Ubuntu Server installation (i.e. with all components enabled, and all deb-src lines commented). LP: #1513529. [ Chris Glass ] * Fix the manifest generation in OVA files so that ovf files don't have double extensions. (LP: #1627931) * Fix the OVF's metadata to include Ubuntu specific identifiers and descriptions instead of the generic Linux ones. (LP: #1656293) [ Daniel Watkins ] * Add replace_grub_root_with_label function thereby consolidating multiple uses of the same calls to sed. [ Robert C Jennings ] * ubuntu-cpc: Remove redundant copy of grub files. (LP: #1637290) --- debian/changelog | 23 ++++ live-build/auto/build | 130 ++++-------------- live-build/ubuntu-cpc/functions | 7 + .../hooks/033-disk-image-uefi.binary | 5 +- .../hooks/034-disk-image-ppc64el.binary | 2 +- .../hooks/041-vmdk-ova-image.binary | 26 +++- .../ubuntu-cpc/hooks/042-vagrant.binary | 25 +++- .../ovf/ubuntu-ova-v1-cloudcfg-vmdk.tmpl | 3 +- .../hooks/ovf/ubuntu-ova-v1-vmdk.tmpl | 3 +- 9 files changed, 106 insertions(+), 118 deletions(-) diff --git a/debian/changelog b/debian/changelog index 398fe8e2..1e4bc3b2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,26 @@ +livecd-rootfs (2.408.9) xenial; urgency=medium + + [ Daniel Watkins ] + * Don't overwrite the default sources.list in cloud images. + * Replace sources.list generated using COMPONENTS with the sources.list from + an Ubuntu Server installation (i.e. with all components enabled, and all + deb-src lines commented). LP: #1513529. + + [ Chris Glass ] + * Fix the manifest generation in OVA files so that ovf files don't have + double extensions. (LP: #1627931) + * Fix the OVF's metadata to include Ubuntu specific identifiers and + descriptions instead of the generic Linux ones. (LP: #1656293) + + [ Daniel Watkins ] + * Add replace_grub_root_with_label function thereby consolidating multiple + uses of the same calls to sed. + + [ Robert C Jennings ] + * ubuntu-cpc: Remove redundant copy of grub files. (LP: #1637290) + + -- Robert C Jennings Thu, 23 Mar 2017 14:40:59 -0400 + livecd-rootfs (2.408.8) xenial; urgency=medium * Set device_tree_address for the new kernel in the RPi bootloader config.txt diff --git a/live-build/auto/build b/live-build/auto/build index ec7dfe59..f13b984d 100755 --- a/live-build/auto/build +++ b/live-build/auto/build @@ -58,116 +58,56 @@ EOF # preinstalled being slightly different in what it doesn't ask) from # debian-installer's apt-setup: -codename=$LB_DISTRIBUTION -file="chroot/etc/apt/sources.list" -dists="main" -alldists="main" -if echo "$LB_PARENT_ARCHIVE_AREAS" | grep -q restricted; then - dists="$dists restricted" - alldists="$alldists restricted" -fi -if echo "$LB_PARENT_ARCHIVE_AREAS" | grep -q universe; then - UNIVERSE=true -else - UNIVERSE=false -fi -if echo "$LB_PARENT_ARCHIVE_AREAS" | grep -q multiverse; then - MULTIVERSE=true -else - MULTIVERSE=false -fi - -cat > $file < chroot/etc/apt/sources.list << EOF # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. - -deb $LB_PARENT_MIRROR_BINARY $codename $dists -deb-src $LB_PARENT_MIRROR_BINARY $codename $dists +deb $LB_PARENT_MIRROR_BINARY $LB_DISTRIBUTION main restricted +# deb-src $LB_PARENT_MIRROR_BINARY $LB_DISTRIBUTION main restricted ## Major bug fix updates produced after the final release of the ## distribution. -deb $LB_PARENT_MIRROR_BINARY $codename-updates $dists -deb-src $LB_PARENT_MIRROR_BINARY $codename-updates $dists -EOF +deb $LB_PARENT_MIRROR_BINARY $LB_DISTRIBUTION-updates main restricted +# deb-src $LB_PARENT_MIRROR_BINARY $LB_DISTRIBUTION-updates main restricted -# Even if universe isn't enabled, we write example lines for it. -echo >> $file -if [ "$UNIVERSE" = true ]; then - alldists="$alldists universe" - COMMENT= -else - cat >> $file <> $file <> $file <> $file <> $file <> $file <> $file < chroot/etc/apt/sources.list << EOF -deb ${LB_PARENT_MIRROR_BINARY} ${LB_DISTRIBUTION} main restricted universe multiverse -deb ${LB_PARENT_MIRROR_BINARY} ${LB_DISTRIBUTION}-updates main restricted universe multiverse -deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_DISTRIBUTION}-security main restricted universe multiverse -EOF - lb chroot_hosts install - lb chroot_resolv install - Chroot chroot "apt-get update" - lb chroot_resolv remove - lb chroot_hosts remove fi echo "===== Checking size of /usr/share/doc =====" diff --git a/live-build/ubuntu-cpc/functions b/live-build/ubuntu-cpc/functions index 576c1a2e..6b2d69a0 100644 --- a/live-build/ubuntu-cpc/functions +++ b/live-build/ubuntu-cpc/functions @@ -249,4 +249,11 @@ convert_to_qcow2() { qemu-img info "$destination" } +replace_grub_root_with_label() { + # When update-grub is run, it will detect the disks in the build system. + # Instead, we want grub to use the cloudimg-rootfs labelled disk + CHROOT_ROOT="$1" + sed -i -e "s,root=[^ ]\+,root=LABEL=cloudimg-rootfs," \ + "$CHROOT_ROOT/boot/grub/grub.cfg" +} diff --git a/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary b/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary index 8599ea8d..04a3c7df 100755 --- a/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary +++ b/live-build/ubuntu-cpc/hooks/033-disk-image-uefi.binary @@ -70,9 +70,6 @@ install_grub() { amd64) chroot mountpoint apt-get install -qqy grub-efi-amd64-signed grub-efi-amd64 shim-signed grub_modules="part_gpt fat ext2 normal chain boot configfile linux multiboot search_fs_uuid search_label terminal serial video video_fb video_bochs usb usb_keyboard efi_gop efi_uga" - chroot mountpoint cp /usr/lib/shim/shim.efi.signed "${efi_boot_dir}/shimx64.efi" - chroot mountpoint cp /usr/lib/shim/MokManager.efi.signed "${efi_boot_dir}/MokManager.efi" - chroot mountpoint cp /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed "${efi_boot_dir}/grubx64.efi" efi_target=x86_64-efi ;; esac @@ -108,7 +105,7 @@ EOF chroot mountpoint dpkg-divert --local --rename /etc/grub.d/30_os-prober chroot mountpoint update-grub - sed -i "s,root=.* ,root=LABEL=cloudimg-rootfs ,g" mountpoint/boot/grub/grub.cfg + replace_grub_root_with_label mountpoint chroot mountpoint dpkg-divert --remove --local --rename /etc/grub.d/30_os-prober chroot mountpoint apt-get -y clean 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..d4539594 100755 --- a/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary +++ b/live-build/ubuntu-cpc/hooks/034-disk-image-ppc64el.binary @@ -51,7 +51,7 @@ EOF chroot mountpoint dpkg-divert --local --rename /etc/grub.d/30_os-prober chroot mountpoint update-grub - sed -i "s,root=.* ,root=LABEL=cloudimg-rootfs ,g" mountpoint/boot/grub/grub.cfg + replace_grub_root_with_label mountpoint chroot mountpoint dpkg-divert --remove --local --rename /etc/grub.d/30_os-prober umount_partition mountpoint 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..cc8ed5d3 100755 --- a/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary +++ b/live-build/ubuntu-cpc/hooks/041-vmdk-ova-image.binary @@ -9,11 +9,24 @@ # # For this step, we re-use the VMDK's made in 040-vmdk-image.binary + +# Switch on $ARCH to determine which ID and description to use in the produced +# OVF. We have fancy Ubuntu-specific IDs in the OVF specification, we might as +# well use them. case $ARCH in - amd64|i386) ;; - *) echo "OVA images are not supported for $ARCH yet."; - exit 0;; + amd64) + ovf_id=94 + ovf_os_type="ubuntu64Guest" + ovf_desc_bits=64 ;; + i386) + ovf_id=93 + ovf_os_type="ubuntu32Guest" + ovf_desc_bits=32 ;; + *) + echo "OVA images are not supported for $ARCH yet."; + exit 0;; esac + cur_d=${PWD} my_d=$(dirname $(readlink -f ${0})) @@ -57,7 +70,10 @@ sed -i "${ovf}" \ -e "s/@@NUM_CPUS@@/2/g" \ -e "s/@@VERSION@@/${version}/g" \ -e "s/@@DATE@@/${serial_stamp}/g" \ - -e "s/@@MEM_SIZE@@/1024/g" + -e "s/@@MEM_SIZE@@/1024/g" \ + -e "s/@@OVF_ID@@/${ovf_id}/g" \ + -e "s/@@OVF_OS_TYPE@@/${ovf_os_type}/g" \ + -e "s/@@OVF_DESC_BITS@@/${ovf_desc_bits}/g" # Get the checksums vmdk_sha256=$(sha256sum ${vmdk_f} | cut -d' ' -f1) @@ -67,7 +83,7 @@ ovf_sha256=$(sha256sum ${ovf} | cut -d' ' -f1) manifest="${scratch_d}/${prefix}.mf" cat > "${manifest}" < "${manifest}" < A virtual machine @@NAME@@ - + The kind of installed guest operating system + Ubuntu Linux (@@OVF_DESC_BITS@@-bit) diff --git a/live-build/ubuntu-cpc/hooks/ovf/ubuntu-ova-v1-vmdk.tmpl b/live-build/ubuntu-cpc/hooks/ovf/ubuntu-ova-v1-vmdk.tmpl index 0eaa85a4..7f0b85e0 100644 --- a/live-build/ubuntu-cpc/hooks/ovf/ubuntu-ova-v1-vmdk.tmpl +++ b/live-build/ubuntu-cpc/hooks/ovf/ubuntu-ova-v1-vmdk.tmpl @@ -16,8 +16,9 @@ A virtual machine @@NAME@@ - + The kind of installed guest operating system + Ubuntu Linux (@@OVF_DESC_BITS@@-bit)