Sunday 21 May 2023

Re: incoming change to task handling in livecd-rootfs in mantic

On Fri, 19 May 2023 at 22:38, Iain Lane <laney@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@orangesquash.org.uk ]
Debian Developer                                   [ laney@debian.org ]
Ubuntu Developer                                   [ laney@ubuntu.com ]
--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel