From a45342f26993cca1238330b7e622c1659dc5ddf4 Mon Sep 17 00:00:00 2001 From: Robert C Jennings Date: Fri, 29 Mar 2019 15:32:50 -0500 Subject: [PATCH] ubuntu-cpc: avoid duplicate snaps listed in qcow manifest commit a993592 introduced an additional call to create_manifest (and snap-seed-parse) to write binary/boot/filesystem.packages. This caused duplicate snap lines in the qcow manifest. This is because the live-build/auto/binary code assumes that after 'lb binary' is run the filesystem.packages will only have debs and it calls snap-seed-parse to add them to the file. The commit changed filesystem.packages in the ubuntu-cpc uefi binary hook to include debs and snaps. This patch keeps the intent of the prior patch, updating the filesystem.packages file for the content of the uefi disk image, but only writes a listing of debian packages to match the expected content of filesystem.packages. The snaps will still be added in generic code in live-build/auto/build. --- debian/changelog | 6 ++++++ live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index bcaede01..8356d174 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +livecd-rootfs (2.574ubuntu1) UNRELEASED; urgency=medium + + * Remove duplicate snap listings in ubuntu-cpc qcow manifest + + -- Robert C Jennings Fri, 29 Mar 2019 15:39:13 -0500 + livecd-rootfs (2.574) disco; urgency=medium * Make serial-subiquity@ use the same codepath as tty1 subiquity. diff --git a/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary b/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary index 7370fb6f..c176de46 100755 --- a/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary +++ b/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary @@ -93,11 +93,14 @@ install_grub() { ;; esac - # This call to generate the package manifest is added here to capture + # This call to rewrite the debian package manifest is added here to capture # grub-efi packages that otherwise would not make it into the base # manifest. filesystem.packages is moved into place via symlinking to # livecd.ubuntu-cpc.manifest by live-build/auto/build after lb_binary runs - create_manifest "mountpoint" "binary/boot/filesystem.packages" + # and at that time snaps are added to the manifest (create-manifest is + # not called here as it calls snap-seed-parse, resulting in duplicate + # snap listings) + chroot mountpoint dpkg-query -W > binary/boot/filesystem.packages chroot mountpoint grub-install "${loop_device}" \ --boot-directory=/boot \