On Friday 09 December 2005 04:03, Zac Medico wrote: > Jason Stubbs wrote: > > On Thursday 08 December 2005 16:44, Zac Medico wrote: > >>The middle hunk fixes a problem with block atoms that do not match any > >>packages. Previously, these atoms would not make it into the okay_atoms > >> set which caused unresolved dependencies. > > > > Are you sure about this? > > Well, I'm pretty sure. You're analysis seems to be perfectly correct except > for 2 points that you haven't accounted for: > > 1) The atom.key != child.key optimization prevents the atom.match(child) ^ > atom.blocks bit from working in the case that my patch handles (block atom > that does not match any package). > > 2) Without the atom.key != child.key optimization, the original algorithm > would bail out early, before all packages have been checked. We need to > ensure that the atom does not block _any_ of the packages before we add it > to okay_atoms, otherwise, we risk choosing the wrong atomset/combination. > Note that checking all the packages _does_ introduce a performance penalty > for block atoms.
Damn optimizations. :| Both points are correct. -- Jason Stubbs -- gentoo-portage-dev@gentoo.org mailing list