On Wed, Jul 25, 2007 at 09:20:59PM +0200, Nagy Gabor wrote:
So, I think requiredby handling of syncpkgs is correct, this is needed for to-be-removed packages only and that field is correctly copied from pkgcache in sync.c, as I see.
That's not exactly what I meant. I thought we could see pkg2 as required by pkg3, because the new pkg3 version that is going to be installed requires pkg2, while local pkg3 doesn't. That was just an idea, not necessarily a good one, and in any cases, the solution you proposed is most probably much easier to implement.
I think pm_syncpkgt is not efficient: a kernel-list-like structure would be much better, or new .sync member(s) to pm_pkg_t struct (Or in more general: graph-like structures are even better).
I'm not sure I see what's the performance problem with this type, but I'm curious, so could you elaborate a bit ? :) If you see a better way that would also clean up the code, it could be interesting. If it complicates the code a lot, for nearly 0 performance gain (what I did with testdb ;)), then it's probably worthless.