Generate HyperV Image Gallery Builds in Bionic and Disco

Bug #1837088 reported by David Krauser on 2019-07-18
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
livecd-rootfs (Ubuntu)
High
Unassigned
Bionic
High
Unassigned
Disco
High
Unassigned

Bug Description

[Overview]

We can generate HyperV Image Gallery builds for Eoan images with livecd-rootfs, but not for Bionic and Disco. These images are necessary for users to install Ubuntu on their Windows machines from the HyperV Image Gallery:

https://ubuntu.com/blog/optimised-ubuntu-desktop-images-available-in-microsoft-hyper-v-gallery

To support this, three commits need to be backported from ubuntu/master to ubuntu/disco and ubuntu/bionic:

https://git.launchpad.net/livecd-rootfs/commit/?id=0e3b1e206b8ac24e22b49b40a0de1e16e3d412dd
https://git.launchpad.net/livecd-rootfs/commit/?id=124d07410161427222c002bec023b7d2ca03a465
https://git.launchpad.net/livecd-rootfs/commit/?id=5a2b49950af9bf407b333363ea6a5488500fbcc4

[Test Case]

These images can be built with the livecd-roottfs ubuntu/master branch by specifying the ubuntu project and the desktop-preinstalled subproject.

For example (using the ubuntu-bartender helper script in ubuntu-old-fashioned [1]):

ubuntu-old-fashioned/scripts/ubuntu-bartender/ubuntu-bartender -- --series eoan --project ubuntu --subproject desktop-preinstalled

When backported, it's expected that these images can be built for both disco and bionic with the same parameters specified:

ubuntu-old-fashioned/scripts/ubuntu-bartender/ubuntu-disco-bartender -- --project ubuntu --subproject desktop-preinstalled

ubuntu-old-fashioned/scripts/ubuntu-bartender/ubuntu-bionic-bartender -- --project ubuntu --subproject desktop-preinstalled

1: https://github.com/chrisglass/ubuntu-old-fashioned

[Regression Potential]

The binary hook used to create the HyperV image is isolated and shouldn't affect other image builds; however, that hook depends on a symbolic link to a hook in the ubuntu-cpc project. There's a possibility of future breakage if the ubuntu-cpc project hook is modified without taking into account its use in multiple places.

To enable the use of a symbolic link, some logic was changed in the live-build configuration script. Previously, all files were copied over as-is. Now, symbolic links in hook directories are dereferenced and turned into regular files. In practice, this should only have an affect on two files, and that affect should be safe:

livecd-rootfs $ find . -type l -print | grep hooks
./live-build/ubuntu/hooks/033-disk-image-uefi.binary
./live-build/ubuntu-cpc/hooks.d/base/series/all

This may cause undesired behavior for other users of livecd-rootfs, though, that inject symbolic links into their hooks directory.

Related branches

tags: added: id-5d2c8bb9ad70f8685502434c
Changed in livecd-rootfs (Ubuntu):
importance: Undecided → High
Changed in livecd-rootfs (Ubuntu Bionic):
importance: Undecided → High
Changed in livecd-rootfs (Ubuntu Disco):
importance: Undecided → High
Changed in livecd-rootfs (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers