On Mon, May 22, 2023 at 01:04:51PM +1200, Michael Hudson-Doyle wrote: > 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?) It does not. Indeed, several of the recent seed changes made while landing this were to fix the fact that germinate from livecd-rootfs (though not when run on the archive) was seeding two conflicting implementations one of which satisfies all the dependencies. (Actually this was a virtual package rather than an alternative, but AFAIK it doesn't do anything clever with alternatives either!) I would expect feeding the list directly to apt rather than using germinate would result in some further changes to the exact packages included, which would then need to be examined to confirm they're what we want, since there are often multiple ways to resolve a seed. There's also the fact that you'd be reimplementing germinate's own parsing of the seeds and resolution of seed dependencies, so I'm not sure it's worth it? (One thing that would be nice, in addition to dropping the time-consuming use of germinate at runtime, would be that today germinate silently ignores listed packages that are unavailable, whereas apt would enforce correctness of the list...) > ((Clearly we need something like germinate to generate the component > mismatches reports. But maybe not at image build time?)) That's already run on ubuntu-archive-toolbox independently of the image builds, so would continue to do so. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: PGP signature
-- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel