On Tue, 2007-10-09 at 16:00 -0600, Orion Poplawski wrote: > On my test system, a minimal devel compose using pungi takes 85:25s, > 62:29s of which is spent in upd-instroot building the minstg2.img and > stage2.img trees. The attached patch set speeds things up a lot. The > changes are split into the following patches: Awesome.. I'll take a close look tomorrow, but this is definitely something that's needed looking into and there just haven't been enough hours in the day. > anaconda-time.patch > - Adds some timestamps to the output. Obviously safe enough > anaconda-nocpio.patch: > - Remove and old, unneeded duplication of the file lists adding "./" to > the paths. We no longer use cpio to copy files, so this just slows us > down (a lot). Indeed. Although I'm surprised it makes a big difference > anaconda-yumdir.patch: > - Re-uses the yum installed source tree of the minimal install for the > graphical install - saving the re-installation of the base packages. This is one I've been meaning to get to for a while and just haven't had the round 'tuits. Quick glance looks good, but I'll look again in the morning when I can test it out too > - Make some sub-directories yum was complaining about not being able to > access. > > anaconda-ldso.patch: > - This doesn't actually work yet, but it tries to do the following: > - Fixes the code to find and install shared library dependencies > - removes those libraries from being explicitly listed in the file lists. > - Other list cleanup > - This might actually slow us back down, but it does fix what appears to > have been completely broken and makes adding new binaries easier. Woohoo! Someone else sat down to do this :-) I noticed it was broken right before test2, but we needed to get the test release out the door and I said "I'll get back to it afterwards". Which, of course, I haven't. If you get this, I definitely owe you beer. > Does this seem useful? If not, it might be best to just rip it out of > upd-instroot altogether. > > anaconda-find.patch: > - If a file spec does not use wildcards (?, [], or *), just deal with > the single item (don't use find). > - If a file spec uses wildcards, find the directory we are searching and > just search that path rather than the whole source image. Also looks good, though again needs a not late night look. > anaconda-noscripts.patch: > - Use "tsflags=nodocs noscripts notriggers" to avoid extra rpm > transactions. This one I'm less sure about -- I'd like to actually be able to get rid of a lot of the other junk in upd-instroot that duplicates the working being done by package scriptlets. While it might cost us in build time, the savings in maintenance seem like they're worth it. Jeremy