CVS commit by mornfall: Reworked the libcapture/pkgcache.cpp priority-computing algorithm substantially. It now uses a multi-agent system, where the system rebalances itself after a change (that introduces instability). The nodes are individual packages, the agents are simple, reactive: when run, they compute their priorities and when the result is different than the old priority, they notify their neighbours. Still not perfect, but work is underway to improve it. Thanks go to Kevin Ottens for help with underlying theory and for ideas with implementation.
Also fixed the pkgnodeview, so you can actually try out the new code. Checking a package for installation will change the status of all needed (depended-upon) packages to "will install". Try it! However, unchecking the item again won't un-mark all the packages, as it should, but this is a known bug. M +1 -1 TODO 1.12 M +1 -0 kapture/kapture.cpp 1.7 M +5 -4 libcapture/pkgcache-test.cpp 1.6 M +368 -173 libcapture/pkgcache.cpp 1.5 M +44 -11 libcapture/pkgcache.h 1.6 M +4 -1 libcapture/pkgmanager.cpp 1.9 M +22 -7 libkapture/pkgnodeview.cpp 1.5 M +1 -1 part/kapture_part.cpp 1.3