incoming change to task handling in livecd-rootfs in mantic

Michael Hudson-Doyle michael.hudson at canonical.com
Mon May 22 01:04:51 UTC 2023


On Fri, 19 May 2023 at 22:38, Iain Lane <laney at ubuntu.com> wrote:

> On Fri, May 19, 2023 at 09:05:28PM +1200, Michael Hudson-Doyle wrote:
> > After a few rounds of fixups, this change passed all tests and has now
> > migrated to release, so the next round of mantic image builds will be
> built
> > with it. Let me know if you see anything strange in them!
>
> Really nice, great work. This has been long overdue, glad it finally got
> sorted out.
>

Thanks! I think it makes things a bit saner.


> Although the backslash line was one of my favourite lines of code in the
> archive and I'll be sad to see it go. :-)
>

Heh yes. At least version control will preserve it for future generations...

I was reminded of
>
>   https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1921862
>
> When reading this thread. tl;dr is that it's not (was not at the time)
> possible to seed new packages post-release because germinate isn't being
> run for -updates in the publisher so the newly-seeded packages don't get
> Task headers. Would that be any more possible to achieve now? (For
> seeding only: *un*seeding is more gnarly, it involves knowing how to
> have -updates override release.)
>

Modulo what Steve said I think this mostly fixed now, to the extent that
additions and removals to seeds will just be reflected in the next image
build.

The gap we have is that if a seeded package has different dependencies in
different pockets, that might not get picked up. But this seems a touch
edge casey.

Thinking about this a bit more... what is germinate actually for in this
context? :-)

The way packages from a seed end up in an image goes like this at the
moment:

1. it is listed in the seed
2. germinate runs and puts the package and all its dependencies into a text
file
3. live-build reads this text file and uses apt to install the packages
(4. we run mimimize-manual at some point so removing a seeded package and
running autoremove does something useful)

The thing about this is, *apt* obviously knows how to find the dependencies
of a package. Why don't we just shove the packages listed into the seed
straight into the file live-build reads?

(I suppose one answer might be to do with alternatives handling? cf
https://imgflip.com/i/7mmgcz -- does germinate do anything clever to
satisfy alternatives with a minimal number of extra packages or anything
like that?)

((Clearly we need something like germinate to generate the component
mismatches reports. But maybe not at image build time?))

Cheers,
mwh

Cheers!
>
> --
> Iain Lane                                  [ iain at orangesquash.org.uk ]
> Debian Developer                                   [ laney at debian.org ]
> Ubuntu Developer                                   [ laney at ubuntu.com ]
> --
> ubuntu-devel mailing list
> ubuntu-devel at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20230522/cbc79f6d/attachment.html>


More information about the ubuntu-devel mailing list