Merge lp:~sil2100/livecd-rootfs/core-series-per-suite into lp:livecd-rootfs

Proposed by Łukasz Zemczak
Status: Merged
Merged at revision: 1704
Proposed branch: lp:~sil2100/livecd-rootfs/core-series-per-suite
Merge into: lp:livecd-rootfs
Diff against target: 34 lines (+16/-0)
2 files modified
debian/changelog (+8/-0)
live-build/auto/config (+8/-0)
To merge this branch: bzr merge lp:~sil2100/livecd-rootfs/core-series-per-suite
Reviewer Review Type Date Requested Status
Steve Langasek Approve
Review via email: mp+356040@code.launchpad.net

Commit message

Decide what model assertion series to fetch depending on the suite. Use 16 for xenial and 18 for other series (bionic+). This enables core18 image builds.

Description of the change

Decide what model assertion series to fetch depending on the suite. Use 16 for xenial and 18 for other series (bionic+). This enables core18 image builds.

The decision to do it per-series comes from actually how cdimage determines what core series to use (with the core_series property). Since cdimage bases it on the distro series, I did the same here. We might think about adding yet another environment variable for this purpose but I would personally not want that. We already have enough parameters we're passing over to livecd-rootfs.

NOTE! It's best not to merge this just yet since apparently there are no official 18 series model assertions in the store yet. I have poked mvo about it.

To post a comment you must log in.
Revision history for this message
Steve Langasek (vorlon) :
review: Needs Information
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

You are right regarding some problems with this approach. I think ubuntu-image should be good-enough in xenial for building images (we'd have to check if the deprecated mkfs.ext4 doesn't mess with the final filesystem too much) as I'm testing build and boot capabilities for amd64 with every release, but livecd-rootfs is completely outdated there. I didn't expect it to be missing even the basic ubuntu-image support.

Currently I see four ways of resolving this:

1) Making sure xenial-generated ubuntu-image images are ok and backporting livecd-rootfs changes for u-i and core series selection to xenial.

2) Switching to a new, separate environment parameter to steer which core series to use.

3) Using a different environment parameter from the existing ones to decide the core series. We could, potentially, use for instance SUBPROJECT. Currently for core images it's not used and maybe core series could somewhat fit that purpose? Hard to say.

4) Ugly but easiest way: deciding that we'll be using bionic for core16 and cosmic+ for core18.

I have prepared an MP for 1) [1], but I somehow suspect that this approach might be a bit troublesome. 2) seems like a bad idea, I remember no one actually wanted a new variable. We've got enough of those already. 3) might be good but this all depends on what uses we have for SUBPROJECT - or maybe there's a different variable we can use?

Lastly, there's 4). It's the easiest as it will not require much changes anywhere. The problem I have with it personally is that it's quite non-intuitive. Like, the binding that bionic -> 16 and cosmic+ -> 18 has no real basis anywhere and someone new, trying to build a new image, might just build the wrong thing.

Personally I'd prefer 3) or 4). What do you think? Which way should we go?

[1] https://code.launchpad.net/~sil2100/livecd-rootfs/xenial-ui-support-and-core-suite/+merge/356150

1706. By Łukasz Zemczak

The model assertions for 18 don't actually use series=18 because that would be too logical.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

So this is now good for review.

One remark: I reached out to the snappy guys since currently the MP wouldn't work for all models. There's a really strange inconsistency with the model names for core 18, i.e.: all 18 model names are prefixed with ubuntu-core-18- now but have the same name basically, so ubuntu-core-18-pi3 etc. But for pc-amd64 and pc-i386 the model names suddenly changed to ubuntu-core-18-amd64 and ubuntu-core-18-i386. We'd have to special-case those if those changes are expected, but to me this is completely unnecessary and stupid.

But besides that, please review.

1707. By Łukasz Zemczak

For the pc model, the name changed so we need to special case it a bit.

Revision history for this message
Steve Langasek (vorlon) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2018-09-27 22:22:13 +0000
3+++ debian/changelog 2018-10-11 15:13:01 +0000
4@@ -1,3 +1,11 @@
5+livecd-rootfs (2.542) UNRELEASED; urgency=medium
6+
7+ * Decide what model assertion series to fetch depending on the suite. Use 16
8+ for xenial and 18 for other series (bionic+). This enables core18 image
9+ builds.
10+
11+ -- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Wed, 03 Oct 2018 11:51:59 +0200
12+
13 livecd-rootfs (2.541) cosmic; urgency=medium
14
15 [ Michael Hudson-Doyle ]
16
17=== modified file 'live-build/auto/config'
18--- live-build/auto/config 2018-09-27 16:36:01 +0000
19+++ live-build/auto/config 2018-10-11 15:13:01 +0000
20@@ -185,6 +185,14 @@
21 *)
22 UBUNTU_IMAGE_ARGS="" ;;
23 esac
24+ case $SUITE in
25+ xenial)
26+ # Ubuntu Core 16
27+ ;;
28+ *)
29+ # Ubuntu Core 18
30+ MODEL="ubuntu-core-18-${MODEL#pc-}" ;;
31+ esac
32
33 echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
34 echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common

Subscribers

People subscribed via source and target branches