Restore the ability to produce core16 images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
livecd-rootfs (Ubuntu) |
Fix Released
|
High
|
Łukasz Zemczak | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Ubuntu Core is an all-snap Ubuntu variant that we are building through cdimage. In the past there was only one core series, 16, and all the images we were building were based on that series. Thanks to that all the support for building ubuntu-core images in livecd-rootfs through ubuntu-image was only needed in later series, as all were build using devel. Currently we have two different ubuntu-core image sets based of different bases: core16 and core18 images. As a convention, we have decided that cdimage (and or other components) will be building ubuntu-core images based of the suite that the build is being run for. Since core16 is based on xenial and core18 on bionic, we have decided the following scheme:
* Suite: xenial -> ubuntu-core 16 image
* Suite: bionic or later -> ubuntu-core 18 image
For this to work, we need to have all the needed changes in xenial and bionic. livecd-rootfs on xenial is missing all the ubuntu-image build-enablement changes, so these need to be backported. Besides that, both xenial and bionic need to get backports of the per-distro-series core-series selection.
Without these fixes in xenial, no ubuntu-core 16 images can be built anymore. This is needed in case we'd have need for any security-
[Test Case]
For xenial:
* On a xenial system install latest xenial-proposed livecd-rootfs
* Create a temporary directory and cd into it
* Copy the /usr/share/
* sudo PROJECT=ubuntu-core SUITE=xenial ARCH=amd64 PROPOSED=0 IMAGEFORMAT=
-> Make sure that the configured model assertion is for core16
* sudo PROJECT=ubuntu-core SUITE=xenial ARCH=amd64 PROPOSED=0 IMAGEFORMAT=
-> Make sure the build runs and finishes correctly
* Boot test the newly created image with kvm
-> Make sure the image is still bootable
Also, since we are basically starting to use ubuntu-image with this xenial upload of livecd-rootfs (which was in universe for this series), we need to make sure the package is still installable with just main enabled.
* On a clean chroot (without livecd-rootfs or any of its dependencies installed)
* Modify sources.list to only have main enabled
* sudo apt update
* sudo apt install livecd-rootfs
-> Make sure the package and its dependencies install correctly
[Regression Potential]
As part of the backport only new code is added - code that is executed in certain code paths only. Most regressions might appear in the ubuntu-core image generation, which was not available for xenial. But in case the code has been added in the wrong way, potentially this might result in livecd-rootfs not being able to generate proper classic images anymore. A run of lb config and lb build for a non ubuntu-image project is recommended.
Related branches
- Steve Langasek: Approve
- Mathieu Trudel-Lapierre: Needs Information
-
Diff: 140 lines (+82/-3)4 files modifieddebian/changelog (+10/-0)
debian/control (+2/-0)
live-build/auto/build (+22/-3)
live-build/auto/config (+48/-0)
Changed in livecd-rootfs (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in livecd-rootfs (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in livecd-rootfs (Ubuntu Bionic): | |
status: | New → Confirmed |
description: | updated |
description: | updated |
The xenial SRU will require an MIR for ubuntu-image, as it's still in universe in that suite.
A lot of build-dependencies of ubuntu-image are in universe, but since those are only build-deps it should not matter. As for binary dependencies, we have these:
* python3-parted binary and source package is in universe
* python3-voluptuous is in universe, but its source voluptuous is already in main; file an ubuntu-archive bug for promoting the current preferred alternative
The python3-voluptuous binary needs to be promoted to main and we'll have to fill in an MIR of pyparted. pyparted has no universe dependencies and has already been promoted to main in all the later series.