If you don't understand most of this message, don't worry. This is a summary of what's going on in pkg_add, and it requires some familiarity with the pkg_add internals to fully get it....
while making things more dynamic, I've run into some performance snags, so I had to revisit conflict handling and dependency solving. As a result, sets are smarter and keep some more information around. The whole idea was to be able to do things correctly for forward dependencies: discover some packages are "tied" to other stuff, and merge UpdateSets so that things could be updated in one go (for instance, generally, postgresql-client and server must be updated together). Thanks to Antoine Jacoutot, this got a whole lot more complicated: the fam -> libgamin change triggered some HUGE UpdateSets merging, together with some unforeseen dependency loops. My mutant pkg_add can deal with that, but it's still a bit slow (though not glacial slow, as it used to be). It ends up figuring out a minimal UpdateSet containing no less than 60 packages that need to be updated together... This will probably become an option for pkg_add, maybe the default option, with -F updatedepends only there for when you really need it (like when you're building ports yourself, and thus do not have all the updated packages yet). There are a lot more improvements to come. - there's a bug wrt .libs handling. I hope to fix that today. If you end up seeing ForwardDependencies::adjust saying it can't call pkgname, you hit the bug (I just need to look at .libs in UpdateSet->older and figure out a valid update pattern for them...) - there are some more scenarios to caching I haven't tested. Thus, the Solver object is still doing too much work in at least some cases. - stuff that doesn't need reinstalling currently corrupts a whole UpdateSet. Instead of refusing to reinstall, I should just move the handle from old/new to kept, and keep doing things with the rest of the set. - I should finally revisit how updates are done, so that packages have full signatures, and so that I don't close ftp connections when I can avoid to.